Так исторически сложилось, что для сохранения сессии при работе по SSH или чего-то такого обычно я использую screen . Но бывает, например, что ты работаешь с машиной, где у тебя нет рутовых прав, и где не установлен screen, но зато есть tmux. Поскольку я плохо помню сочетания клавиш tmux, то решил выписать их для себя в виде небольшой шпаргалки.
Итак, основные хоткеи следующие:
Ctr+B, ? | Показать все доступные хоткеи |
Ctr+B, C | Создать окно |
Ctr+B, N | Следующее окно |
Ctr+B, P | Предыдущее окно |
Ctr+B, [0-9] | Перейти к окну с данным номером |
Ctr+B, X | Закрыть окно |
Ctr+B, % | Горизонтальное разделение |
Ctr+B, » | Вертикальное разделение |
Ctr+B, стрелочки | Переход между разделениями |
Ctr+B, запятая | Переименовать окно |
Ctr+B, W | Список всех окон с переключением |
Ctr+B, Fn+вверх | Скролинг, можно использовать точпад |
Ctr+B, $ | Переименовать текущую сессию |
Ctr+B, D | Detach, отсоединиться от сессии |
Список доступных сессий можно посмотреть командой:
Подключение к сессии:
Сессиям можно давать осмысленные имена и запускать в них фоновые задачи:
tmux new-session -d -s background-task ‘watch date’
# подсоединиться к сессии
tmux attach -t background-task
# прибить сессию
tmux kill-session -t background-task
Это иногда бывает удобно в каких-нибудь скриптах. Характерно, что в screen подобный функционал тоже заявлен, но последний раз, когда я проверял, он был сломан.
Интересно также, что в отличие от screen, в tmux нет возможности работать с последовательными портами. Но если вы решите полностью переходить на tmux, то для этой задачи можете воспользоваться утилитой cu:
В общем-то, это все, о чем я хотел сегодня рассказать. Надеюсь, вы нашли эту информацию полезной.