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.