Змушення символів для малювання 256 кольорів І ліній обох працює в PuTTY


31

У мене виникають проблеми з налаштуванням PuTTY з Ubuntu.

Я намагаюся змусити персонажів ліній працювати в здібності, а також 256-кольорову підтримку, але можу отримати лише те чи інше.

  • Налаштування Ubuntu
    • Використання 64-розрядного Ubuntu
    • Термінальний тип xterm-256color або putty-256color надає 256-кольорові, але неправильні символи ліній.
    • Термінальний тип linux надає належні лінії по можливості, але лише 16 кольорів.
  • PuTTY Налаштування
    • Використання шрифту з символами Unicode. (DejaVu Sans Mono)
    • Отримані дані передбачаються у UTF-8.
    • Встановіть використання ліній кодових ліній для малювання Unicode.

Вихід від 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=

Відповіді:


42

Проблема полягає в тому, що PuTTY в режимі UTF-8 ігнорує 1 команду VT100 "Альтернативний набір символів" і намагається використовувати "графічний" набір символів для малювання графічного інтерфейсу. (Символи малювання поля знаходяться в тих же положеннях, klmqxщо і зазвичай.)

export NCURSES_NO_UTF8_ACS=1 у вашому оточенні слід вирішити проблему, сказавши ncurses завжди використовувати символи для малювання поля Unicode, коли вибрано локальний UTF-8.

1 Для цього є запис із списку PuTTY , а також пояснення, чому поточна поведінка краща .

Оновлення (2018-05-12): Схоже, ця комбінація буде підтримуватися в PuTTY 0.71.


Це цікаво. Я просто завжди використовував консоль Lucida, тому що малювання ліній завжди працювало в режимі UTF-8. Тепер я можу використовувати набагато кращі шрифти. Спасибі. :)
Аріель

8
Я просто хочу зазначити, що запуск програми, яка перетворює альтернативний набір символів в UTF-8, також усуває проблему. Я знайшов це за посиланням, яке ви надали. Найкращий приклад програми - екран.
Швейцарія

2
не викопувати старі повідомлення, але KiTTY - виделка PuTTY - забезпечує прапорець "Дозволити малювання рядків ACS в UTF" (нові / поточні налаштування сеансу-> Вікно-> Переклад), які, здається, добре працюють з такими додатками, як придатність.
надписано

1
@swiss: це не те, screenщо робить перетворення, але ncurses.
Томас Дікі

Я працюю в Putty і використовую zsh. У мене є аналогічна проблема, як у OP, оскільки у VIM певні символи, такі як стрілка в NERDtree, не відображаються. Коли я "експортую NCURSES_NO_UTF8_ACS = 1" і знову відкриваю VIM, він нічого іншого не робить. Стрілки все ще не відображаються. Будь-яка ідея, що відбувається?
alpha_989

4

Тепер це реалізовано як опція у PuTTY git master .

Шпаклівка 0,71 ->

Категорія -> Вікно -> Переклад -> галочка "Увімкнути малювання рядків VT100 навіть у режимі UTF-8"

скріншот

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.