web-dev-qa-db-fra.com

Comment fermer une seule fenêtre d'une application?

Je sais que si je passe à travers:

ps -ax | grep firefox

et utilise :

kill -9 "sid"

Je vais fermer toutes les fenêtres du programme.

Comment puis-je fermer une seule fenêtre d'une application exécutée via le terminal?

4
DOCff

L'option la plus simple est probablement d'utiliser wmctrl -c. Vous devrez peut-être l'installer d'abord:

~$ Sudo apt-get install wmctrl

puis pour fermer une fenêtre nommée "exemple" (quelle que soit l'application à laquelle elle appartient), utilisez la commande suivante:

~$ wmctrl -c "example"

Plus d'options

Cependant, il existe plusieurs options supplémentaires pour fermer une fenêtre spécifique, en fonction de votre "angle d'incidence".

Quelques exemples :

  1. Pour fermer une fenêtre spécifique en cliquant dessus:

    ~$ wmctrl -c :SELECT:
    [then click on the window to be closed]
    
  2. Pour fermer une fenêtre spécifique par son identifiant numérique:

    ~$ wmctrl -ic <numeric_id>
    
  3. Pour fermer la fenêtre active:

    ~$ wmctrl -c :ACTIVE:
    
  4. Pour utiliser le pid pour obtenir une liste des fenêtres appartenant à une application spécifique (par exemple, gedit):

    ~$ pidof gedit
    22576
    
    ~$ wmctrl -l -p | grep 22576
    0x04600085  0 22576  jacob-System-Product-Name get.sh (~/Bureaublad) - gedit
    0x0461aee4  0 22576  jacob-System-Product-Name verhaal (~/Bureaublad) - gedit
    0x0461b0a1  0 22576  jacob-System-Product-Name *Niet-opgeslagen document 1 - gedit
    

    puis fermez la fenêtre spécifique get.sh en:

    wmctrl -c get.sh
    

    ou:

    wmctrl -ic 0x04600085
    
  5. Si vous ne connaissez que une partie du nom de la fenêtre, par ex. il y a une fenêtre; monkey eats banana.txt, vous savez qu'il a banana dans son nom,

    • d'abord amener la fenêtre à l'avant:

      wmctrl -a banana
      
    • puis décidez si vous voulez fermer la fenêtre (en tant que fenêtre active par exemple)

les options sont nombreuses, voir aussi man wmctrl. man wmctrl

8
Jacob Vlijm