Wie lege ich die Umgebungsvariable TERM für die Gnome Terminal Emulator-App fest?

7

Die Umgebungsvariable TERM ist standardmäßig xterm, sodass die .bashrc-Datei standardmäßig keine Vollfarbe in der Shell bereitstellt.

Wie ändere ich die Umgebungsvariable TERM nur für die Gnome Terminal Emulator App in xterm-color?

Update: Mit Vollfarbe meine ich, dass die Eingabeaufforderung geändert wird, um neben der Anzeige von Ausgaben wie Verzeichnislisten auch Farbe zu verwenden.

Andy Fusniak
quelle
Was meinst du mit "liefert nicht die volle Farbe"? Wie viele Farben haben Sie in Ihrem Terminal? Wie hast du es getestet?
AB
.bashrc ändert die PS1-Eingabeaufforderung nur dann in Farbe, wenn XTERM = xterm-color
Andy Fusniak
Was ist die Ausgabe von tput colors.
AB

Antworten:

6

Zum gnome-terminal

Bearbeiten Sie die Profileinstellungen in gnome-termninal:

Geben Sie hier die Bildbeschreibung ein

Ersetzen Sie /bin/bashdurch Ihren Shell-Befehl und verwenden Sie Ihren Parameter für TERM.

Sie können die Einträge auch mit bearbeiten dconf. Öffnen Sie ein Terminal und starten Sie dconf-editor:

dconf-editor

Öffnen Sie den Eintrag org/gnome/terminal/legacy/profiles:und wählen Sie Ihr Profil aus. Ändern Sie den Wert für custom-command.

AB
quelle
Nachdem Sie die Profileinstellung mithilfe des Screenshots bearbeitet haben, wird die Terminalemulator-App geöffnet und geschlossen, und ich kann sie überhaupt nicht verwenden.
Andy Fusniak
Das Terminal wird wieder geschlossen, wenn Sie eine schlechte Aufzeichnung gemacht haben. Zum Beispiel die falsche Shell. Gib mir eine Sekunde.
AB
Ich habe meine Antwort verbessert, lies den dconf-editorTeil.
AB
Vielen Dank. Ich fand es schließlich unter org.gnome.terminal.legacy.profile. *
Andy Fusniak
Die zweite Methode mit der .pam_environment hatte keine Auswirkung, aber ich habe einen Tippfehler in der GUI-Box korrigiert und jetzt scheint sie beim Starten der App wirksam geworden zu sein. Ich werde +1 Ihre Antwort geben, wenn ich genug Reputationspunkte bekomme. Vielen Dank.
Andy Fusniak
6

Hier gibt es zwei Probleme.

Eine Möglichkeit besteht darin, festzustellen, ob Sie im gnome-terminal (oder in einer anderen App, die dasselbe vte-Widget für die eigentliche Terminalemulation verwendet) ausgeführt werden. Angenommen, Sie verwenden Ubuntu, das aktuell genug ist, zeigt $VTE_VERSIONIhnen das Vorhandensein der Variablen dies an. Sie können Ihre .bashrc so bearbeiten, dass sie so etwas enthält

if [ -n "$VTE_VERSION" ]; then
    # Gnome-terminal and other vte3-based emulators
    color_prompt=yes
fi

Das andere Problem ist, dass Ubuntus Standard aus irgendeinem Grund .bashrcversucht zu suchen, xterm-colorwas heutzutage nicht wirklich verwendet wird. Entweder der Standard xterm(der sowieso Farben unterstützt) oder der modernere xterm-256colorsind die beliebten Optionen, wobei sich die Standardeinstellung langsam in Richtung letzterer bewegt. (Gnom-terminal veränderte seinen Standard von xtermzu xterm-256colorin 3,16, die in Ubuntu 15.10 jenseits vorhanden ist)

Wenn Sie vorwärts gehen und bereits in mehreren Anwendungen viele Farben genießen möchten, empfehle ich Ihnen, bereits zu wechseln TERM=xterm-256color, was Sie auch im obigen if-Zweig tun können.

Ubuntus .bashrcist für die Verwendung veraltet xterm-color. Ich empfehle viel lieber, diese Bits im Skript um das zu ändern $TERM, was Sie bereits haben ( xterm) oder (vielleicht xterm-256color) lieber haben möchten , als umgekehrt, um es $TERMan .bashrcdie Anforderungen anzupassen.

egmont
quelle