Quando eu conecto o ssh a hosts remotos, tudo é apenas uma única fonte / cor. Eu gostaria de ter cores como localmente, por exemplo, verde para executável e azul para links simbólicos etc. E assim, quando executo $ git diff no host ssh, ele mostra diff com colors =)
command-line
ssh
Dima
fonte
fonte
Respostas:
Por ser o xterm no servidor, achei que havia algo errado com
.bashrc
E realmente!
ls --color=auto
funciona apenas quando você está conectado ao TTY. Mudando tudo simplesmente--color
em.bashrc
no host remoto e tudo está em cores bonitas agora.fonte
Isso funcionou para mim:
-t
foi a chave. Explicado .fonte
su -
no prompt de conexão sshParece que as cores já foram definidas
~/.bashrc
para mim e o problema é que o ssh não usa o arquivo bashrc. Você pode usar o bashrc na sua sessão ssh adicionando o seguinte a~/.bash_profile
:fonte
Qual é o conteúdo da sua variável de ambiente XTERM no servidor quando você se conecta a ela?
fonte
No meu caso, a parte que faltava era ter ls, grep etc. coloridos, que podem ser adicionados adicionando aliases ao arquivo .bashrc:
etc.
fonte
Tentei alterar as
~./bashrc
configurações (no servidor local e remoto), mas não parecia funcionar.Então notei que
~/.bashrc
o servidor remoto nem mesmo é executado se eu conectar a ele através do ssh. Então eu criei um servidor remoto~/.bashrc
para executar colocandoif [ -f ~/.bashrc ]; then . ~/.bashrc fi
em servidores remotos~/.bash_profile
. (com base em https://stackoverflow.com/questions/820517/bashrc-at-ssh-login ).Portanto, essa solução não exigiu a alteração
~/bashrc
direta de nenhum arquivo, mas a alteração do~/bash_profile
arquivo do servidor remoto para que o~/bashrc
arquivo do servidor remoto fosse executado.fonte
.profile
e não.bash_profile
por padrão, e o padrão.profile
é fonte.bashrc
..profile
executado por padrão ao efetuar login através do ssh?.bash_profile
, o bash é executado.profile
quando iniciado como um shell de login. E o SSH inicia o bash como um shell de login.~/.profile
não seja lido se~/.bash_profile
existir. Mas não~/.bash_profile
existe no Ubuntu por padrão?.profile
.Como as cores funcionaram bem enquanto efetuavam login diretamente, apenas descomentei a linha
force_color_prompt=yes
do arquivo~/.bashrc
, o que também me deu cores sobre ssh:(Ubuntu 18.04 LTS)
fonte
Na minha situação, eu instalei recentemente
chef-local
e ele me pediu para adicionar uma linha ao.bash_profile
. Quando inicio sessão,.bashrc
nunca carrega mais, porque viu.bash_profile
.O que fiz foi adicionar uma linha em
.bash_profile
:Eu saí e voltei e peguei meu terminal colorido imediatamente.
fonte
Há um comentário de "Mike E" acima que continha a resposta para mim, mas não é apenas difícil de ler, é meio difícil descobrir o que ele quer dizer se você não usa
.bashrc
muito - e eu não ' t.Depois de me mexer um pouco, obtive os resultados desejados alterando as seguintes linhas na
~/.bashrc
máquina na qual estava efetuando login com o ssh:para:
Eu estou pensando que eu poderia ter adicionado "| xterm" após "color" na primeira linha, ou procurado e descoberto por que o ssh estava usando "xterm" em vez de "xterm-color" e mudado isso, mas isso funciona e eu tem outras coisas para fazer agora.
fonte
Eu estava perdendo a cor ao me conectar via proxy porque
TERM=dumb
a corrigi:fonte