Tmux автозапуск при подключении по ssh
У меня часто бывает, что я подключусь к серверу по ssh и запускаю какую либо задачу (копирование, проверки) которая может затянуться. Потом внезапно либо ssh отвалится ибо подключился с ноутбука или, что чаще всего случается - перевожу комп в спячку напрочь забыв про то, что там где-то что-то на сервере выполняется. Выполняемая на сервере задача при этом само собой прерывается. Все это от того, что я забываю запустить tmux при подключении.
Чтобы этого не происходило, я настроил автозапуск tmux при подключении по SSH.
Нужно добавить небольшой кусочек кода в .bashrc
добавляем следующее в ~/.bashrc:
if [[ -z $TMUX && -n $SSH_TTY ]]; then
me=$(whoami)
real_tmux=$(command -v tmux)
if [ -z $real_tmux ]; then
echo "No tmux installed."
fi
export TERM="xterm-256color"
if $real_tmux has-session -t $me 2>/dev/null; then
$real_tmux attach-session -t $me
else
if [[ -n $SSH_TTY ]]; then
(tmux new-session -d -s $me && tmux attach-session -t $me)
fi
fi
fi