Estoy usando Gnome Terminal y tmux y me gustaría que todas las sesiones de tmux se cerraran cuando cierro Gnome Terminal, ¿es eso posible? Revisé el artículo de Arch Wiki sobre tmux y encontré un código relevante, pero ninguno de ellos hizo lo que yo quería. En este momento, si cierro y abro la Terminal de Gnome, obtengo la sesión que tenía, exactamente como estaba justo antes de cerrar la terminal con todos los paneles y programas ejecutándose. Lo que quiero es que todas las sesiones se eliminen cuando cierre Gnome Terminal.
Respuesta aceptada:
Opción 1:usa .bash_logout
En tu .bash_logout
archivo que puede agregar tmux kill-server
. Esto no funcionará si no está en un shell de inicio de sesión o si el shell se elimina con SIGHUP.
Opción 2:Usa trampas bash.
Esta opción es probablemente más robusta. Pon el siguiente código en tu .bash_profile
(asumiendo que usas bash).
function close_tmux
{
tmux kill-server
}
trap close_tmux EXIT
Enlaces a recursos adicionales sobre trampas
Algunos antecedentes sobre trap
declaraciones
Una publicación de blog con mucha trap
ejemplos
Un capítulo sobre trampas de una guía de secuencias de comandos de Bash
Una pregunta de intercambio de pilas de Unix y Linux sobre trampas