o ssh do msysgit não exibe cores

6

Estou usando o Console 2 para abrir shell do Bash do msysgit no Windows. Quando eu ssh para um servidor (um servidor SLES ou RHLE) e faço um ls ou uso vi eu não obtenho nenhuma cor. No entanto, as cores funcionam corretamente se eu usar PuTTY . Eu não fiz nenhuma personalização de cores no Console 2, Bash ou PuTTY, e as cores nos servidores (que eu saiba) não foram alteradas.

Depois de ler iTerm2 perde as cores “ls” se eu ssh para um servidor Eu tentei ls --color=always e isso mostra algumas cores, mas não todas elas. Ele mostra as cores executável e pasta (verde e azul, respectivamente, no meu caso), mas não arquivos zip (deve ser vermelho no meu caso). Novamente, o PuTTY mostra isso corretamente.

O uso de um monte de comandos em que eu quero cores não é uma solução viável para mim, pois acesso regularmente dezenas de servidores diferentes e interage com a maneira como os outros administradores usam esses servidores.

Alguma idéia?

    
por Community 25.01.2013 / 01:53

2 respostas

3

Eu acredito que você está procurando pela variável de ambiente LS_COLORS. Este artigo tem um bom artigo: link

    
por 28.01.2013 / 19:56
3

O Console2 é um emulador de console "real", mas o PuTTY executa aplicativos por meio de canais.

Isso significa que, quando o ssh detecta "nenhuma janela do console" (pipes), ele passa a usar seqüências de escape ANSI para exibir cores. Mas o console padrão do Windows não suporta escapes, é por isso que quando o ssh o detecta (e o Console2) pensa que o ANSI não está disponível e muda para o uso da API do win32, cuja implementação, acredito, é muito ruim.

Eu conheço duas ferramentas que trazem ANSI para o console do Windows - ANSICON e meu próprio ConEmu , mas o msys não sabe sobre eles e não consegue detectar o recurso ANSI.

No entanto, tenho alguns pensamentos sobre isso - como enganar certos aplicativos que eles estão executando no pipe terminal (PTY).

    
por 25.01.2013 / 07:41