Ich gründe derzeit $TERM
an xterm-256color
:
if [[ -n "$EMACS" ]]; then
export TERM=xterm-256color
alias emacs="emacsclient --no-wait"
export EDITOR="emacsclient --no-wait"
export VISUAL="emacsclient"
fi
Früher hatte ich es eingestellt eterm-color
, aber das Problem ist, dass dieser Terminaltyp auf den meisten Computern, bei denen ich mich über SSH anmelde, nicht verfügbar ist.
Die Standardeinstellung .bashrc
in Ubuntu überprüft, ob die TERM
Variable mit beginnt xterm-
. In diesem Fall wird versucht, den Fenstertitel festzulegen:
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
Das Problem ist das \[\e]0;
Bit. Es sollte von xterm-kompatiblen Terminalemulatoren analysiert werden, aber emacs (ansi-term) macht das nicht. Das Ergebnis ist ein Terminal wie dieses:
0;user@host: ~user@host:~$
Einige Anwendungen werden auch unterbrochen readline
, wenn der eingegebene Text größer als die Breite des Terminals ist.
Da eterm-color
es auf einigen Remote-Hosts nicht verfügbar ist (und ich es auch nicht installieren kann), bringt das Setzen auf diesen Wert Dinge wie durcheinander less
.
Gibt es einen Trick, den ich verwenden kann, z. B. einen anderen Terminaltyp, der mit den meisten Distributionen geliefert wird, oder einen Hack, mit dem ansi-term die relevanten Escape-Codes erkennt und den Titel festlegt oder sie einfach verwirft?