Colors na conexão ssh

7

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

Como posso ter essas cores quando conecto a um servidor remoto via ssh?

    
por Adam Matan 11.08.2009 / 13:01

2 respostas

2

Leia o dircolors.sh subseção do livro "Além do Linux do Scratch":

This script uses the ~/.dircolors and /etc/dircolors files to control the colors of file names in a directory listing. They control colorized output of things like ls --color. The explanation of how to initialize these files is at the end of this section.

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
    
por 11.08.2009 / 13:32
3

Usando uma combinação de link e a resposta de nik que você pode fazer:

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

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

Ou, para maior conveniência, adicione o seguinte ao seu arquivo ~/.ssh/config :

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
    
por 30.05.2014 / 04:04