Restore Tmux Sessions After Reboot
OK, we see how we save and restore our sessions in tmux
. Look at this article
Restore Tmux Sessions
But after rebooting the system how can we start the saved sessions? Here what I was doing before:
To restore sessions after reboot I run:
$ tmux new-session
Then I hit
prefix + ctrl-r
This restores all of my sessions and windows, but it also leaves me with the “extra” session that was created with
new-session
.I kill this new session. This drops me out of
tmux
and back to the default terminal. Then I have to run:$ tmux attach
Now I’m finally in my restored session without the “extra new-session”.
You see it is a real pain. For every reboot. For. Every. Reboot.
For lazy developers like us, there is always a “one-line” or “one-click” or “one command” solution. Thanks for github there were some alternatives and found mine: github solution.
alias mux='pgrep -vxq tmux && tmux new -d -s delete-me && tmux run-shell ~/.tmux/plugins/tmux-resurrect/scripts/restore.sh && tmux kill-session -t delete-me && tmux attach || tmux attach'
I had to tweak this code a little bit since -q
flag throws an error. Also I
made it more readable.
alias mux='pgrep -vx tmux > /dev/null && \
tmux new -d -s delete-me && \
tmux run-shell ~/.tmux/plugins/tmux-resurrect/scripts/restore.sh && \
tmux kill-session -t delete-me && \
tmux attach || tmux attach'
OK, now it is a “one command” solution.