Warna dalam koneksi ssh

8

Saya memiliki terminal bash yang berwarna-warni (mis. Ls dan vim menampilkan warna saat dikonfigurasikan untuk melakukannya).

Bagaimana saya bisa memiliki warna-warna ini ketika menghubungkan ke server jauh melalui ssh?

Adam Matan
sumber

Jawaban:

3

Baca ayat dircolors.sh dari buku "Beyond Linux From Scratch":

Script ini menggunakan ~/.dircolorsdan /etc/dircolorsfile untuk mengontrol warna nama file dalam daftar direktori. Mereka mengontrol keluaran berwarna hal-hal seperti ls --color . Penjelasan tentang bagaimana menginisialisasi file-file ini ada di akhir bagian ini.

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
sumber
9
Bisakah Anda sedikit memperluas jawaban? Pertanyaannya memiliki 2.800 tampilan - akan sangat bagus untuk menambahkan sedikit lebih banyak konteks
slhck
Fedora 20 juga dilengkapi dengan skrip colorls.sh .
Cristian Ciupitu
3

Menggunakan kombinasi /unix/9883/how-can-i-run-a-script-immediately-after-connecting-via-ssh dan jawaban nik yang dapat Anda lakukan:

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

Ini akan mengeksekusi skrip profil Anda saat masuk, lalu membuka bash shell. Skrip profil Anda adalah tempat warna ditentukan.

Atau, untuk kenyamanan maksimal, tambahkan yang berikut ke ~/.ssh/configfile Anda :

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