Если использовать постоянные сессии tmux, то есть проблема с пониманием GIT (да и не только), где же у нас ssh-агент, чтобы авторизоваться на сервере GitLab, GitHub или еще каком.
Добавить куда-нибудь в домашнюю директорию: .profile, .bash_profile, .bashrc или еще какое место, чтобы при запуске сессии отработало:
if [ ! -z "$SSH_AUTH_SOCK" ]; then
if [ ! \( -L ~/.ssh/auth_sock -a -S ~/.ssh/auth_sock \) ]; then
echo -e "SSH Agent: \e[32mused my socket\e[0m"
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/auth_sock
else
echo -e "SSH Agent: \e[33mused other session\e[0m"
fi
export SSH_AUTH_SOCK=~/.ssh/auth_sock
fi
При подключении по ssh, после авторизации, пишет, чья сессия владеет unix-сокетом агента. Ну и настраивает так, чтобы было хорошо.
Далее tmux attach -t <session> и можно работать.
Да, вместо tmux можно использовать screen. Кому что нравится.