Se você precisa de SSH para um servidor remoto e tem a infeliz sorte de se conectar via BTOpezone WiFi – que me desconecta automaticamente por cerca de 2 horas – você precisa ter uma maneira de manter o estado do seu terminal e scripts, quando o Quebras de tubo SSH.
Screen e Tmux são muito bons nisso. Como o Screen é mais onipresente e pode ser encontrado pré-instalado nas versões mais recentes do * nix, eu queria uma forma de anexar a uma sessão de tela assim que fizesse login via SSH.
Adicione o seguinte ao seu
.bashrc
arquivo e na próxima vez que você fizer o SSH de volta, será anexado a uma sessão existente. NB que isso só funciona para a primeira sessão anexada encontrada. Provavelmente não funcionará muito bem para sessões múltiplas de Screen.
if [ $SSH_TTY ] && [ ! $WINDOW ]; then
SCREENLIST=`screen -ls | grep 'Attached'`
if [ $? -eq "0" ]; then
echo -e "Screen is already running and attached:n ${SCREENLIST}"
else
type -P byobu &>/dev/null && byobu -U -R || screen -U -R
fi
fi