ssh do msysgit não exibe cores

6

estou a usar Consola 2 almoçar msysgit 's Bash shell no Windows. Quando eu ssh para um servidor (um servidor SLES ou RHEL) e fazer um ls ou usar vi Eu não tenho cores. 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 cores "ls" se eu ssh para um servidor eu tentei ls --color=always e isso exibe 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 exibe estes corretamente.

Aliasing um monte de comandos onde eu quero cor não é uma solução viável para mim porque eu regularmente acessar dezenas de servidores diferentes e que interage com a forma como outros administradores estão usando esses servidores.

Alguma ideia?

Community
fonte
verifique o que 'echo $ TERM' retorna quando você efetua login do Console 2 / putty. É possível que o seu bashrc ou vimrc esteja configurado para ativar apenas as cores nos terminais que definitivamente suportam. Ou seja, no Arch Linux você tem que adicionar manualmente 'screen' como um tipo de terminal para que a tela tenha cores. Além disso, para o aliasing, você pode fazê-lo em seu bashrc pessoal (~ / .bashrc) e isso afetará apenas você e não outros administradores.
Justin
Relatórios do console 2 cygwin enquanto relatórios PuTTY xterm. Infelizmente, uso uma conta de administrador compartilhada nesses servidores para não ter meu próprio .bashrc Arquivo.
Isso está chegando mais perto. eu posso fazer TERM=xterm ssh my.awesome.server -l username e eu pego minhas cores usando ls novamente. vi completamente quebra usando essa configuração embora.

Respostas:

3

Eu acredito que você está procurando pela variável de ambiente LS_COLORS. Este artigo tem um bom artigo: http://www.bigsoft.co.uk/blog/index.php/2008/04/11/configuring-ls_colors

Jeremy Fujimoto-Johnson
fonte
Isso definitivamente corrige as cores ls. Estranhamente, algo que eu mudei causou vi para começar a exibir cores (ou eu estava alucinando quando achei que não estava funcionando).
3

O Console2 é um emulador de console "real", mas o PuTTY executa aplicativos via pipes.

Isso significa que, quando o ssh detecta "no console window" (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 trazendo ANSI para o console do Windows - ANSICON e meu próprio ConEmu , mas msys não sabe sobre eles e falha para detectar o recurso ANSI.

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

Maximus
fonte