Creo que la página de manual relacionada es, XKillClient . Puede usar xdotoolpara simular el botón de cierre que se hace clic desde un terminal de esta manera.
Ejemplo
Suponiendo que tengo un gnome-terminalabierto y su nombre es "saml @ grinchy: / home".
Obtenga la ID de la ventana
$ xdotool search --name "saml@grinchy:/home"
96488188
Envíale un Alt+F4
$ xdotool windowactivate --sync 96488188 key --clearmodifiers \
--delay 100 alt+F4
Puede juntarlos incrustando el primer comando en el segundo:
$ xdotool windowactivate --sync $( ...1st command...) key --clearmodifiers \
--delay 100 alt+F4
Puedes salvarte dejando xdotoolambas cosas al mismo tiempo:
$ xdotool search --name "saml@grinchy:~" key alt+f4
Globalmente
Puede adaptar lo que he proporcionado para ejecutarlo en ventanas que tienen el mismo nombre:
$ xdotool search --name "saml@grinchy:~"
96488779
96468996
O en ventanas por otros atributos. Puede utilizar xwininfopara obtener más información sobre una ventana en particular. Ejecútelo y luego haga clic en la ventana de interés:
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x5c04d4b "saml@grinchy:~"
Absolute upper-left X: 14
Absolute upper-left Y: 74
Relative upper-left X: 14
Relative upper-left Y: 74
Width: 941
Height: 361
Depth: 32
Visual: 0x62
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x5c00003 (not installed)
Bit Gravity State: NorthWestGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners: +14+74 -485+74 -485-465 +14-465
-geometry 132x24+14+74
Otras herramientas útiles cuando se trata con ventanas X11 son xdpyinfo& xprop. xdpyinfose puede usar para encontrar información sobre el servidor X. Para que pueda averiguar qué ventana tiene foco:
$ xdpyinfo |grep focus
focus: window 0x5c00005, revert to Parent
xpropy xwininfopuede tomar un -idcambio para que pueda proporcionarles la ID de ventana que le interesa en lugar de tener que hacer clic en ella:
$ xprop -id 0x5c00001|grep -i class
WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"
Referencias
xdotool search --name "saml@grinchy:~" key alt+f4, el problema es que no he encontrado cómo hacer esto con varias ventanas que tienen el mismo nombre ...wmctrl -r :ACTIVE: -N "MyWindowTitlekey alt+F4a todas las ventanas (si se puede cambiar el tamaño, ¿por qué no alt + F4), pero sin suerte. Y gracias: D.xdotool search --name "gedit|terminal|office" key --window %@ alt+F4buscaré cualquier ventana que tenga gedit, terminal u oficina en su nombre de título y enviaré el comando alt + F4.Me pareció
xdotoolescamoso / con errores, a veces cierra la ventana de primer plano en lugar de la que debería estar cerrada. Esto parece deberse a la forma en que se envían las claves después de poner la ventana en primer plano en lugar de enviar directamente eventos de ventana, y es un problema muy molesto. Sugiero usarwmctrl, que cierra directamente una ventana sin enviar pulsaciones de teclas.Puede cerrar una ventana directamente haciendo coincidir el nombre, por ejemplo, ambos cerrarán la ventana "Documento sin título 1 - gedit":
Puede usar la
-Fopción para considerar solo coincidencias exactas:O puede dar la identificación directamente:
Se pueden encontrar más ejemplos de uso / documentación aquí .
Una cosa que encuentro muy útil es
xdotoolla capacidad de esperar hasta que haya un resultado usando el--syncargumento. La combinación del comando dos en uno se hace así:Si está en una Mac, probablemente necesitará el
-I{}parámetro:Si desea admitir varias ventanas, debe indicar
xargsque llamewmctrlcon un máximo de 1 argumento cada vez con la-nopción.wmctrlno admite explícitamente múltiples ventanas como argumentos:Esto esperará hasta que haya al menos 1 de esas ventanas y luego las cerrará todas.
fuente
top), por supuesto, lo mismo que cuando se hace clic en el botón Cerrar.xdotool search --sync --name "Software Updater" | xargs wmctrl -i -cen confianza, y empecé Software Updater. De ahora en adelante, el Actualizador de software no se muestra correctamente. Solo se muestra la barra de título. Reinstalar update-manager no ayudó.pkill (1) debería ser lo que necesita.
fuente
--signalinterruptor no es diferente dekillokillall. Estoy esperando el ¿Quieres salvar? alerta.