Le chat de ma copine marchait sur mon ordinateur portable et je ne l'ai pas remarquée. Quand je me suis tourné pour vérifier, je vois que j'ai 32 onglets "Archive Manager". Comment puis-je les fermer tous instantanément, comme si vous utilisiez Alt+ F4sur chacun d'eux à la fois.
11
kill cat
action que j'allais suggérer.killall file-roller
: DUne autre approche serait d'utiliser l'
wmctrl
utilitaire (contrôle Window Manager). Cela peut être utilisé pour dire au gestionnaire de fenêtres de faire semblant d'avoir cliqué sur le bouton Fermer. Cela évite la nature potentiellement brutale dekillall
; par exemple, certains programmes avec un document non enregistré se fermeront immédiatement lorsqu'ils sont tués (même doucement), tandis que cliquer sur le bouton de fermeture fait apparaître "Voulez-vous enregistrer?" rapide.La commande de base est
wmctrl -c WINDOWTITLE
, donc dans ce caswmctrl -c "Archive Manager"
(en supposant qu'elle n'a pas de fichier ouvert: cela change le titre). Malheureusement, il ne se ferme qu'un à la fois, nous devons donc en faire plus pour les fermer tous.wmctrl
renvoie le succès s'il trouve une correspondance, nous pouvons donc boucler jusqu'à ce qu'il échoue:Cela choisit toujours la première fenêtre qu'il trouve, nous devons donc dormir un peu pour éviter d'envoyer continuellement un flux de commandes de fermeture à la première fenêtre qui est déjà occupée à fermer - ce qui peut provoquer une erreur qui arrête la boucle.
C'est simple et cela fonctionne généralement, mais dormir pendant un certain temps et espérer qu'une fenêtre se ferme avant de réessayer est un moyen compliqué et lent d'éviter l'erreur. Ce que nous voulons vraiment faire, c'est envoyer immédiatement un message de fermeture à chaque fenêtre correspondante.
Nous pouvons trouver toutes les fenêtres ouvertes avec
wmctrl -l
. Cela répertorie un identifiant de fenêtre numérique que nous pouvons utiliser pour identifier chaque fenêtre individuellement, même si elles ont toutes le même titre. Ensuite, nous devons filtrer uniquement les fenêtres correspondantes (lagrep
commande), extraire uniquement l'ID de la fenêtre (lacut
commande) et appelerwmctrl -i -c
chacune d'elles. Le-i
est nécessaire pour faire correspondre l'ID de la fenêtre au lieu du titre de la fenêtre.Un peu compliqué pour simplement taper chaque fois qu'un chat marche sur votre clavier, mais j'espère une technique pratique à conserver dans votre boîte à outils de script.
la source
Vous pouvez utiliser le raccourci clavier Ctrl+ Qqui fermera toutes les fenêtres ouvertes d'Archive Manager.
Le raccourci Ctrl+ Qest commun sur Ubuntu (et de nombreuses autres distributions également). Cela fonctionne de la même manière avec la plupart des applications que j'ai utilisées jusqu'à présent. Autrement dit, il fermera toutes les fenêtres d'une application en cours d'exécution.
la source
Ctrl+Q
fait réellement cela. Bien que leQuit
menu ait fermé toutes les fenêtres ouvertes d'Archive Manager, la touche de raccourci n'a pas fait de même (au moins en 14.04).