Colores en conexión ssh

8

Tengo un terminal bash colorido (p. Ej., Ls y vim muestran colores cuando está configurado para hacerlo).

¿Cómo puedo tener estos colores cuando me conecto a un servidor remoto a través de ssh?

Adam Matan
fuente

Respuestas:

3

Lea la subsección dircolors.sh del libro "Beyond Linux From Scratch":

Este script usa los archivos ~/.dircolorsy /etc/dircolorspara controlar los colores de los nombres de archivo en una lista de directorios. Controlan la salida coloreada de cosas como ls --color . La explicación de cómo inicializar estos archivos se encuentra al final de esta sección.

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
fuente
99
¿Puedes ampliar un poco tu respuesta? La pregunta tiene 2.800 visitas, sería genial agregar un poco más de contexto.
slhck
Fedora 20 también viene con un script colorls.sh .
Cristian Ciupitu
3

Usando una combinación de /unix/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh y la respuesta de nik puede hacer:

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

Esto ejecutará sus scripts de perfil al iniciar sesión, luego abrirá un shell bash. Las secuencias de comandos de su perfil son donde se definen los colores.

O, para la máxima comodidad, agregue lo siguiente a su ~/.ssh/configarchivo:

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