Farben in ssh-Verbindung

16444
Adam Matan

Ich habe ein buntes Bash-Terminal (z. B. ls und vim zeigen Farben, wenn dies konfiguriert ist).

Wie kann ich diese Farben beim Verbinden mit einem Remote-Server über SSH haben?

7

2 Antworten auf die Frage

3
Jeremy Ninnes

Mit einer Kombination aus https://unix.stackexchange.com/questions/9883/how-can-i-run-a-script-sofort-nach-connection-via-ssh und der Antwort von Nik können Sie Folgendes tun:

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

Dadurch werden Ihre Profilskripts beim Anmelden ausgeführt und dann eine Bash-Shell geöffnet. In Ihren Profilskripts werden die Farben definiert.

Oder fügen Sie Ihrer ~/.ssh/configDatei zur Vereinfachung Folgendes hinzu :

Host * LocalCommand . /etc/profile; . ~/.profile; /bin/bash 
2
nik

Lesen Sie den Unterabschnitt dircolors.sh aus dem Buch "Beyond Linux From Scratch":

Dieses Skript verwendet die Dateien ~/.dircolorsund /etc/dircolors, um die Farben der Dateinamen in einer Verzeichnisliste zu steuern. Sie steuern die farbige Ausgabe von Dingen wie ls - color . Die Erklärung zum Initialisieren dieser Dateien finden Sie am Ende dieses Abschnitts.

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 
Kannst du deine Antwort etwas erweitern? Die Frage hat 2.800 Ansichten - es wäre großartig, etwas mehr Kontext hinzuzufügen. slhck vor 12 Jahren 9
Fedora 20 enthält auch ein Skript [colorls.sh] (http://pkgs.fedoraproject.org/cgit/coreutils.git/tree/coreutils-colorls.sh?h=f20). Cristian Ciupitu vor 10 Jahren 0