I started with screen for multiplexing and session persistence. Later I switched to tmux. I liked it fine, but Emacs has been gradually devouring my workflow for a long time, so before long I dropped tmux in favor of splitting windows and running shells all within Emacs, and using its server mode/emacsclient for session persistence (with a little help from dtach to keep emacsclient itself running to remember my window layout). Just recently I’ve dropped dtach as well in favor of a few lines of elisp to save and restore alternate window layouts.
I started with screen for multiplexing and session persistence. Later I switched to tmux. I liked it fine, but Emacs has been gradually devouring my workflow for a long time, so before long I dropped tmux in favor of splitting windows and running shells all within Emacs, and using its server mode/emacsclient for session persistence (with a little help from dtach to keep emacsclient itself running to remember my window layout). Just recently I’ve dropped dtach as well in favor of a few lines of elisp to save and restore alternate window layouts.