
Сегодня я наконец решил переустановить ОС на своем домашнем сервере с CentOS 5 на CentOS 7. Вместе с этим я решил попробовать tmux вместо screen, который я использовал годами. Мне удалось перенастроить его внешний вид и поведение почти идеально под свои нужды, но есть еще одна раздражающая вещь. В screen, когда я делаю какие-то действия (например, в vi - пытаюсь переместить курсор вверх, находясь на первой строке, или нажимаю неизвестную горячую клавишу и т. д.) - фон мигает на мгновение - я полагаю, это своего рода предупреждение или что-то в этом роде. В любом случае, мне нравится эта функция.
Теперь в tmux он не мигает. Более того, он воспроизводит системный звук по умолчанию. Это действительно раздражает. Как мне изменить этот звук на визуальное мигание?
Я подключаюсь к этому серверу через Putty с рабочего стола Win, если это имеет значение.
решение1
короче: в вашем.tmux.conf
set -g visual-bell on
длинный: Некоторые приложения проверяют какbel
иflash
возможности терминала, и позволяют вам выбрать, что будет использоваться. tmux
не делает. Он только читаетbel
, так что вымогизмените описание вашего терминала, чтобы изменитьbel
к строке для мигания дисплея.
Это могло бы сработать, за исключением того, что покаtmux
читаетданные terminfo, он не использует соответствующиеtputs
илиputp
функции для отправки данных terminfo, которые включают задержки времени. Вам нужны эти задержки на большинстве терминалов (включая все те, которые имитируют xterm) для реализацииflash
.
Интересно, что в описании терминала screen
есть flash=\Eg
, но ни он, ни tmux ничего с этим не делают (screen использует его внутренне как часть своей функции визуального звонка). У tmux также есть функция визуального звонка, которую вы можете настроить в файле конфигурации. Это не будет мигать экраном, а просто поместит кратковременное оповещение в строку состояния.
Дальнейшее чтение:
visual-bell
[вкл | выкл]
Если эта опция включена, сообщение отображается на колокольчике, а не передается на терминал (который обычно издает звук). Также см.bell-action
вариант.
bell-action
[любой | нет | текущий | другой]
Установить действие для звонка окна. any означает, что звонок в любом окне, связанном с сеансом, вызывает звонок в текущем окне этого сеанса, none означает, что все звонки игнорируются, current означает, что игнорируются только звонки в окнах, отличных от текущего, а other означает, что игнорируются звонки в текущем окне, но не в других окнах.