Vraag Hoe PuTTY te herstellen met verminkte personages?


Verbinding maken vanaf een Windows 7-pc via SSH met een Ubuntu-server via Stopverf, Krijg ik een aantal schermfouten:

enter image description here

D.w.z. het:

  • "Verdubbelt" de selectie binnen Midnight Commander (MC).
  • Andere tekens zoals lijnelementen worden getekend als de verkeerde tekens (bijvoorbeeld "â" in plaats van "|").

Ik heb verbinding gemaakt met dezelfde Ubuntu-server met een terminal en SHH vanuit een Mac OS X en krijg deze schermvervaging niet (dat wil zeggen dat alles er goed uitziet en goed werkt). Ik heb al geprobeerd om te spelen met de lettertype-instellingen in PuTTY, het veranderen van Courier New naar Consolas maar zonder geluk.

Mijn vraag is daarom:

Hoe moet PuTTY worden geconfigureerd om speciale tekens correct weer te geven en geen schermlijnen voor dubbel trekken / overschrijven?


66
2018-02-06 06:14


oorsprong




antwoorden:


Je hebt bijna zeker de verkeerde tekenset ingesteld uw PuTTY-instellingen.

Controleer de tekenset op het externe systeem door de opdracht uit te voeren:

locale

Dit zou iets moeten teruggeven als:

LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Controleer dus je PuTTY-instellingen onder Vertaling en zorg ervoor dat je hebt UTF-8 ingesteld als de tekenset.

PuTTY Reconfiguration

Mogelijk moet u ook de lijntekeninginstelling aanpassen, maar waarschijnlijk is dit niet waarschijnlijk.


68
2018-02-06 06:32



Dat heeft de truc gedaan, heel erg bedankt, Michael! - Uwe Keim
Dit is niet in alle gevallen voldoende. U moet ook de volgende variabele naar uw omgeving exporteren: NCURSES_NO_UTF8_ACS=1  [meer informatie] - Piotr Jurkiewicz
in geval dat locale komt terug POSIX je hebt waarschijnlijk gebruikPAM uitgeschakeld in de sshd config - user2693017
Als de locale iets als retourneert POSIX, kwestie update-locale LANG=en_US.utf8 op de opdrachtregel - zie thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurieren - koppor
@ michael-hampton, mijn systeem is geconfigureerd om en_US.UTF-8 te gebruiken. Ik zie dat verschillende plaatsen andere dingen zeggen over de locale. Sommige plaatsen vermelden dat ik en_US moet gebruiken, terwijl andere plaatsen vermelden dat ik de_DE moet gebruiken. Ik zag voordat de grep en andere core-utils de locale gebruiken om de tekenset in te stellen, denk ik. Wat zijn de implicaties om dit te veranderen? - alpha_989


Ik had een probleem met Debian's aptitude programma, ook al had ik UTF-8 als mijn tekens ingesteld. Wat voor mij werkte was om de 'Connection> Data>' Terminal-type string 'op' putty 'in plaats van' xterm 'in te stellen - blijkbaar negeert Putty de tekenreeks om over te schakelen naar de tekenmodus: http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/utf8-plus-vt100.html

enter image description here


31
2018-01-19 01:57



Uitstekend. Eenvoudig en het werkt. (Dat doet het tenminste op Debian / Ubuntu.) - Nate
Dit werkt goed (op PuTTY) maar dan introduceert het een ander (meer klein) probleem: het op afstand bestuurd veranderen van venstertitel werkt niet meer. - ADTC
Uitstekend. Het probleem voor ncmpc opgelost op Ubuntu Artful. - weberjn
Werkt perfect. Bedankt. - Fabian Barney


Ook als UTF-8 niet correct is geconfigureerd, kunt u het als uitvoeren mc -ac.

credits: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem


9
2017-10-24 00:58





De twee basisfactoren zijn Window / Translation UTF-8 in putty- en locale-instellingen in Linux, zoals hier en op veel andere plaatsen wordt aangegeven.

