Cores na conexão ssh

8

Eu tenho um terminal colorido do bash (por exemplo, ls e vim mostram cores quando configurados para isso).

Como posso ter essas cores ao me conectar a um servidor remoto via ssh?

Adam Matan
fonte

Respostas:

3

Leia a subseção dircolors.sh do livro "Beyond Linux From Scratch":

Esse script usa os arquivos ~/.dircolorse /etc/dircolorspara controlar as cores dos nomes de arquivos em uma lista de diretórios. Eles controlam a saída colorida de coisas como ls --color . A explicação de como inicializar esses arquivos está no final desta seção.

cat > /etc/profile.d/dircolors.sh << "EOF"
# Setup for /bin/ls and /bin/grep to support color, the alias is in /etc/bashrc.
if [ -f "/etc/dircolors" ] ; then
        eval $(dircolors -b /etc/dircolors)

        if [ -f "$HOME/.dircolors" ] ; then
                eval $(dircolors -b $HOME/.dircolors)
        fi
fi
alias ls='ls --color=auto'
alias grep='grep --color=auto'
EOF
nik
fonte
9
Você pode expandir um pouco sua resposta? A pergunta tem 2.800 visualizações - seria ótimo adicionar um pouco mais de contexto.
slhck
O Fedora 20 também vem com um script colorls.sh .
Cristian Ciupitu
3

Usando uma combinação de /unix/9883/how-can-i-run-a-script-immedately-after-connecting-via-ssh e a resposta da nik, você pode fazer:

ssh host.example.com -t '. /etc/profile; . ~/.profile; /bin/bash'

Isso executará seus scripts de perfil no login e abrirá um shell bash. Seus scripts de perfil são onde as cores são definidas.

Ou, para maior comodidade, adicione o seguinte ao seu ~/.ssh/configarquivo:

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
Jeremy Ninnes
fonte