Я только что обновил Ubuntu Server с 18.10 до 19.04, а затем до 19.10. Я думаю, что это обновление также обновило его tmux
до более новой версии.
С тех пор мои tmux
скрипты, которые создают некоторые панели мониторинга, больше не работают.
При выдаче команды типа
tmux send-keys "echo 'test'" C-m;
Я получаю lost server
сообщение.
Это происходит, когда к сеансу, содержащему целевую панель, ничего не прикреплено.
Когда я начинаю сессию и присоединяюсь к ней, то send-keys
все работает.
Системный журнал содержит следующую запись
12 марта 23:27:33 ядро машины: [ 27.074805] tmux: server[2657]: segfault at 751 ip 000056042469f029 sp 00007ffe602aa6f0 ошибка 4 в tmux[560424675000+62000]
Вот как выглядит мой скрипт создания, он вызывается crontab
как @reboot
, но проблема возникает и при ручном запуске.
SESSION=stuff
tmux new-session -d -s $SESSION -n 'homepage'
tmux split-window -h -p 50
tmux select-pane -t 1; tmux send-keys "./lhp.sh" C-m;
tmux select-pane -t 2; tmux send-keys "./lnginx.sh" C-m;
tmux split-window -v -p 50
tmux select-pane -t 3; tmux send-keys "./lsmr.sh" C-m;
tmux new-window -t $SESSION -n 'shells'
tmux split-window -h -p 50
tmux select-window -t :1;
И в какой-то более поздний момент времени (часы или дни) я призываю
tmux attach-session -t stuff
для просмотра содержимого.
Кто-нибудь знает, могу ли я продолжать пользоваться им, как раньше?
решение1
Если я заменю ваши скрипты "./l*" на "sleep 10", скрипт не даст сбоя в tmux 3.1-rc, так что либо это ошибка в 2.9a, либо проблема в одном из ваших скриптов.
Конечно, скрипт тоже не работает — вы не можете смешивать new -t
и -n
. Вы имеете в виду -s
вместо -t
? И вам, вероятно, нужно добавить , -d
иначе остальная часть скрипта не запустится. Также ваши номера панелей неверны — вы разделяете только один раз, но затем выбираете панели 1 и 2, когда существуют только 0 и 1. Так что я подозреваю, что это не тот скрипт, который вы на самом деле используете.
В любом случае tmux 2.9a больше не поддерживается, поэтому лучше всего собрать tmux 3.0a или 3.1-rc и посмотреть, сохранилась ли проблема. Если она сохранилась, вы можете открыть вопрос наhttps://github.com/tmux/tmux/issues, желательно со скриптом, который вы действительно используете, и некоторыми файлами журнала tmux.
решение2
Это ошибка в tmux
.
Проблема отслеживается здесьhttps://bugs.launchpad.net/ubuntu/+source/tmux/+bug/1847484и на это есть ссылка здесьhttps://github.com/tmux/tmux/issues/1980
Исправление имеет низкий приоритет, поскольку это проблема «плохой конфигурации», поэтому она все еще существует как минимум в версии 3.0-rc5.
По сути, проблема заключается в следующем:
Таким образом, сбой, по-видимому, происходит при отправке нажатий клавиш во фрейм, который все еще показывает сообщения об ошибках при анализе конфигурации.
Поэтому вам нужно убедиться, что у вас есть действительный tmux
файл конфигурации, который не выдает ошибок, таких как
.tmux.conf:33: invalid option: pane-border-fg