Кольори в ssh-з'єднанні


8

У мене є барвистий термінал bash (наприклад, ls та vim показують кольори, коли вони налаштовані на це).

Як я можу мати ці кольори під час підключення до віддаленого сервера через ssh?

Відповіді:


3

Прочитайте підрозділ dircolors.sh з книги "Більше Linux від нуля":

Цей скрипт використовує файли ~/.dircolorsта /etc/dircolorsдля керування кольорами імен файлів у списку каталогів. Вони контролюють кольоровий вихід таких речей, як ls --кольоровий колір . Пояснення, як ініціалізувати ці файли, знаходиться в кінці цього розділу.

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
Чи можете ви трохи розширити свою відповідь? Питання має 2800 переглядів - було б здорово додати трохи більше контексту.
slhck

Fedora 20 також поставляється із сценарієм colorls.sh .
Крістіан Цюпіту

3

За допомогою комбінації /unix/9883/how-can-i-run-a-script-immediate-after-connecting-via-ssh та відповіді nik ви можете:

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

Це виконає ваші сценарії профілю під час входу, а потім відкриє bash shell. Ваші сценарії профілю - там, де визначені кольори.

Або для максимальної зручності додайте у ~/.ssh/configфайл наступне :

Host *
  LocalCommand . /etc/profile; . ~/.profile; /bin/bash
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.