Ihre Shell versucht, den Titel / Header des XTerm (oder einer anderen Konsole) festzulegen. Dies kann auf verschiedene Arten geschehen.
Stellen Sie zunächst sicher, dass die PS1 wirklich das ist, was Sie denken
echo $PS1 | less -E
Das wird Ihnen sagen, ob es Steuerzeichen in der Eingabeaufforderung gibt, weniger wird sie lustig aussehen lassen. Angenommen, Ihre Eingabeaufforderung ist genau so, wie Sie sagen, dann ist es wahrscheinlich die Umgebungsvariable PROMPT_COMMAND. Sie können das genauso sehen ...
echo $PROMPT_COMMAND | less -E
Wenn der Eingabeaufforderungsbefehl das Problem ist, können Sie ihn einfach deaktivieren. In beiden Fällen werden diese Variablen irgendwo eingerichtet und sollten nicht so eingestellt werden, dass der XTerm-Header aktualisiert wird, wenn Sie sich nicht in einem XTerm befinden!
Sie können in der "Standard" -Bashrc (/ etc / bashrc) suchen. Es sollte Code angezeigt werden, der nach einer iteraktiven Shell sucht (PS1-Set) und dann nach xterm sucht (siehe $ TERM-Variable) und dort etwas anderes ausführt als bei anderen Terminaltypen.
Ich vermute, irgendwo in der Bash-Initialisierung befindet sich ein fest codiertes Setup, das nur mit xterm-kompatiblen Konsolenprogrammen durchgeführt werden sollte. Lesen Sie man bash, um eine vollständige Liste der Dateien zu finden, nach denen Sie suchen und die Sie durchsuchen können.
Wenn alle oben genannten Probleme auftreten, versuchen Sie es
printenv | less
Und sehen Sie nach, ob Sie dort etwas Verdächtiges finden und finden Sie heraus, wo es eingestellt wird. Posten Sie es hier, wenn Sie es nicht ausarbeiten können.
Ich bin auf genau dasselbe Problem gestoßen und es liegt an PROMPT_COMMAND. Ich mag den xterm Titel. Also habe ich folgende Zeile in ~ / .emacs_bash hinzugefügt
quelle
Dies hängt möglicherweise mit dem Terminaltyp der Emacs-Shell und Ihrer regulären Shell zusammen. Überprüfen Sie, auf was die
TERM
Umgebungsvariable in beiden Shells festgelegt ist. Wenn sie unterschiedlich sind, sollten Sie in der Lage sein, den Emacs-Shell-Terminaltyp zu ändern oder eine andere PS1-Definition für den Emacs-Terminaltyp zu verwenden.bashrc
.Sie können es auch versuchen
M-x ansi-term
(undansi-color-for-comint-mode-on
wenn Sie Farbaufforderungen haben).quelle
Dies wurde auf der Stackoverflow-Site sehr gut beantwortet. von Daniel Poe.
Hier ist seine Antwort.
Sie können AnsiTerm verwenden, das Farben unterstützt, oder AnsiColor für die normale Shell aktivieren:
quelle