Comment passer à un programme déjà en cours d'exécution à l'aide du terminal?
Par exemple:
firefox
ouvre une nouvelle fenêtre firefox.
Existe-t-il une commande qui concentrera la fenêtre Firefox déjà ouverte?
command-line
Kunok
la source
la source
Réponses:
En une ligne
En supposant que vous avez installé wmctrl (exécutez
sudo apt-get install wmctrl
sinon):La commande:
Augmenterait la dernière
gedit
fenêtre ouverte . Remplacez-le par toute autre application.Explication
obtient le pid de gedit
répertorie toutes les fenêtres et le pid auquel elles appartiennent
divise le window- id (la première chaîne de la ligne)
trouve donc l'id de la fenêtre de la dernière fenêtre créée de
gedit
(la sortie dewmctrl -lp
liste les fenêtres dans un ordre chronologique de création, si l'application a plusieurs fenêtres,tail -1
renvoie la dernière).lève ensuite la fenêtre par son
window-id
Dans un petit script
... à exécuter avec l'application comme argument:
switchto.sh
Exécutez-le en tant que (par exemple)
Des alternatives?
Théoriquement, la commande:
devrait faire (un peu) la même chose; il devrait ouvrir la première fenêtre trouvée
gedit
dans ce cas.Il semble cependant moins robuste. Sur mon système (Unity), cela n'a rien fait du tout.
la source
Si vous avez exécuté Firefox avec,
firefox &
vous pouvez utiliserjobs
pour voir son numéro. Pour l'amener au premier plan, écrivez%n firefox
quin
représente son numéro. Exemple:Vous pouvez également "tuer" le programme:
la source