Подсказки Ncurses выглядят неработающими в PuTTY из Windows


12

Byobu выглядит очень разбитым в PuTTY. Я уже исправил проблему с сопоставлением клавиш, но эта проблема не указана на странице руководства или даже в Google:

Сломанная консоль замазки

Обратите внимание на неуместную позицию списка окон, неправильную позицию селектора, дублирование последнего окна, случайную букву А в правом верхнем углу и опцию применения неуместного применения. Вы не можете видеть это, но последний вариант недоступен для выбора.

Есть ли какая-то опция в PuTTY, которую мне нужно использовать, чтобы увидеть это правильно?


Если кто-то захочет создать puttyтег, это было бы неплохо
TheLQ

У меня больше нет Windows, поэтому я не могу проверить, но я бы посмотрел настройки Charset в PuTTY.
JanC

1
Экран отличный - нужно просто прилично.screenrc
Марко Чеппи

Ответы:


10

Настройте замазку для чтения utf8. putty -> config -> window -> translation выберите utf в "Полученные данные в ..." Это не проблема byobu, это проблема замазки.

Смотрите также:


1
Согласовано. Обратите внимание, что это указано на странице руководства byobu.1.
Дастин Киркланд

8

Что касается Putty, я добавил это примечание на страницу руководства byobu (1) некоторое время назад:

> PuTTY  users have reported that the
> F2, F3, and F4 shortcut keys are not
> working properly.  PuTTY sends the
> same escape sequences as the linux
> console for F1-F4 by default.  You can
> fix this problem in the PuTTY config,
> Terminal -> Keyboard -> Function keys:
> Xterm R6.

Видеть:


Я уже сделал это, чтобы сделать Бёбу хотя бы пригодным для использования.
TheLQ

Просто чтобы подтвердить то, что я сказал выше для всех, кто придет: я имел в виду, что скриншот выше с замазкой в ​​режиме Xterm R6. Так что это не решение этой проблемы.
TheLQ

3

Ubuntu использует UTF-8 для своего терминала, но byobu, похоже, использует кодировку «ISO-8859-1 (Западноевропейская)» для своих меню. Вы можете установить кодировку в Window -> Translation.

Я нашел следующий код в Интернете, и я все еще доволен им. byobuможет иметь больше опций, но мне это тоже нравится ( ~/.screenrc):

startup_message off
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]%{w} %l'
shelltitle "$ |bash"
termcapinfo xterm ti@:te@
altscreen on

Примечание: для byobu shelltitle "$ |bash"необходимо удалить / прокомментировать, иначе byobu не будет работать.


Замазка, кажется, по умолчанию ISO-8859-1:1998 (Latin-1, West Europe), так что это не проблема. Переключение на UTF-8 сделало терминал чрезвычайно медленным, но исправило меню. Но что этот код должен делать? Ничего не изменилось в бёбу
TheLQ

По умолчанию экран предоставляет вам только оболочку с несколькими (невидимыми) вкладками. С этим кодом у вас может быть необычная оболочка, а внизу - (цветная) полоска, как [ computername ][ 0$ bash 1-$ bash (2*$bash) ][2010-12-11 16:24 ] 1.30 1.40 1.43.
Лекенштейн

0

Таким образом, чтобы бёбу хорошо выглядело в шпаклевке, нужно сделать два изменения.

Во-первых, измените вашу клавиатуру на xterm-R6, как уже упоминалось, а во-вторых, на вашем компьютере с Linux запустите команду от имени обычного пользователя: byobu-select-backendи затем выберите опцию screen(обычно 2).

Должно работать отлично сейчас! Наслаждайтесь!


0

У меня это сработало (подходит для Putty - временно):

Окно -> Перевод -> Удаленный набор символов: DEC-MCS

Для окончательного решения в вашем приложении:

  1. добавить в файл .bashrc (только для текущего пользователя) или добавить в etc / bash.bashrc (для всех пользователей)

NCURSES_NO_UTF8_ACS = 1

  1. убедитесь, что у вас есть:

    • sudo apt-get -install ncurses

    • sudo apt-get установить libncursesw5-dev

  2. Добавьте в код: #include <locale.h> #include <ncurses.h> //change curses ------------------------------------- //add in main setlocale(LC_TYPE, "");

  3. Скомпилируйте приложение с помощью -lncursesw , примерно так:

    gcc -o arquivo arquivo.c -lncursesw

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.