Botón de cierre del terminal Trap gnome

Botón de cierre del terminal Trap gnome

Puedo capturar el exitcomando desde una gnome-terminalventana usando el comando Bash trap, pero solo funciona si el usuario escribe exiten la ventana del terminal. Si el usuario hace clic en el botón cerrar, el controlador de salida de trampa no se ejecuta.

Información de contexto: Me gustaría guardar el historial de Bash en un archivo de historial personalizado cuando el usuario hace clic en el botón cerrar. He usado export HISTFILE=/tmp/custom.hist, esto funciona en muchos casos (cuando el usuario hace clic en el botón cerrar en gnome-terminal, el historial se guarda en el archivo dado), pero en algunos casos el historial no se guarda, así que estoy buscando alternativas a configurando la HISTFILEvariable de entorno..

Respuesta1

Quieres atrapar SIGHUP;

De man 7 signal:

SIGHUP        1       Term    Hangup detected on controlling terminal or death of controlling process

Entonces, para atrapar tanto SUSPIRO como SALIDA:

trap 'export HISTFILE=/tmp/custom.hist' 1 EXIT

o:

trap 'export HISTFILE=/tmp/custom.hist' SIGHUP EXIT

Respuesta2

Puede guardar el archivo histórico después de cada comando. Este truco generalmente se usa para sincronizar el historial de múltiples ventanas, pero funcionaría en su caso. Ver por ejemplo,esta respuesta

información relacionada