Bovendien kan het helpen om putty in te stellen Connection / Data / Terminal-type tekenreeks naar stopverf, en / of in Linux om export NCURSES_NO_UTF8_ACS=1. Deze twee worden ook meerdere plaatsen genoemd.

Maar: u kunt nog steeds blokken voor bepaalde tekens krijgen, omdat de standaardlettertypen Courier en Lucida Console niet alle Unicode-tekens hebben. Download en installeer http://dejavu-fonts.org/wiki/Downloaden stopverf gebruiken om het te gebruiken.

Deze laatste truc was nodig om te krijgen noping (aanbevolen!) om alle grafische karakters te tonen.


5
2017-07-14 09:41



export NCURSES_NO_UTF8_ACS=1 werkte het beste voor mij. Ik moet alleen onthouden om de -E optie op sudo als ik ren iftop om die omgeving te behouden. sudo -E iftop - HeatfanJohn


In mijn geval (Ubuntu 14.04) werd het probleem veroorzaakt door het missen

UsePAM yes    

invoer in / etc / ssh / sshd_config als /etc/pam.d/sshd pam configuratie is standaard verantwoordelijk voor het laden van / etc / default / locale in gebruikersomgeving.


4
2017-10-20 16:22





Ik zocht hiervoor veel oplossingen bij het gebruik van een Docker-machine (zowel locale als op machines die door de systeembeheerder zijn ingesteld). In mijn putty was alles in orde (ik had UTF-8), Gebruikte ik ook een andere SSH-client en had precies hetzelfde probleem.

running:

mc -ac

was het probleem aan het oplossen (maar niet helemaal) en ik was op zoek naar een complete oplossing.

Na het lezen van veel suggesties, heb ik eindelijk degene gevonden die mijn probleem oploste.

In terminal wanneer je loopt:

locale

verifieer welke locale je hebt ingesteld. Ik had standaard C locale.

Om alle locale geïnstalleerde run te controleren locale -a

Ik heb bijvoorbeeld:

C
C.UTF-8
POSIX

standaard.

De oplossing exporteert LANG variabel met C.UTF-8 locale zoals zo:

export LANG="C.UTF-8"

Je kunt het natuurlijk toevoegen .bashrc om het automatisch in je profiel te laten instellen.


4
2018-05-06 16:48



Wat zijn de neveneffecten van het veranderen van de LANG-variabele? Als u C.UTF-8 al als LANG had, waarom zou u het dan opnieuw exporteren? - alpha_989


Voor alle arme oude VMS-jongens die hier eindigen:

PuTTY → Venster → Vertaling → Afstandskarakterset → DEC-MCS

werkte voor mij.


3
2017-12-05 19:55





Een andere reden had op een of andere manier betrekking op pam die van invloed kan zijn op hosts met powerbroker / pbis / soortgelijke authenticatie.

grep /etc/pam.d voor de "lsass" occurance:

grep -r lsass /etc/pam.d

als je in de uitvoer iets ziet als:

/etc/pam.d/common-session:session       sufficient        pam_lsass.so

dan is het waarschijnlijk de oorzaak van het probleem. De snelle oplossing is om "voldoende" te vervangen door "optioneel" naast de module pam_lsass, zodat het lijkt op:

/etc/pam.d/common-session:session       optional        pam_lsass.so

/etc/pam.d/common-session (of een ander bestand met vergelijkbare invoer - er zijn er misschien een paar) is waarschijnlijk opgenomen door /etc/pam.d/sshd voordat pam_env is geladen, dus als de verwerking van pam-modules is voltooid voordat het gaat om pam_env, wordt / etc / default / locale niet geladen in de gebruikersomgeving en hebt u verminkte tekens.


2
2018-05-20 15:04





Mc op deze manier uitvoeren (locale instellen op en) werkt voor mij:

$ LC_ALL=en mc

1
2018-05-05 09:27