Réponses:
wmctrl -l
peut être ce que vous cherchez. Le programme wmctrl peut également effectuer des actions simples sur les fenêtres, comme les déplacer et définir leurs propriétés.
xlsclients
affiche les clients en cours d'exécution et xwininfo -root -children
affiche tous les enfants de la fenêtre racine. Cela inclut également des éléments rendus par votre gestionnaire de fenêtres ou votre bureau.
Voici comment afficher uniquement les noms:
wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'
car wmctrl -l
affiche un peu plus d'informations que les noms requis dans la question:
comme ça:
0x020002c6 0 ruslan-Latitude-E6410 fromscratch
0x04600007 0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007 0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017 0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c 0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085 0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
et en le filtrant par awk
nous obtenons uniquement les noms des fenêtres ouvertes:
fromscratch
Psensor - Temperature Monitor
Top Expanded Edge Panel
Bottom Expanded Edge Panel
Desktop
ruslan@ruslan-Latitude-E6410: /var/lib/apt
index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
cpucraft@cpucraft.com - FileZilla
Si vous voulez simplement les titres et aucune autre information (pas même un espace blanc), vous pouvez utiliser ceci:
wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"
Résultat:
linux - Comment grep et remplacer - Débordement de pile - Pale Moon Comment utiliser une variable dans sed? | Forums Linux Unix | Programmation et script Shell - Pale Moon Supprimer tout après les caractères * ou # ou & dans le fichier texte avec GREP - Stack Overflow - Pale Moon Video.mp4 - VLC Media Player