4

В Byobu 5.17 (с использованием tmux 1.6), как мне отформатировать файл windows.tmux? Я немного поковырялся, но так и не смог найти правильный ответ.

Для справки, вот экранная версия того, что я хочу:

screen -t log watch -n 10 tail -n 5 /var/log/syslog /var/log/auth.log /var/log/ dmesg
screen -t mem watch -n 30 "df -h; echo ""; free -mt"
screen -t top top
screen -t bash /bin/bash

Большое спасибо.

2 ответа2

3

Я наконец узнал, как заставить это работать. Для начала нужно обновить версию до версии Byobu 5.85 или выше. Вот соответствующий коммит с исправлением и есть PPA для Ubuntu.

Во-первых, проверьте, что строка source-file $BYOBU_CONFIG_DIR/windows.tmux в /usr/share/byobu/profiles/tmuxrc или не будет работать.

Как вы можете видеть в обновленной документации части коммита, вам нужно связать свои команды точкой с запятой. Чтобы взять пример tmux из Arch Wiki и заставить его работать, он будет выглядеть так:

new -A -s SessionName -n WindowName nano;
neww -n foo/bar top;
splitw -v -p 50 -t 0 top;
selectw -t 1;
selectp -t 0

Не забудьте добавить -A к команде new/new-session, иначе Byobu не сможет повторно подключиться к существующему сеансу.

Вам следует обновиться до более новой версии tmux, если вы используете версию 14.04 или более старую версию, чем tmux 1.9, чтобы избежать этой проблемы: создайте новое окно с текущим каталогом в tmux

1

Нечто подобное должно работать, но вы также можете заглянуть в tmuxinator или tmuxp, чтобы указать профили tmux в YAML.

new -s tmuxs # creates a new tmux session, replace "tmuxy" with whatever you'd like to name the session
new-window -n log 'watch -n 10 tail -n 5 /var/log/syslog /var/log/auth.log /var/log/dmesg'
new-window -n mem 'watch -n 30 "df -h; echo ""; free -mt"'
new-window -n top 'top'
new-window -n bash

Это довольно очевидно, создайте сессию, а затем начните создавать окна, называя их через '-n' и включая команду, которую вы хотите запустить в качестве последнего аргумента.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .