Ich habe meine Dotfiles auf Github (schamlose Gabelung der guten Arbeit anderer Leute) versioniert . Bei der Arbeit habe ich sie auf einem zentralen Linux-Server (SuSE Enterprise Linux 10). Ich synchronisiere sie von einem zentralen Verwaltungsserver mit Zielservern (sie haben oft keinen externen http-Zugriff).
Wir haben SuSE Enterprise Linux 11 eingeführt und ich stelle fest, dass auf diesen Servern "rote" oder magentafarbene Bash-Eingabeaufforderungsfarben aus meinen Profileinstellungen nicht funktionieren. In ähnlicher Weise funktionieren meine vim-Farbschemaeinstellungen nicht - zum Beispiel verschwindet das Wort anstelle der Hervorhebung von Suchbegriffen. Rot- und Gelbtöne werden nicht geehrt.
Kann mich jemand auf eine Umgebung oder Einstellung hinweisen, die bei diesen SLES 11-Boxen möglicherweise anders ist? Unten finden Sie Screenshots meiner SLES10- und SLES11-Anmeldungen mit synchronisierten Punktedateien (z. B. .bash_profile, .bash_prompt, .vimrc usw.).
$TERM
auf beiden Servern ist xterm-256color
. ** Siehe Update-Hinweise
Von einem SLES10-Server:
Gleiche Dotfiles, aber auf einem SLES11-Server:
Aktualisieren
- Ich habe festgestellt, dass $ TERM anders ist, wenn ich direkt von meiner Workstation aus SSHed habe als vom SLES10-Dienstprogrammserver. Ich glaube, TERM wird vom Utility-Server weitergeleitet.
- Die Init- Skriptsätze von .bash_prompt,
$TERM
deren Ausgabe aufinfocmp
demncurses-devel
Paket basiert, von dem ich bestätigt habe, dass es sich nicht auf dem SLES11-Server-Image befindet. Wenninfocmp
es nicht ausgeführt wird oder nicht verfügbar$TERM
ist, bleibt es unverändert oder was auch immer es war, bevor das Skript ausgeführt wurde . - Für den Fall, dass
$TERM
geerbt wird (bereits festgelegt), lässt die bedingte Logik des Skripts .bash_prompt sie derzeit unberührt, wenninfocmp
sie nicht ausgeführt wird. - Das Skript .bash_prompt verwendet dann
tput
Befehle, um mehrere Variablen mit Farbcodes zu initialisieren - Werte, die weit über dem Standardwert für 8 Farben liegen.tput
wird beeinflusst von$TERM
.
Meine aktuelle Theorie: Mein PS1
Setup-Skript gibt möglicherweise einige nicht unterstützte Terminalwerte aus - früher festgelegt aus der bedingten Logik basierend auf Befehlen, die von den falschen / nicht unterstützten beeinflusst werden $TERM
. Dies "vermasselt" dann nachfolgende Befehle wie vim
.
Kann jemand diese Theorie auf der Grundlage seines Verständnisses tput
und des Einflusses ncurses
auf das System bestätigen? Ich habe Artikel darüber bemerkt , wie ncurses mehr Farbwerte im Terminal ermöglicht.