Плагины для Tmux. Часть 1
В продолжение темы про Tmux рассмотрим несколько полезных плагинов.
📌 Для начала установим менеджер плагинов Tmux Plugin Manager
1
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
- В конфигурационный файл tmux (
~/.tmux.conf) добавим
1
2
3
4
5
6
# список плагинов
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# инициализация Tmux Plugin Manager (оставляем внизу конфигурационного файла)
run '~/.tmux/plugins/tpm/tpm'
Отметим, что в списке плагинов помимо самого менеджера присутствует плагин tmux-sensible - ряд базовых улучшений на основе опыта работы с tmux - можно использовать на свое усмотрение.
- Подхватим изменения
1
tmux source ~/.tmux.conf
📌 Плагин для сохранения / восстановления сессий Tmux Resurrect
Как известно, настроенное окружение в Tmux слетает после перезагрузки сервера. Заходишь, заново все перенастраиваешь и так до следующей перезагрузки. Для решения этой проблемы существует плагин Tmux Resurrect, благодаря которому можно сохранить все настроенное окружение Tmux сессий и восстановить в одно сочетаний клавиш.
- Добавляем плагин в
~/tmux.conf1
set -g @plugin 'tmux-plugins/tmux-resurrect'
- Сохраняем изменения. Для установки и включения плагина выполняем команду
Ctrl+b I- Tmux Plugin Manager установит плагин и обновит окружениеTmuxавтоматически. Плагин готов к применению.
❗️ Как применять
- Подключаемся или создаем новую сессию
1
tmux new -s session1 -
Настраиваем панели, окна, запускаем все требуемые приложения и так далее
-
Комбинацией клавиш
Ctrl + b Ctrl + sсохраняем сессию (в status bar tmux выпадет уведомление об успешном сохранении сессии). - Уничтожаем сессию или перезагружаемся
1
tmux kill-session -t session1 -
Открываем tmux заново
- Восстанавливаем сессию комбинацией клавиш
Ctrl + b Ctrl + r
❗️❗️ Интересный момент. В одном из окон при сохранении сессии у меня был открыт midnight commander. После восстановления окно с ним оказалось пустым, процесс не восстановился, хотя все остальные окна и процессы успешно вернулись в прежнее состояние. Для таких случаев существует возможность задать отдельную конфигурацию для конкретного процесса.
Добавляем в ~/tmux.conf следующее правило
1
set -g @resurrect-processes 'mc'
Таким образом, при восстановлении сессии через tmux-resurrect mc будет перезапущен (правда вкладки в mc не восстановятся, но уже что-то).
