Saltar al contenido

Restaurar sesión tmux después de reiniciar

Esta es el arreglo más acertada que te podemos aportar, pero estúdiala detenidamente y valora si se adapta a tu trabajo.

Solución:

Sí, si reinicia su computadora perderá las sesiones. Las sesiones no se pueden guardar. Pero, pueden ser guionados. Lo que la mayoría hace en realidad es texto algunas sesiones para que pueda volver a crearlas. Por ejemplo, aquí hay un script de shell trivial para crear una sesión:

#!/bin/zsh                                                                                                   

SESSIONNAME="script"
tmux has-session -t $SESSIONNAME &> /dev/null

if [ $? != 0 ] 
 then
    tmux new-session -s $SESSIONNAME -n script -d
    tmux send-keys -t $SESSIONNAME "~/bin/script" C-m 
fi

tmux attach -t $SESSIONNAME

Esto es lo que hace. Primero, comprueba si ya hay alguna sesión con ese nombre (en este caso, el nombre muy original es “script”) con tmux tiene sesión. Comprueba el código de retorno. Si ya hay una sesión en curso con ese nombre, se salta el ciclo “si” y va directamente a la última línea, donde se adjunta a la sesión. De lo contrario, crea una sesión y envía algunos keys (solo ejecutando un script aleatorio por ahora). Luego sale del bloque “si” y se adjunta.

Esto es un muy muestra trivial. Puede crear varias ventanas, paneles y similares antes de adjuntarlos.

Esta voluntad no ser lo mismo que pediste, sin embargo. Si realiza algún cambio en la sesión, por ejemplo, cambia el nombre de una ventana y crea un nuevo panel en ella, si reinicia esos cambios, por supuesto, no se guardarán.

Hay algunas herramientas que facilitan el proceso de scripting de las sesiones, aunque yo prefiero hacer las cosas manualmente (creo que es más versátil). Esas herramientas son Tmuxinator y Teamocil.

Mi principal fuente de información fue el libro Tmux “The Pragmatic Bookshelf”.

Escribí un script bash simple que persiste en sesiones tmux abiertas, ventanas y directorios de trabajo actuales en cada uno.

Llámalo así manualmente o periódicamente desde cron (porque podrías olvidarlo):

tmux-session save

escribirá a ~/.tmux-session. Restaurarlos después de reiniciar así:

tmux-session restore

Encuentro esto mucho mejor que un script Perl de varios cientos de líneas.

Escribí un complemento tmux que le permite guardar el entorno tmux completo y restaurarlo más tarde. Se esfuerza por ser realmente detallado para que tenga la sensación de que nunca abandona tmux.

https://github.com/tmux-plugins/tmux-resurrect

Actualización: ahora hay un complemento tmux-continuum que realiza guardados automáticos en segundo plano del entorno tmux. Opcionalmente, también *automáticamente* restaura tmux env después de reiniciar la computadora.

Comentarios y calificaciones de la guía

Puedes secundar nuestra tarea exponiendo un comentario y puntuándolo te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *