Normalmente tengo varias ventanas de terminal, cada una de las cuales está conectada a través de ssh a un servidor remoto. En cada ventana trabajo usando el programa de pantalla gnu, para asegurar la persistencia de los procesos interactivos en caso de desconexión.
Actualmente, cada vez que se corta la conexión ssh (como cuando pongo mi computadora cliente a dormir durante la noche) tengo que reiniciar manualmente y tediosamente la sesión ssh dentro de cada ventana, y luego en cada ventana reanudar tediosamente la sesión de pantalla específica (por ejemplo, "pantalla - r 3453 "en una ventana," screen -r 3462 "en la otra, etc.)
¿Hay una manera elegante de automatizar esto? Específicamente:
vuelva a conectar la sesión ssh si se cae, tan pronto como se detecte una conexión a Internet
ejecute la instancia de pantalla específica para la ventana de terminal tan pronto como ssh vuelva a conectarse
Gracias por cualquier consejo sobre esto
fuente
No es necesario hackear bash loops. Tienes que buscar en autossh . Yo no lo he usado mucho, pero entiendo que simplemente reemplazas
ssh
conautossh
tu comando.Editar: De hecho, autossh viene con un script llamado
rscreen
que parece estar diseñado exactamente para este propósito.fuente