Escenario
Utilizo mucho la terminal para SSH, sin embargo, me gustaría que la aplicación de la Terminal se cierre cuando la última pestaña se cierre con exit. Ya tengo la ventana del terminal configurada para cerrarse en una salida exitosa, sin embargo, el Terminal sigue funcionando. Seguí el tutorial de Ricky Campbell aquí que utiliza un AppleScript para salir del terminal . El AppleScript funciona perfectamente cuando se ejecuta fuera de la Terminal, sin embargo, de alguna manera no puedo hacer que funcione el comando de captura que debe colocarse en la terminal.
Para referencia, publicaré el texto relevante aquí:
Ahora necesitamos una manera de comenzar el guión. Esto se puede hacer con el comando bash "trap", haciendo que escuche la señal EXIT. Como quiero que esto suceda cada vez que mi usuario abre un shell, lo agrego a mi archivo .profile. Hago esto con nano:
$ nano ~ / .profile
En este archivo, agregue lo siguiente en algún lugar. Es posible que deba editar la ruta al archivo AppleScript que creó anteriormente:
trap '/ usr / bin / osascript $ HOME / Scripts / QuitTerminal.scpt' EXIT
Todo lo que hace es escuchar la señal EXIT dentro de bash y, cuando la recibe, ejecuta el script que creamos anteriormente.
Question
¿Cómo hago para solucionar este problema? Por alguna razón, la trampa no está disparando o funcionando como debería, incluso después de numerosos reinicios. ¿Hay alguna forma alternativa de cerrar la aplicación Terminal cuando se cierre la última pestaña?
Solución
Los enlaces proporcionados por Dori llevaron a la solución. El artículo sugiere que el comando de captura debería estar en .profile
, cuando en realidad debe colocarse en .bashrc
. Moverlo al script correcto solucionó el problema.