Bei der Verbindung von einem Windows 7-PC über SSH mit einem Ubuntu-Server unter Verwendung von PuTTY erhalte ich einige Bildschirmfehler:
Also:
- "Doppeltes Zeichnen" der Auswahl in Midnight Commander (MC).
- Andere Zeichen wie Linienelemente werden als falsche Zeichen dargestellt (z. B. "-" anstelle von "|").
Ich habe mit einem Terminal und SHH von einem Mac OS X aus eine Verbindung zum selben Ubuntu-Server hergestellt und bekomme diese Bildstörungen nicht (dh alles sieht aus und funktioniert ordnungsgemäß). Ich habe bereits versucht, mit den Schriftarteinstellungen in PuTTY zu spielen, indem ich sie von Courier New zu Consolas geändert habe, aber ohne Glück.
Meine Frage lautet daher:
Wie konfiguriere ich PuTTY so, dass Sonderzeichen korrekt angezeigt werden und Bildschirmzeilen nicht doppelt gezeichnet / überschrieben werden?
Antworten:
Sie haben mit ziemlicher Sicherheit in Ihren PuTTY-Einstellungen den falschen Zeichensatz eingestellt .
Überprüfen Sie den Zeichensatz auf dem fernen System, indem Sie den folgenden Befehl ausführen:
Dies sollte ungefähr so aussehen:
Überprüfen Sie daher Ihre PuTTY-Einstellungen unter Übersetzung und stellen Sie sicher, dass Sie
UTF-8
als Zeichensatz festgelegt haben.Möglicherweise müssen Sie auch die Strichzeichnungseinstellung anpassen, dies ist jedoch wahrscheinlich nicht der Fall.
quelle
NCURSES_NO_UTF8_ACS=1
[Weitere Informationen ]locale
zurückkehrenPOSIX
, haben sie usePAM wahrscheinlich in der sshd configPOSIX
, geben Sie esupdate-locale LANG=en_US.utf8
in der Befehlszeile ein - siehe thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurierenIch hatte ein Problem mit Debians
aptitude
Programm, obwohl ich UTF-8 als Zeichensatz hatte. Für mich funktionierte es, die Zeichenfolge "Verbindung> Daten> Zeichenfolge vom Terminaltyp" auf "Kitt" anstatt auf "xterm" zu setzen. Anscheinend ignoriert Putty die Zeichenfolge, um in den Zeichenmodus zu wechseln: http: //www.chiark.greenend .org.uk / ~ sgtatham / putty / wishlist / utf8-plus-vt100.htmlquelle
Wenn UTF-8 nicht richtig konfiguriert ist, können Sie es auch als mc -ac ausführen .
Credits: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem
quelle
Die beiden Grundfaktoren sind Window / Translation UTF-8 in Kitt- und Gebietsschemaeinstellungen unter Linux, wie hier und an vielen anderen Stellen beschrieben.
Außerdem kann es hilfreich sein, in putty die Zeichenfolge Connection / Data / Terminal auf putty und / oder in Linux auf zu setzen
export NCURSES_NO_UTF8_ACS=1
. Diese beiden werden auch mehrfach erwähnt.Aber: Möglicherweise erhalten Sie weiterhin Blöcke für bestimmte Zeichen, da die Standardschriftarten wie Courier und Lucida Console nicht alle Unicode-Zeichen enthalten. Laden Sie http://dejavu-fonts.org/wiki/Download herunter und installieren Sie es.
Dieser letzte Trick war notwendig, damit
noping
(empfohlen!) Alle Grafikzeichen angezeigt werden.quelle
export NCURSES_NO_UTF8_ACS=1
funktionierte am besten für mich. Ich muss nur daran denken, die-E
Optionsudo
beim Ausführeniftop
zu aktivieren, um diese Umgebungseinstellung beizubehalten.sudo -E iftop
In meinem Fall (Ubuntu 14.04) wurde das Problem durch fehlende verursacht
Der Eintrag in / etc / ssh / sshd_config als /etc/pam.d/sshd pam configuration ist standardmäßig dafür verantwortlich, / etc / default / locale in die Benutzerumgebung zu laden.
quelle
Für alle armen alten VMS-Leute, die hier landen:
arbeitete für mich.
quelle
Bei der Verwendung des Docker-Computers (sowohl auf dem Gebietsschema als auch auf Computern, die vom Systemadministrator eingerichtet wurden) habe ich nach vielen Lösungen gesucht. In meinem Putty war alles in Ordnung (ich hatte
UTF-8
), ich benutzte auch einen anderen SSH-Client und hatte genau das gleiche Problem.Laufen:
löste das Problem (aber nicht vollständig) und ich suchte nach einer vollständigen Lösung.
Nachdem ich viele Vorschläge gelesen hatte, fand ich endlich den, der mein Problem löste.
Im Terminal, wenn Sie ausführen:
Überprüfen Sie, welches Gebietsschema Sie festgelegt haben. Ich hatte standardmäßig
C
Gebietsschema.Um alle installierten Ländereinstellungen zu überprüfen, führen Sie den Befehl aus
locale -a
Ich habe zum Beispiel:
standardmäßig.
Die Lösung exportiert
LANG
Variablen mit dem folgendenC.UTF-8
Gebietsschema:Sie können es natürlich hinzufügen
.bashrc
, damit es automatisch in Ihrem Profil festgelegt wird.quelle
Ein weiterer Grund hängt irgendwie mit pam zusammen, der Hosts mit powerbroker / pbis / ebenfalls Authentifizierung betreffen kann.
grep /etc/pam.d für das "lsass" Vorkommen:
Wenn Sie in der Ausgabe etwas sehen wie:
dann ist es wahrscheinlich die Ursache des Problems. Die schnelle Lösung besteht darin, "ausreichend" durch "optional" neben dem Modul "pam_lsass" zu ersetzen, damit es so aussieht:
/etc/pam.d/common-session (oder eine andere Datei mit ähnlichem Eintrag - es gibt möglicherweise nur wenige) wird wahrscheinlich von /etc/pam.d/sshd eingeschlossen, bevor pam_env geladen wird, wenn die Verarbeitung von pam-Modulen abgeschlossen ist Bevor es zu pam_env kommt, wird die Datei / etc / default / locale nicht in die Benutzerumgebung geladen und Sie haben verstümmelte Zeichen.
quelle
Nach 15 Jahren wurde ich wieder genervt und googelte wieder herum, fand dies, wählte
und das hat es behoben.
quelle
Ich musste auf der Seite Fenster → Übersetzung den Zeichensatz einstellen auf:
Erst dann wurden die Strichzeichnungen korrekt angezeigt.
quelle
Das Ausführen von mc auf diese Weise (setze das Gebietsschema auf en) funktioniert für mich:
quelle
bei mir funktionierte "Verbindung, Daten, Terminal-Typ string = ansi" plus "Fenster, Übersetzung, Remote-Zeichensatz = Schriftkodierung verwenden" dann
set TERM=ansi
auf der Unix-Seite.PS. Denken Sie daran, intelligente Anführungszeichen auszuschalten, wenn Sie gezwungen sind, MS-Word zu verwenden.
quelle
Mein Problem war, dass Kitt als UTF-8 konfiguriert ist, aber das Remote-System ist ein ISO-8859-1
Westeuropa, also habe ich das auf Kitt geändert und alles hat gut funktioniert.
Putty-Screenshot
quelle