Ich habe ein farbenfrohes Bash-Terminal (z. B. ls und vim zeigen Farben, wenn sie dafür konfiguriert sind).
Wie kann ich diese Farben haben, wenn ich über ssh eine Verbindung zu einem Remote-Server herstelle?
Ich habe ein farbenfrohes Bash-Terminal (z. B. ls und vim zeigen Farben, wenn sie dafür konfiguriert sind).
Wie kann ich diese Farben haben, wenn ich über ssh eine Verbindung zu einem Remote-Server herstelle?
Antworten:
Lesen Sie den Unterabschnitt dircolors.sh aus dem Buch "Beyond Linux From Scratch":
Dieses Skript verwendet die Dateien
~/.dircolors
und/etc/dircolors
, um die Farben der Dateinamen in einer Verzeichnisliste zu steuern. Sie steuern die kolorierte 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
Mit einer Kombination aus /unix/9883/how-can-i-run-a-script-immediate-after-connecting-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 Profilskripte beim Anmelden ausgeführt und anschließend eine Bash-Shell geöffnet. In Ihren Profilskripten werden die Farben definiert.
Oder fügen Sie Ihrer ~/.ssh/config
Datei für maximalen Komfort Folgendes hinzu :
Host *
LocalCommand . /etc/profile; . ~/.profile; /bin/bash