รับรายการของหน้าต่างที่เปิดอยู่ใน Linux


24

ps ax แสดงกระบวนการทำงานทั้งหมด ฉันต้องการทำสิ่งที่คล้ายกัน แต่แทนที่จะเป็นชื่อของกระบวนการจริงฉันต้องการชื่อหน้าต่างที่แสดงแทน คำสั่ง Linux ใดที่จะทำสิ่งนี้

คำตอบ:


35

wmctrl -lอาจเป็นสิ่งที่คุณกำลังมองหา wmctrlโปรแกรมยังสามารถดำเนินการบางอย่างง่ายบน windows เช่นย้ายพวกเขาไปรอบ ๆ และการตั้งค่าคุณสมบัติของพวกเขา


18

xlsclientsแสดงไคลเอ็นต์ที่รันอยู่และxwininfo -root -childrenแสดงรายการลูกทั้งหมดของหน้าต่างรูท ซึ่งรวมถึงบางสิ่งที่ตัวจัดการหน้าต่างหรือการแสดงผลบนเดสก์ท็อป


นี่คือเอาต์พุต wmctrl -l บวกมากกว่านี้
Smile4ever

4

นี่คือวิธีแสดงชื่อเท่านั้น:

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

เพราะwmctrl -lแสดงข้อมูลเพิ่มเติมเล็กน้อยมากกว่าชื่อที่ต้องการในคำถาม:

แบบนี้:

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

และกรองโดยawkเราจะได้รับเพียงชื่อของ windows ที่เปิดอยู่:

   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

2

หากคุณต้องการเพียงแค่ชื่อและไม่มีข้อมูลอื่น ๆ (ไม่แม้แต่ช่องว่าง) คุณสามารถใช้สิ่งนี้:

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

ผลลัพธ์:

linux - วิธีการ grep และแทนที่ - Stack Overflow - Pale Moon
ฉันจะใช้ตัวแปรใน sed ได้อย่างไร | ฟอรัม Unix Linux การเขียนโปรแกรมเชลล์และการเขียนสคริปต์ - Pale Moon
ลบทุกอย่างหลังจากตัวอักษร * หรือ # หรือ & ในไฟล์ข้อความด้วย GREP - Stack Overflow - Pale Moon
Video.mp4 - VLC Media Player
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.