Kolory w połączeniu ssh

8

Mam kolorowy terminal bash (np. Ls i vim pokazują kolory, gdy skonfigurowałem to do tego).

Jak mogę uzyskać te kolory podczas łączenia się ze zdalnym serwerem przez ssh?

Adam Matan
źródło

Odpowiedzi:

3

Przeczytaj podrozdział dircolors.sh z książki „Beyond Linux From Scratch”:

Ten skrypt używa plików ~/.dircolorsi /etc/dircolorsdo kontrolowania kolorów nazw plików na liście katalogów. Kontrolują pokolorowane wyjście takich rzeczy jak ls --color . Wyjaśnienie, jak zainicjować te pliki znajduje się na końcu tej sekcji.

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
źródło
9
Czy możesz trochę rozszerzyć swoją odpowiedź? Pytanie ma 2800 wyświetleń - świetnie byłoby dodać trochę więcej kontekstu.
slhck
Fedora 20 zawiera również skrypt colorls.sh .
Cristian Ciupitu
3

Korzystając z kombinacji /unix/9883/how-can-i-run-a-script-immed--terterconnecting-via-ssh i odpowiedzi Nicka możesz:

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

Spowoduje to wykonanie skryptów profilu podczas logowania, a następnie otworzy powłokę bash. Skrypty profilowe są tam, gdzie zdefiniowane są kolory.

Lub, dla maksymalnej wygody, dodaj do ~/.ssh/configpliku:

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
Jeremy Ninnes
źródło