Dapatkan daftar jendela terbuka di Linux

24

ps kapak menunjukkan semua proses yang berjalan. Saya ingin melakukan sesuatu yang serupa, tetapi alih-alih nama-nama proses yang sebenarnya, saya ingin nama jendela terdaftar. Perintah Linux apa yang akan melakukan ini?

tony_sid
sumber

Jawaban:

35

wmctrl -lmungkin apa yang Anda cari. Program wmctrl juga dapat melakukan beberapa tindakan sederhana pada windows seperti memindahkannya dan mengatur propertinya.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
18

xlsclientsmenunjukkan klien yang berjalan dan xwininfo -root -childrenmenunjukkan semua anak dari jendela root. Itu juga termasuk beberapa hal yang manajer jendela atau desktop Anda render.

Aaron Digulla
sumber
Ini adalah wmctrl -l output plus beberapa lagi.
Smile4ever
4

Inilah cara untuk hanya menampilkan nama:

wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'

karena wmctrl -lmenunjukkan sedikit info tambahan daripada hanya nama yang diperlukan dalam pertanyaan:

seperti ini:

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

dan memfilternya dengan awkkita hanya mendapatkan nama-nama windows yang terbuka:

   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
   [email protected] - FileZilla
Ruslan Gerasimov
sumber
2

Jika Anda hanya ingin judul dan tidak ada informasi lain (bahkan tidak spasi), Anda dapat menggunakan ini:

wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"

Hasil:

linux - Bagaimana cara grep dan ganti - Stack Overflow - Pale Moon
Bagaimana saya bisa menggunakan variabel dalam sed? | Forum Unix Linux | Pemrograman dan Skrip Shell - Bulan Pucat
Hapus semua setelah karakter * atau # atau & dalam file teks dengan GREP - Stack Overflow - Pale Moon
Video.mp4 - VLC Media Player
Smile4ever
sumber