Escenario
Yo uso mucho la terminal para SSH, sin embargo me gustaría que la aplicación de la terminal saliera cuando la última pestaña se cierra usando exit. Ya tengo la ventana de la terminal en sí para cerrar en la salida con éxito, sin embargo Terminal sigue funcionando. He seguido el tutorial de Ricky Campbell aquí que utiliza un AppleScript para salir de la terminal. El AppleScript funciona perfectamente cuando se ejecuta fuera de la Terminal, sin embargo, de alguna manera no puedo conseguir que funcione el comando de la trampa que necesita ser colocado en la terminal.
Para que sirva de referencia, publicaré aquí el texto correspondiente:
Ahora necesitamos una forma de iniciar el script. Esto se puede hacer con el comando bash "trap", haciendo que escuche la señal EXIT. Como quiero que esto ocurra cada vez que mi usuario abra un shell, lo añado a mi archivo .profile. Hago esto con nano:
$ nano ~/.profile
En este archivo añada lo siguiente en alguna parte. Es posible que tenga que editar la ruta del 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 obtiene, ejecuta el script que creamos antes.
Pregunta
¿Cómo puedo solucionar este problema? Por alguna razón la trampa no se dispara ni funciona como debería, incluso después de numerosos reinicios. ¿Existe una forma alternativa de hacer que la aplicación de terminal se cierre al salir de la última pestaña?
Solución
Los enlaces proporcionados por Dori llevaron a la solución. El artículo sugiere que el comando trap debe estar en .profile
cuando en realidad tiene que ser colocado en .bashrc
. Moverlo al script correcto arregló el problema.
0 votos
¿Has añadido el comando trap a tu /Users/YourUsername/.profile?
0 votos
@Martin Sí, lo he hecho. Ya lo he confirmado unas cuantas veces.