Для запуска tmux
при каждом входе в оболочку ~/.bashrc
на сервер добавлялось следующее :
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new; exit
fi
Я также хочу изменить заголовок окна на что-то вроде user@server
(вместо user@localhost
), когда ssh на хост. Вот мой ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
set -g set-titles on
set -g set-titles-string "#T"
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Как видите, set-titles
был установлен на on
, но он не работает, как ожидалось.
Больше информации:
Вне tmux:
$ echo $TERM
xterm
Внутри Tmux:
$ echo $TERM
screen
show -g
: https://clbin.com/h7oDh
tmux info
: http://sprunge.us/XHCB
И вот логи, когда бегаете tmux -vvvvv
немного:
- tmux-client-8441.log: https://clbin.com/eFwFF
- tmux-out-8443.log: https://clbin.com/MSKZv
- tmux-server-8443.log: https://clbin.com/JXwRN
Если я закомментирую строки ~/.bashrc
с моего ноутбука, ssh, на сервер, строка заголовка будет отображаться правильно ( quanta@server
), а затем запуск tmux
оттуда также работает, как и ожидалось.
Но если я хочу начать tmux
сразу после входа в систему, строка заголовка остается quanta@Ubuntu
после ssh.
ОБНОВЛЕНИЕ Пт 10 мая 07:51:23 ИКТ 2013
Я удалил exit
команду, чтобы не закрывать сеанс оболочки при закрытии последнего tmux
окна:
if [ $TERM != "screen-256color" ] && [ $TERM != "screen" ]; then
tmux attach || tmux new
fi
Странная вещь:
- SSH на сервер -> строка заголовка:
quanta@Ubuntu
- отделить от
tmux
-> строка заголовка переключиться наquanta@server
- прикрепить
tmux
снова -> строка заголовка по-прежнему отображается правильноquanta@server
Я не уверен, связано ли это с PROMPT_COMMAND
переменной окружения или нет:
Вне tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"
Внутри tmux
:
$ echo $PROMPT_COMMAND
echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"
tmux info
.Ответы:
Проблема решена!
Чтобы включить встроенную прокрутку мыши xterm
tmux
, на многих вики , сайтах вопросов и ответов , в блоге предлагается добавить строку вроде:к
~/.tmux.conf
. И это виновник.Чтобы разрешить заголовки xterm в окне терминала, вам также нужно добавить
XT
флаг, примерно так:Источник: http://opennomad.com/content/goodbye-screen-hello-tmux
источник
rxvt
настройкойset -ga terminal-overrides ",rxvt*:XT"
-a
опцию withset
для добавления переопределений smcup / rmcup. Это исправит другие странные проблемы, такие как невозможность правильно установить форму курсора.Наткнулся на эту ветку из списка рассылки tmux-users. Тема была озаглавлена: набор заголовков не работает . Есть несколько вещей из этой темы, чтобы попробовать. Здесь также есть более чистая версия темы .
Ресурсы XTerm
Для начала можно было бы добавить следующую строку в ваш файл ресурсов XTerm
~/.Xresources
:Советы по отладке tmux
В этой ветке также было несколько советов по отладке, которые также могут вам помочь.
многословный Tmux
tmux -vvvvv
vi foo
После этого у вас должно быть 3 файла, что-то вроде этого:
информация о Tmux
источник
XTerm*allowSendEvents: true
не работал Файлы журнала были загружены. Смотрите мой обновленный вопрос.