Я разрабатываю небольшое приложение. который основан на Ncurses, который должен выполняться удаленно через ssh на сервере. Это приложение показывает, среди прочего, некоторые поля (созданные с помощью box или wborder). Он также имеет командную строку и несколько меню. Сначала он показывает красиво, но время от времени, когда в командной строке вводится новый символ или перемещается указатель в меню, весь экран начинает мерцать и показывать странные символы.

Я попытался изменить символы, которые используются для рисования линий на границах, просто переопределив константы, такие как ACS_VLINE и ACS_HLINE и т. д. Тогда нет проблем, хотя я бы предпочел использовать символы по умолчанию, поскольку они красивее.

Я погуглил и обнаружил, что это вызвано чем-то, связанным с настройками локали, с которыми работает ncurses, тем, с которым работает соединение ssh, и эмулятором терминала (в моем случае gnome-терминал). Я пытался это исправить, но без особого успеха. Я предполагаю, что это распространенная проблема. Кто-нибудь смог решить такую ​​задачу?

2
Genís 15 Ноя 2011 в 18:46
Пробовали с разными терминалами? xterm например
 – 
Craig
16 Ноя 2011 в 19:26

1 ответ

Может проблема в кодировке UTF-8? Если это так, попробуйте установить для переменной среды NCURSES_NO_UTF8_ACS значение 1:

export NCURSES_NO_UTF8_ACS=1

В bash-подобной оболочке или в csh-подобной оболочке:

setenv NCURSES_NO_UTF8_ACS 1

Спасибо grawityза их ответ. для суперпользователя.

2
Community 20 Мар 2017 в 13:18