Łącząc się z komputera z systemem Windows 7 za pośrednictwem SSH do serwera Ubuntu za pomocą PuTTY , pojawia się kilka błędów ekranu:
To znaczy:
- „Podwójne losowanie” wybór w Midnight Commander (MC).
- Inne znaki, takie jak elementy linii, są rysowane jako niewłaściwe znaki (np. „” zamiast „|”).
Połączyłem się z tym samym serwerem Ubuntu z terminalem i SHH z systemu Mac OS X i nie powoduję zakłóceń na ekranie (tzn. Wszystko wygląda i działa poprawnie). Próbowałem już grać z ustawieniami czcionek w PuTTY, zmieniając go z Courier New na Consolas, ale bez powodzenia.
Moje pytanie brzmi zatem:
Jak skonfigurować PuTTY do poprawnego wyświetlania znaków specjalnych, a nie podwójnego rysowania / zastępowania linii ekranu?
Odpowiedzi:
Prawie na pewno ustawiłeś niewłaściwy zestaw znaków w ustawieniach PuTTY .
Sprawdź zestaw znaków w systemie zdalnym, uruchamiając polecenie:
Powinno to zwrócić coś takiego:
Sprawdź więc ustawienia PuTTY w sekcji Tłumaczenie i upewnij się, że
UTF-8
ustawiłeś zestaw znaków.Konieczne może być również dostosowanie ustawienia rysowania linii, ale prawdopodobnie nie jest to prawdopodobne.
źródło
NCURSES_NO_UTF8_ACS=1
[więcej informacji ]locale
zwrotówPOSIX
prawdopodobnie używasz usePAM w konfiguracji sshdPOSIX
, wydajupdate-locale LANG=en_US.utf8
polecenie w wierszu polecenia - patrz thomas-krenn.com/de/wiki/Locales_unter_Ubuntu_konfigurierenMiałem problem z
aptitude
programem Debiana, mimo że miałem UTF-8 jako zestaw moich znaków. Dla mnie zadziałało ustawienie „Połączenie> Dane>” Ciąg terminala ”na„ kit ”zamiast„ xterm ”- najwyraźniej Putty ignoruje sekwencję znaków, aby przejść do trybu rysowania: http: //www.chiark.greenend .org.uk / ~ sgtatham / putty / wishlist / utf8-plus-vt100.htmlźródło
Ponadto, jeśli UTF-8 nie jest poprawnie skonfigurowany, możesz uruchomić go jako mc -ac .
Kredyty: http://blog.acsystem.sk/linux/midnight-commander-utf8-line-drawing-characters-problem
źródło
Dwa podstawowe czynniki to Window / Translation UTF-8 w putty i ustawienia regionalne w Linuksie, zgodnie z instrukcją tutaj i wieloma innymi miejscami.
Ponadto w putty może pomóc ustawić ciąg typu Connection / Data / Terminal na putty i / lub w Linuksie na
export NCURSES_NO_UTF8_ACS=1
. Te dwa są również wymienione wiele miejsc.Ale: nadal możesz otrzymywać bloki dla niektórych znaków, ponieważ domyślne czcionki, takie jak Courier i Lucida Console, nie mają wszystkich znaków Unicode. Pobierz i zainstaluj http://dejavu-fonts.org/wiki/Download i ustaw kit, aby go używał.
Ta ostatnia sztuczka była mi niezbędna, aby uzyskać
noping
(zalecane!) Wyświetlanie wszystkich znaków graficznych.źródło
export NCURSES_NO_UTF8_ACS=1
działało najlepiej dla mnie. Muszę tylko pamiętać o włączeniu tej-E
opcjisudo
podczas uruchamiania,iftop
aby zachować to ustawienie środowiska.sudo -E iftop
W moim przypadku (Ubuntu 14.04) problem został spowodowany brakiem
wpis w / etc / ssh / sshd_config jako /etc/pam.d/sshd pam konfiguracja jest domyślnie odpowiedzialna za ładowanie / etc / default / locale do środowiska użytkownika.
źródło
Dla wszystkich biednych starych facetów z VMS, którzy tu kończą:
pracował dla mnie.
źródło
Szukałem wielu rozwiązań w tym zakresie, używając komputera Docker (zarówno na poziomie lokalnym, jak i na komputerach skonfigurowanych przez administratora systemu). W moim Kit wszystko było w porządku (miałem
UTF-8
), korzystałem z innego klienta SSH i miałem dokładnie ten sam problem.Bieganie:
rozwiązałem problem (ale nie do końca) i szukałem kompletnego rozwiązania.
Po przeczytaniu wielu sugestii w końcu znalazłem tę, która rozwiązała mój problem.
W terminalu po uruchomieniu:
sprawdź ustawienia regionalne, które ustawiłeś. Miałem domyślnie
C
ustawienia regionalne.Aby zweryfikować wszystkie zainstalowane ustawienia regionalne, uruchom
locale -a
Mam na przykład:
domyślnie.
Rozwiązaniem jest eksportowanie
LANG
zmiennych oC.UTF-8
takich ustawieniach regionalnych, jak:Możesz oczywiście dodać go,
.bashrc
aby automatycznie ustawiał się w swoim profilu.źródło
Kolejny powód w jakiś sposób związany z pam, który może wpływać na hosty z uwierzytelnianiem powerbroker / pbis / podobnie.
grep /etc/pam.d dla wystąpienia „lsass”:
jeśli zobaczysz w danych wyjściowych coś takiego:
to prawdopodobnie jest to podstawowa przyczyna problemu. Szybka poprawka polega na zamianie „wystarczającej” na „opcjonalną” obok modułu pam_lsass, aby wyglądało to tak:
/etc/pam.d/common-session (lub inny plik z podobnym wpisem - może być ich kilka) jest prawdopodobnie dołączony przez /etc/pam.d/sshd przed załadowaniem pam_env, więc jeśli przetwarzanie modułów pam zostanie zakończone zanim dojdzie do pam_env, / etc / default / locale nie jest ładowany do środowiska użytkownika i masz zniekształcone znaki.
źródło
Po 15 latach znów się zirytowałem i ponownie zacząłem szukać w Google, znalazłem to, wybrałem
i to naprawiło.
źródło
Musiałem ustawić na stronie Okno → Tłumaczenie zestaw znaków na:
Wtedy, i tylko wtedy, znaki kreskowania pojawiły się poprawnie.
źródło
Uruchamianie mc w ten sposób (ustaw locale na en) działa dla mnie:
źródło
działało dla mnie „Połączenie, dane, ciąg terminala = ansi” plus „Okno, tłumaczenie, zdalny zestaw znaków = Użyj kodowania czcionek”, a następnie
set TERM=ansi
po stronie Uniksa.PS. Pamiętaj, aby wyłączyć inteligentne cytaty, jeśli jesteś zmuszony używać MS-Word.
źródło
Mój problem polegał na tym, że kit jest skonfigurowany jako UTF-8, ale zdalny system to ISO-8859-1
zachodnia Europa, więc zmieniłem to na kit i wszystko działało dobrze.
Zrzut ekranu Putty
źródło