Tworzenie 256-znakowych znaków ORAZ rysowanie linii działa w PuTTY

31

Mam problem z konfiguracją PuTTY w Ubuntu.

Próbuję sprawić, by znaki linii działały w sposób odpowiedni, a także obsługa 256 kolorów, ale mogę uzyskać tylko jeden lub drugi.

  • Ubuntu Config
    • Korzystanie z 64-bitowego systemu Ubuntu
    • Typ terminala xterm-256color lub putty-256color daje 256-kolorowe, ale niepoprawne znaki linii.
    • Linuks typu terminalu daje odpowiednie linie w trafności, ale tylko 16 kolorów.
  • Konfiguracja PuTTY
    • Używanie czcionki ze znakami Unicode. (DejaVu Sans Mono)
    • Przyjmuje się, że otrzymane dane znajdują się w UTF-8.
    • Ustaw, aby używać punktów kodu rysowania linii Unicode.

Wyjście z locale:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
szwajcarski
źródło

Odpowiedzi:

42

Problem polega na tym, że PuTTY w trybie UTF-8 ignoruje 1 polecenie VT100 „Alternatywny zestaw znaków” i ncurses próbuje użyć „graficznego” zestawu znaków do rysowania GUI. (Znaki rysujące w ramce znajdują się w tych samych pozycjach, co klmqxnormalnie.)

export NCURSES_NO_UTF8_ACS=1 w twoim środowisku, powinno to rozwiązać problem, mówiąc ncurses, aby zawsze używało znaków rysunkowych w polu Unicode, gdy wybrane są ustawienia regionalne UTF-8.

1 W tym celu znajduje się lista życzeń PuTTY wraz z wyjaśnieniem, dlaczego obecne zachowanie jest lepsze .

Aktualizacja (2018-05-12): Wygląda na to, że ta kombinacja będzie obsługiwana w PuTTY 0.71.

grawitacja
źródło
To interesujące. Po prostu zawsze używałem Lucida Console, ponieważ rysowanie linii zawsze działało w trybie UTF-8. Teraz mogę używać znacznie lepszych czcionek. Dzięki. :)
Ariel
8
Chcę tylko zauważyć, że uruchomienie programu, który konwertuje alternatywny zestaw znaków na UTF-8, również rozwiązuje problem. Znalazłem to z podanego linku. Najlepszy przykładowy program to screen.
Szwajcar
2
aby nie kopać starych postów, ale KiTTY - widelec PuTTY - zapewnia pole wyboru „Zezwalaj na rysowanie linii ACS w UTF” (nowe / bieżące ustawienia sesji-> Okno-> Tłumaczenie), które wydaje się dobrze współpracować z aplikacjami takimi jak aptitude.
zawyżony
1
@ swiss: to nie screenkonwersja, ale ncurses.
Thomas Dickey,
Pracuję w Putty i używam Zsh. Mam podobny problem jak OP, ponieważ w VIM niektóre znaki, takie jak strzałka w NERDtree, nie są wyświetlane. Kiedy zrobię „eksportuj NCURSES_NO_UTF8_ACS = 1” i ponownie otwieram VIM, nie robi nic innego. Strzałki nadal nie są wyświetlane. Masz pomysł, co się dzieje?
alpha_989,
4

Jest to teraz zaimplementowane jako opcja w PuTTY git master .

Szpachlówka 0,71 ->

Kategoria -> Okno -> Tłumaczenie -> zaznacz „Włącz rysowanie linii VT100 nawet w trybie UTF-8”

zrzut ekranu

ismail
źródło