shell – Guardar el estado completo de la sesión de la pantalla GNU

Pregunta:

¿Es posible conservar el "estado" de una ventana de pantalla GNU (o simplemente un shell estándar) para que pueda volver a cargar todo después de reiniciar?

  • El número de conchas abiertas
  • El nombre de cada caparazón
  • El directorio actual de cada shell
  • La historia de cada caparazón
  • Si es posible, sus variables de entorno

Respuesta:

Realmente no es posible guardar una sesión de pantalla completa.

Lo que puede hacer es crear un .screenrc adecuado que configurará algunas cosas después de reiniciar su sistema.

Aquí hay algunos comentarios sobre las cosas que enumeró:

  • El número de conchas abiertas
  • El nombre de cada caparazón
  • El directorio actual de cada shell

Utilizo algo como esto en mi .screenrc para abrir algunos shells específicos al inicio:

## set the default shell
shell                   zsh

# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]

Obtendrá la cadena entre "" como el nombre de su ventana y el comando después del nombre se ejecutará en su shell predeterminado. Incluya cualquier script que desee, por ejemplo, cambie en un directorio específico y abra algunos registros.

  • La historia de cada caparazón

¿Alguna vez ha pensado en compartir la historia de los proyectiles en sus sesiones? En mi humilde opinión, esto hace las cosas mucho más fáciles. En ZSH se hace con setopt SHARE_HISTORY en su .zshrc

  • Si es posible, sus variables de entorno

Si realmente necesita esto y no quiere ninguna compensación, podría pensar en un script de shell, que lee el estado actual de la pantalla, guarda el número de shells, variables de entorno, etc. y coloca esta información en un script de inicio. llamado por su .screenrc . Para mí, esto no valdría la pena porque aprecio un entorno limpio después de un reinicio, si puedo personalizar las ventanas predeterminadas para la pantalla.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım