Подтвердить что ты не робот

Границы Tmux отображаются как x q вместо строк?

У меня возникли проблемы с получением tmux для отображения строк для границ. Они создаются с помощью x и q. Это сервер debian squeeze, а языковой стандарт установлен в en_US UTF8. Я также попытался добавить

# instructs tmux to expect UTF-8 sequences
setw -g utf8 on
set -g status-utf8 on

строк .tmux.conf. Ничто не работает. Я не уверен, что это проблема локали или нет. Он корректно отображается на других серверах, но не на debian. Я ценю любые советы, которые вы могли бы предложить! Спасибо...

4b9b3361

Ответ 1

Существует некоторая несогласованность между вашим эмулятором терминала и записью базы данных terminfo, используемой tmux (той, которая указана переменной среды TERM при запуске/подключении к серверу tmux).


В VT100 Руководство пользователя, Таблица 3-9: Специальные графические символы, когда выбран "специальный графический набор", x используется для рисования "Вертикальная панель" и q используются для рисования "Горизонтальная линия - Сканирование 5".

В терминах terminfo специальные графические символы VT100 доступны в составе функции альтернативного набора символов; см. раздел "Графика линии" на странице terminfo (5).


Вероятно (на вашем сервере Debian) эффективная запись базы данных terminfo указывает, что ACS доступен, но ваш эмулятор терминала фактически не реагирует на указанные управляющие последовательности.

Файл tmux CHANGES указывает, что некоторые эмуляторы терминала (например, Putty) не соблюдают управляющие последовательности ACS, когда они находятся в режиме UTF-8. Таким образом, tmux 1.4 имеет изменение, которое всегда использует символы UTF-8 вместо ACS-последовательностей, когда клиент привязки указывает, что он может обрабатывать UTF-8 (т.е. При прикреплении, -u был указан или UTF-8 присутствует в LC_ALL, LC_CTYPE или LANG, опция окна utf8 - это то, что tmux следует ожидать от запущенных программ, а не то, что он может отправить подключенному клиенту).

Debian "squeeze" включает только tmux 1.3, поэтому ваш tmux, вероятно, не имеет функции "предпочтительного отображения линии UTF-8" (если он не тянет с < источник href= "http://backports-master.debian.org/" > backports).

Если вы не можете исправить эмулятор терминала или обновить его, по крайней мере, до tmux 1.4, вы можете использовать параметр tmuxs terminal-overrides, чтобы отключить возможности, связанные с ACS, чтобы tmux вернется к чертежу линии ASCII. В .tmux.conf (в системе Debian):

set-option -ga terminal-overrides ',*:[email protected]:[email protected]:[email protected]:[email protected]'

Ответ 2

У меня была такая же проблема с PuTTY и Windows 8 при подключении к tmux, запущенному на машине Debian Squeeze. Даже при настройке кодировки на UTF-8 в PuTTY (в настройках в разделе "Окно" > "Перевод" > "Удаленный набор символов" ) я не получил правильный чертеж линии.

Настройка удаленного набора символов на "Использовать кодировку шрифтов" сделала для меня трюк.

Ответ 3

Попробуйте установить в настройках шпатблирования набор символов в "UTF-8" и "Использовать коды кода юникода" в окне "Окно → Перевод".

Ответ 4

У меня была такая же проблема с Putty при запуске tmux на Linux 12.04. Даже установка кодировки в UTF-8 в PuTTY (в настройках в разделе "Окно" > "Перевод" > "Удаленный набор символов" ) не решила проблему.

Запуск tmux с опцией -u сделал трюк (tmux -u)

Ответ 5

Я пробежал по гамме предложений, включая:

  • подтверждение настройки языка и UTF-8 в PuTTY
  • экспорт NCURSES_NO_UT8_ACS = 1
  • вручную пробовать различные шрифты и варианты перевода PuTTY

Выше не получилось. Диалоговые дисплеи отображали qqqq... и xxxx с различными угловыми символами.

Изменение всех диалоговых вызовов для включения -ascii-линий было вариантом, но в нем было бы много изменений script.

Лучшей рекомендацией было изменить набор удаленных символов для использования кодировки шрифтов.

Настройки изменения PuTTY → Окно → Перевод → Удаленный набор символов → Использовать кодировку шрифтов

Остальные настройки PuTTY оставлены по умолчанию.

Ответ 6

Я изменил настройку в Putty для терминала на Latin-1, и это, похоже, устранило проблему.

Ответ 7

Если вы используете KiTTY, под вкладкой Windows → Перевод есть флажок, который называется "Разрешить рисование линий ACS в UTF". Это нужно проверить:

enter image description here

Ответ 8

под окнами/шпатлёй шрифт, который вы используете, должен содержать символы для отображения установить перевод "UTF-8" и "Использовать коды кода Юникода" и шрифт для "курьера-нового", и большинство этих проблем уходят

Ответ 9

Для меня проблема была в том, что я забыл сделать файл locale.conf при установке этого архива Linux. Ниже в строке исправлена проблема, подставьте свой язык. Перезагрузка для меня не требовалась.

echo "LANG=en_US.UTF-8" > /etc/locale.conf 

Ответ 10

Кажется, что выбор шрифта - запутывающий фактор здесь:

  • Lucida sans не отображает линию UTF-8, только - + | (Pipe) замена
  • Курьер New Bold делает горизонтальные линии, но | замена по вертикали
  • Курьер New Normal делает их все.