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.