I use URxvt and a systemd-run to daemonize tmux even if I close my graphical session.
I use a function for the local tmux session and an alias for remote ssh tmux sessions, with a different bindings (MOD+x & MOD+w).
Like that I am always in tmux localy and remotely just by launching URxvt.
# open a new tmux session named ssh_tmux or attach to it
alias tmuxs='tmux new-session -A -s ssh_tmux && exit'
# open a new default tmux session with a named default or attach if it exist
tmuxa () {
systemd-run -q --scope --user tmux new-session -A -s default "$@"
exit
}
# run tmux if TMUX variable is null
if [[ "${TERM-}" != tmux* ]] && [[ -z "${TMUX}" ]] && [[ -z "${SSH_CONNECTION}" ]]; then
tmuxa
elif [[ -z "${TMUX}" ]] && [[ -n "${SSH_CONNECTION}" ]]; then
tmuxs
fi