¿Hay un cierre de sesión de terminal que haga algo como lo que hace GNU Screen?

8

Como la mayoría de ustedes saben, GNU Screen es una buena herramienta que les permite hacer algo como:

Otro buen uso para la desconexión y reconexión es como una función de "escritorio remoto" en modo consola. Puede desconectarse de una sesión de pantalla en el trabajo, acceder a la máquina desde su casa y volver a conectarla. Muy, muy a mano. Con un poco de trabajo extra, incluso puede tener una serie de terminales conectadas a la misma sesión, ideal para esfuerzos de colaboración y reuniones.

Ahora tengo curiosidad, ¿hay alguna manera de hacerlo sin Screen? También, en lugar de cerrar sesión, escribo magiclogout y la próxima vez que inicio sesión obtengo mi sesión anterior (si el sistema operativo no ha reiniciado ofc)

NoSenseEtAl
fuente

Respuestas:

6

byobu se basa en la pantalla; Tiene una opción de menú para convertirlo en su shell predeterminado.

Puede exitdesconectarse de la forma habitual o normal alt-A, Dcomo lo haría con una pantalla plana, y su sesión estará esperando cuando vuelva a iniciar sesión.

Además, agrega una serie de claves para la administración de terminales, F2para crear una nueva terminal F3y F4para moverse entre ventanas, y una barra de estado con una serie de indicadores útiles, como actualizaciones de paquetes pendientes.

Se instala por defecto en las compilaciones de Ubuntu Server, y rápidamente se convierte en mi terminal predeterminada en la mayoría de los servidores que administro.

Como dije, byobu depende de la pantalla para funcionar ... No conozco ninguna forma de reanudar una sesión que no sea que un proceso se mantenga en ejecución en la máquina de destino.

Editar: byobu también envolverá tmux (que es el predeterminado en las versiones más nuevas de Ubuntu). No tiene que hacer nada en la mayoría de los casos, solo usará el multiplexor de terminal predeterminado.

Adrian
fuente
2

es posible que desee echar un vistazo a tmux

usuario8868
fuente
1

Podría tener algo como esto con un software de escritorio remoto que cree su propia sesión, como por ejemplo FreeNX en el servidor y el cliente NoMachine en el cliente.

También puede usar esto con el servidor y la máquina del cliente siendo la misma máquina, para simular lo que solicita.

enzotib
fuente
1

Esto no es posible sin usar screen, byobu (como lo menciona Adrian) o herramientas similares.

Un shell interactivo debe estar conectado a un tty. Si cierra sesión, el shell pierde la conexión con el tty y sale.

Screen y sus amigos evitan esto creando uno o más ttys virtuales persistentes. Cuando cierra la sesión, el shell permanece conectado al tty virtual y no se da cuenta de que el usuario se desconectó.

Para programas no interactivos, no se requiere un tty y, en lugar de la pantalla, puede usarlo nohup.

Como señala Adrian, es posible utilizar byobu por defecto y, como saben, muchos usuarios avanzados comenzarán screencomo lo primero que hacen después de iniciar sesión. ¿Hay alguna razón específica por la que quieres evitar la pantalla?

ene
fuente
Considero que la pantalla es inconveniente porque estoy acostumbrado a desplazarme y el modo de copia es un poco irritante para mí. Pequeñas cosas que sé. :)
NoSenseEtAl
0

Puede iniciar un comando a través de nohup:

nohup command &

Si desea tener la salida en algún lugar guardada, haga

nohup command > output.txt &

Ahora debe separar el software en ejecución

  1. presionando CTRL-Z
  2. entrar bg
  3. disown %1

Se nohuppueden encontrar más sugerencias en su página de manual ( http://ss64.com/osx/nohup.html ), lo mismo para disown( http://ss64.com/osx/disown.html ).

Sascha Biermanns
fuente