Bei einer Neuinstallation von Ubuntu 12.10 meldet das Standard-Gnome-Terminal $ TERM als xterm, wo es eigentlich xterm-256color melden sollte. Was ist der beste Weg, dies zu ändern? Ich vermeide es, dies in mein .bashrc zu schreiben, da es nur um Ärger bittet.
gnome-terminal
Freddy
quelle
quelle
xterm
ist falsch, weil die meisten Anwendungen im 256-Farben-Modus nur funktionieren, wenn esxterm-256color
oder istscreen-256color
(vim und tmux sind die wichtigsten, die mir wichtig sind). Wie bei @Freddy würde ich es vorziehen, diese nicht in meinem Shell-Profil festzulegen, da ich möglicherweise eine Verbindung von einem anderen Terminaltyp über SSH herstelle und es in Wirklichkeit die Aufgabe des Terminalemulators ist, dies festzulegen. Ich bin erstaunt, dass das Gnome-Terminal nicht mehrere Emulationen bietet.xterm-256colors
.Antworten:
Sie waren gut beraten, Ihre Startskripte nicht speziell zu ändern
~/.bashrc
. Jede "Terminalerkennung" unter Verwendung von "Current"$TERM
oder "$COLORTERM
In"~/.profile
ist nur eine Vermutung und kann, wie Sie sagten, bei der Verwendung anderer Terminals (z. B. Putty oder xterm) Probleme verursachen. Der Terminal-Emulator sollte festgelegt werden$TERM
, und dies sollte nicht innerhalb der Shell geändert werden.Das Gnome-Terminal AFAIK bietet keine Konfiguration zum Ändern der Konfiguration an.
TERM
Sie können jedoch Ihren Startbefehl ändern, und das ist alles, was Sie benötigen. Hier ist der Trick:Dann benutze den folgenden Befehl:
Ersetzen
/bin/bash
Sie es einfach durch Ihre bevorzugte Schale, wenn es anders ist. Und nein, Sie können"$SHELL"
diese Zeile nicht für die automatische Shell-Erkennung verwenden;) Sie müssen sie hart codierenquelle
Für die Verbindung mit einem Terminal, das keine 256 Farben unterstützt.
Es wäre weitaus besser, das Terminal gezielt mit zu erkennen
$COLORTERM
. Geben Sie für gnome-terminal, xfce4-Terminal, etc, und dann setzen Sie die$TERM
Variablexterm-256color
.Ich mache es mit:
quelle
COLORTERM
mehr aktiviert ist.COLORTERM
Sie sich nicht mehr verlassen könnenVTE_VERSION
.Obwohl terminfo xterm + 256color (
/usr/share/terminfo/x/xterm+256color
) hat, hat termcap nur xterm (/usr/share/vte/termcap/xterm
), so dass eine Änderung$TERM
nicht ratsam sein sollte.Wie auch immer,
$TERM
wird nicht von gnome-terminal gesetzt, sondern von vte. Der Standardwert für diese Umgebungsvariable kann entweder zur Kompilierungszeit geändert werden (mit einer Option für das configure-Skript) oder durch Aufrufen dervte_pty_set_term()
Funktion. Wenn ich mir die Quellen von gnome-terminal ansehe, sehe ich, dass diesevte_pty_set_term
niemals aufgerufen werden, so dass ich sagen kann, dass es keine Möglichkeiten gibt, Änderungen$TERM
durch Bearbeiten der Einstellungen von gnome-terminal vorzunehmen.Was Sie tun müssen, ist, das folgende Stück Code in Ihrem zu platzieren
~/.profile
:quelle
==
Dies ist eine reine Bash-Syntax. Verwenden Sie sie nicht für Snippets, die als Quelle dienen sollensh
(wie dies bei~/.profile
DEs der Fall ist ). Außerdem wird die Syntax "x $ .." nicht benötigt, da Sie die var-Erweiterung korrekt in Anführungszeichen setzen.