Antwort1
Dies ist tatsächlich eine iTerm2-Integration. Anstatt sie zu entfernen, hätte der dynamische Test für iTerm2 innerhalb des Integrationsskripts erfolgen sollen.Hinweis: Siehe Warnung zu SSH unten.
Es gibt eine ANSI-Sequenz, auf die iterm reagiert und die unabhängig davon funktioniert, welche Shell/SSH aktiv ist. Für Leute, die ihre eigene Sequenz erstellen möchten, lautet die Sequenzprintf '\x1b[1337n'
.
Ihre .bashrc (oder welche Shell-Initialisierung Sie auch immer verwenden) enthält wahrscheinlich etwa Folgendes:
test -r ~/.iterm2_shell_integration.bash && . ~/.iterm2_shell_integration.bash
Möglicherweise ohne den ersten Test. Ändern Sie es einfach in ein noch hässlicheres:
isiterm2.sh&&test -r ~/.iterm2_shell_integration.bash && . ~/.iterm2_shell_integration.bash
VS Code Remote Explorer/SSH-Benutzer VS-Code scheint beim Start automatisch Zeichen an die SSH-Verbindung zu senden. Diese Befehle können durch die STTY-Reset-Sequenz in isIterm2.sh unterbrochen werden. Mein kurzfristiger Hack bestand darin, diese Prüfung/Ladung bei der zweiten Anzeige der Eingabeaufforderung durchzuführen. Dies istsolchallerdings ein Kludge.
Antwort2
Die Saiten sind eigentlich nichtANSI-Sequenzen. Vielmehr begannen sie als ANSI-Sequenzen, wurden aber (aufgrund eines Skriptfehlers) auf Ihrem Remotecomputer übersetzt, sodass die meisten Zeichen in eine andere Form umgewandelt wurden.
EinANSI-Sequenzhätte zum Beispiel
escape[A
möglicherweise mit einem optionalen ;vor dem A, aber die problematische Ausgabe zeigt ein 133
( [ist Oktal 133). Ebenso zeigt der Screenshot \033
an mehreren Stellen ein Literal anstelle des ASCII-Escapezeichens.
Der Unterschied zwischen dem GUI-Terminal und Putty liegt sehr wahrscheinlich darin, dass ersteres möglicherweise TERM
auf eingestellt ist xterm-256color
, während PuTTY seine eigene Konfiguration hat und TERM
in PuTTY nicht eingestellt wurde (und sein Standardwert ist xterm
).
Ubuntu 14.04 hat dies nicht von selbst getan (es gibt es schon eine Weile und niemand hat sich darüber beschwert).Das), es handelt sich also um eine „Verbesserung“ nach der Installation. Wie vorgeschlagen, beginnen Sie damit, in Ihren eigenen .bashrc
(oder in den von Ihnen hinzugefügten Farbthema-Skripten – einige davon sind sehr fehlerhaft) nachzuschauen.
Antwort3
Dies sieht aus wie die Shell-Integration von iTerm2. Siehehttp://www.iterm2.com/documentation-shell-integration.html.
Überprüfen Sie, ob .iterm2_shell_integration.bash von .bash_profile bezogen wird.
Antwort4
Dies liegt an den nicht standardmäßigen Escape-Codes von Iterm2s:Proprietäre Escape-Codes, die hier veröffentlicht wurde:Shell-Integration zeigt auf Linux-Terminals ungültige Zeichen an. Um dieses Problem zu beheben, führen Sie diese Befehle auf Ihrem Remote-Server aus, auf dem die iTerm2-Integration installiert ist:
curl https://raw.githubusercontent.com/gnachman/iTerm2/master/tests/isiterm2.sh > ~/.isiterm2.sh && chmod ug+x ~/.isiterm2.sh
Ändern Sie Ihre
.bash_profile
(oder.profile
oder wo auch immer) so, dass das Laden der Shell-Integration für dieses Skript erfolgreich ist:~/.isiterm2.sh && test -e "$HOME/.iterm2_shell_integration.bash" && source "$HOME/.iterm2_shell_integration.bash"