Colori in connessione ssh


8

Ho un terminale colorato bash (es. Ls e vim show colors quando configurato per farlo).

Come posso avere questi colori quando mi connetto a un server remoto tramite ssh?

Risposte:


3

Leggi la sottosezione dircolors.sh dal libro "Beyond Linux From Scratch":

Questo script utilizza i file ~/.dircolorse /etc/dircolorsper controllare i colori dei nomi dei file in un elenco di directory. Controllano l'output colorato di cose come ls --color . La spiegazione di come inizializzare questi file è alla fine di questa sezione.

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

9
Puoi espandere leggermente la tua risposta? La domanda ha 2.800 visualizzazioni - sarebbe bello aggiungere un po 'più di contesto.
slhck,

Fedora 20 include anche uno script colorls.sh .
Cristian Ciupitu,

3

Utilizzando una combinazione di /unix/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh e la risposta di nik puoi fare:

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

Questo eseguirà gli script del tuo profilo all'accesso, quindi aprirà una shell bash. Gli script del tuo profilo sono dove sono definiti i colori.

Oppure, per la massima praticità, aggiungere quanto segue al ~/.ssh/configfile:

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.