Por lo general, cuando ejecuto la aplicación en un entorno gráfico, cuando quiero cerrarla, hago clic Xen la esquina superior izquierda de la ventana o voy a File > Close.
A veces me gustaría cerrar estos programas de forma remota a través de ssh desde la terminal usando la línea de comando, ahora uso el killcomando pero me pregunto si hace lo mismo que salir de la aplicación correctamente.
La man killseñal predeterminada parece ser 15) SIGTERM, ¿esta señal le dirá a la aplicación que estoy tratando de cerrar para limpiar, cerrar archivos abiertos, guardar cosas?
¿Hay una mejor manera si quiero hacerlo desde la terminal?
command-line
Miguel
fuente
fuente

Respuestas:
La forma típica de cerrar la aplicación con gracia es usar
kill -TERM 1234, donde1234está el PID de la ventana. Sin embargo, el problema es que las aplicaciones gráficas están diseñadas para escuchar una señal específica del propio servidor X, no para escuchar laTERMseñal.Eso significa que necesitaría algún tipo de agente entre usted y el servidor X para comunicar que desea enviar la señal adecuada. Por supuesto, puede escribir un programa en C, sin embargo, ya existe un
wmctrlprograma (no sorprendentemente escrito en C) que hace exactamente eso.El uso de
wmctrles simple:No está instalado por defecto, así que consíguelo con
sudo apt-get install wmctrlHay muchos usos para
wmctrlmucho más que simplemente cerrar ventanas, así que vea más de mis respuestas y las de Jacob Vlijm para ver ejemplos de scripts donde se ha utilizadofuente
wmctrl -lenumerará todas las ventanas y dará la identificación numérica en hexadecimal en la primera columna. =)Minimize to tray on closeywmctrl -csolo cerrará una ventana, no la aplicación en sí, se mantendrá funcionando minimizado en la bandeja.Creo que vale la pena agregar que
wmctrl -xlgenerará resultados como este:Donde
xsolicita que la clase de ventana esté en la salida. Esta es a menudo la forma más fácil de cerrar el mismo programa cada vez. Luego, podemos suministrar la clase de ventana al cerrarla:Este ejemplo cerrará speedcrunch.
fuente