Estoy usando la utilidad Screen y me gustaría preservar la sesión cuando la máquina se reinicie. Si no es posible, puede recomendar otras alternativas a Screen que permitan preservar las sesiones entre reinicios.
Estoy usando Ubuntu Server 10.04 (Lucid Lynx) si eso es importante.
Tengo varias sesiones abiertas a través de la pantalla. Cuando la máquina se reinicia, todas esas sesiones se pierden y tengo que volver a abrirlas. Quería encontrar una manera de preservar esas sesiones de pantalla.
gnu-screen
Sergey G
fuente
fuente
Respuestas:
En primer lugar, aclaremos un par de cosas importantes:
Si hay una máquina involucrada, o si el servidor se está reiniciando, la mayoría de las veces no tiene suerte.
Si está iniciando sesión en una máquina remota, pero necesita reiniciar su máquina local, entonces no hay problema siempre que esté ejecutando la pantalla en la máquina remota en lugar de en su máquina local. Me doy cuenta de que esto es bastante obvio para cualquier usuario experimentado (incluso un poco experimentado) de la pantalla, pero lo menciono en caso de que pueda ser útil.
Otra posibilidad más (una vez más, si esto es útil para usted depende de sus circunstancias) es ejecutar la máquina con pantalla en una VM. Supongamos que es un servidor físico remoto y necesita reiniciarse, pero tiene un sistema operativo invitado en (por ejemplo) VMware. Puede suspender el sistema operativo invitado e iniciarlo nuevamente después de reiniciar el hardware. Todo depende de por qué necesita reiniciar, lo que no se especificó, y cuánto control tiene sobre la máquina, y si está dispuesto a meterse en todos esos problemas.
No existe una solución FÁCIL, y es posible que ninguna de las soluciones funcione para usted. Pero la mejor de las suertes.
Si está iniciando sesión en muchas máquinas, puede parecer demasiado doloroso ejecutar la pantalla en todas las máquinas remotas por separado, y lo es. En este caso, es útil tener una pantalla de funcionamiento de la máquina intermedia, que puede tener muchas ventanas de pantalla, cada una conectada a otra máquina remota. Mientras la máquina intermedia permanezca activa, puede reiniciar su propia máquina local (o empacarla en su bolso y llevarla a casa por la noche, o lo que sea) y la pantalla sigue funcionando en la máquina intermedia. (Y, obviamente, si alguna de las máquinas remotas se cae, pierde la conexión con esa máquina, pero el resto de sus sesiones de pantalla están bien).
Pero lo más probable es que se refiera a la máquina remota o a la única máquina que se reinicia, en cuyo caso no hay una manera simple de hacerlo. CryoPID suena prometedor al principio, pero su sitio web dice que no funciona para la pantalla.
Pero hay otra opción algo prometedora que vale la pena explorar. (Si funcionará para usted depende en gran medida exactamente de lo que está tratando de hacer). Mire esto en github.com: https://github.com/skoneka/screen-session/tree/master/ScreenSession/
fuente
En algunas circunstancias excepcionales esto es posible (ver CryoPID o CryoPID2 ), pero en general esto es difícil, por lo que no se puede hacer.
fuente
En lugar de usar la pantalla, use una VM Virtualbox pequeña y trabaje dentro de eso. Luego puede hibernarlo, reiniciar el host y luego volver a activar la VM (al igual que cerrar y volver a abrir la tapa de una computadora portátil). Las conexiones SSH a hosts remotos probablemente no persistirán con este método, no creo que sea posible garantizarlo.
fuente
No puedes. Ciertamente no en la misma máquina
fuente
En todo esto, la pantalla en sí es bastante marginal. No es la pantalla lo que quieres "guardar", ¿verdad ?, sino los entornos dentro de las diferentes sesiones de pantalla, sean cuales sean.
Parece estar sugiriendo que guardar una sesión de Screen cubriría un proceso SSH en su interior y todo tipo. Lo que se está ejecutando dentro de Screen no es asunto de Screen en absoluto, y esas son cosas que serían difíciles de "salvar" ... lo que eso realmente significaría si fuera implementable.
fuente