Заставить 256-цветных символов рисования линий и линий работать в PuTTY


31

У меня проблемы с настройкой PuTTY с Ubuntu.

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

  • Ubuntu Config
    • Использование 64-битной Ubuntu
    • Тип терминала xterm-256color или putty-256color дает 256-цветные, но некорректные символы строки.
    • Терминал типа linux дает правильные линии по способности, но только 16 цветов.
  • PuTTY Config
    • Использование шрифта с символами 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 «Альтернативный набор символов», и ncurses пытается использовать «графический» набор символов для рисования GUI. (Символы рисования прямоугольника находятся в тех же положениях, klmqxчто и обычно.)

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

1 Для этого есть запись в списке желаний PuTTY , а также объяснение, почему текущее поведение лучше .

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


Это интересно. Я просто всегда использовал Lucida Console, потому что рисование линий всегда работало в режиме UTF-8. Теперь я могу использовать гораздо лучшие шрифты. Спасибо. :)
Ариэль

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

2
не копать старые сообщения, но KiTTY - форк PuTTY - предоставляет флажок «Разрешить рисование линий ACS в UTF» (настройки нового / текущего сеанса-> Window-> Translation), который, кажется, хорошо работает с такими приложениями, как aptitude.
переписано

1
@ SWISS: это не то, screenчто делает преобразование, но ncurses.
Томас Дики

Я работаю в Putty и использую Zsh. У меня проблема, аналогичная OP, в том, что в VIM некоторые символы, такие как стрелка в NERDtree, не отображаются. Когда я делаю "export 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.