GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo iniciar automáticamente la sesión de pantalla en Linux al iniciar sesión

Hace unos días vimos cómo autoiniciar sesión Tmux siempre que inicie sesión en un sistema Linux, ya sea de forma local o remota a través de SSH. Hoy vamos a ver cómo iniciar automáticamente Pantalla sesión en Linux al iniciar sesión. Las sesiones de pantalla de inicio automático serán de gran ayuda cuando se ejecute un proceso de larga duración a través de SSH. Si perdió la conectividad de la red por algún motivo, el proceso seguirá ejecutándose dentro de la sesión de Pantalla en el sistema remoto y podrá volver a conectarse cuando la red vuelva a estar en línea.

Sesión de pantalla de inicio automático en Linux al iniciar sesión

Para iniciar automáticamente la sesión de Screen en Linux, edite el ~/.bash_profile de su sistema Linux o ~/.bashrc archivo:

$ nano ~/.bash_profile

Si el archivo anterior no está disponible, simplemente créelo.

Y agregue las siguientes líneas en él:

if [[ -z "$STY" ]]; then
   screen -xRR default
fi

Aquí, usamos -x indicador para adjuntar a una sesión de pantalla no desconectada. Y el -RR flag intenta reanudar la sesión de pantalla desconectada más reciente (en términos de tiempo de creación) que encuentra.

Nota: Si usa Zsh shell, agregue las líneas anteriores en ~/.zshrc archivo.

Guarde y cierre el archivo. Cerrar sesión y volver a iniciar sesión en el sistema. Accederá a una nueva sesión de Pantalla llamada ‘default’ .

Ahora, inicie cualquier proceso dentro de la sesión de Pantalla y desconéctelo presionando Ctrl+a seguido de d . El proceso seguirá ejecutándose dentro de la sesión de Pantalla incluso si la conexión a la red se desconecta. Una vez que la conexión a la red haya regresado, puede volver a conectarse mediante SSH al sistema remoto y verá que el trabajo aún se está ejecutando.

Eche un vistazo a la siguiente demostración animada:

Permítanme aclarar lo que acabo de hacer en el resultado anterior.

  1. Me conecto a mi servidor Ubuntu remoto a través de SSH desde mi sistema local. Se inicia automáticamente una nueva sesión de pantalla denominada "predeterminada".
  2. Dentro de la sesión de Pantalla, ejecuto un comando (Ej. watch grep \"cpu MHz\" /proc/cpuinfo) para monitorear la velocidad de la CPU.
  3. Luego, me desconecté de la sesión presionando Ctrl+a y d .
  4. Y luego, enumero las sesiones de Screen usando el comando "screen -ls" y salgo de la sesión SSH.
  5. Finalmente, me vuelvo a conectar al sistema remoto a través de SSH y verifico si el proceso continúa ejecutándose dentro de la sesión de Screen sin ninguna interrupción.

Espero que lo entiendas.

Para detener el inicio automático de la sesión de Screen, simplemente elimine las líneas que se agregaron anteriormente desde el ~/.bashrc de su sistema remoto. o ~/.bash_profile archivo.


Linux
  1. ¿Cómo terminar la conexión SSH que no responde en Linux?

  2. Linux:cómo guardar una sesión X:¿Archlinux+openbox?

  3. ¿Cómo deshabilitar la atenuación de pantalla en 14.04?

  4. Cómo usar el comando de pantalla de Linux

  5. Cómo usar el comando "pantalla" en Linux

Cómo verificar si está en sesión de pantalla o no en Linux

Inicio automático de la sesión de Tmux en el sistema remoto al iniciar sesión a través de SSH

Cómo usar el comando de pantalla en Linux para administrar terminales

Cómo usar el comando de pantalla de Linux [Guía esencial]

Cómo usar el comando de pantalla en Linux

Cómo borrar la terminal en Linux {Borrar pantalla en Linux}