對臨時出現的 Cinnamon 視窗列表條目進行故障排除
背景
https://youtrack.jetbrains.com/issue/WI-39812
應用程序中的某些內容導致視窗或條目暫時出現在工作列(或我的面板中的“視窗列表”)上。
維護人員詢問我是否可以跟踪程序 ID 或任何內容,以縮小創建視窗的範圍。
工作列條目只是暫時出現,通常只在主應用程序有焦點時才會出現。我可以懸停預覽圖像的條目,然後右鍵點擊它以最大化/最小化,但到目前為止,這並沒有導致更好地了解它的來源。
Linux Mint 18.1 Serena Cinnamon 64 位
問題
Cinnamon 中是否有日誌文件或監控工具,提供有關視窗打開和關閉或目前活動視窗以及原始程序的資訊?
我假設視窗和工作列中的條目之間存在 1:1 的關係。如果不是這種情況,請糾正我。在這種情況下,我對工作列條目比對視窗更感興趣。
解析度
這部分不是問題的一部分!它在這裡比在評論中更合適!
mviereck 接受的答案很有幫助。
這是我的命令版本:
mkdir ~/troubleshooting; cd ~/troubleshooting sleep 10; wmctrl -lp > list1; xwininfo -root -children -tree > tree1 # Focus on phpstorm, do NOT make the strange window appear. # Wait long enough! sleep 10; wmctrl -lp > list2; xwininfo -root -children -tree > tree2 # Focus on phpstorm, do something to let the strange window appear. # Wait long enough! diff -U30 list1 list2 > list.diff diff -U30 tree1 tree2 > tree.diff # Open in gedit for nice colors. gedit list.diff tree.diff & disown
這些是 tree.diff 中的更改:
xwininfo: Window id: 0xf5 (the root window) (has no name) Root window id: 0xf5 (the root window) (has no name) Parent window id: 0x0 (none) - 44 children: + 46 children: + 0x22004e9 "win13": ("sun-awt-X11-XWindowPeer" "jetbrains-phpstorm") 502x224+1209+354 +1209+354 0x4a0000c (has no name): () 1x1+-1+-1 +-1+-1 [..] 0x3c00001 "mintUpdate.py": ("mintUpdate.py" "") 10x10+10+10 +10+10 + 0x22004fc "win15": ("sun-awt-X11-XWindowPeer" "jetbrains-phpstorm") 9x18+1696+355 +1696+355 0x1a0347e (has no name): () 1920x1053+0+0 +0+0
這意味著這兩行已添加,但在 tree.diff 中的不同位置:
+ 0x22004e9 "win13": ("sun-awt-X11-XWindowPeer" "jetbrains-phpstorm") 502x224+1209+354 +1209+354 + 0x22004fc "win15": ("sun-awt-X11-XWindowPeer" "jetbrains-phpstorm") 9x18+1696+355 +1696+355
這是我在 list.diff 中找到的添加行:
+0x022004fc 0 7177 asus-mint-2017 win15
工作列條目的標籤是“win15”,預覽看起來像“9x18”可能是尺寸。
“win13”沒有出現在工作列中。
我將在https://youtrack.jetbrains.com/issue/WI-39812中報告這些發現,看看他們怎麼說。
在 mviereck 發表評論後更新:
ps -f -p 7177
節目USERNAME 7177 7113 8 09:52 ? 00:09:31 /home/USERNAME/phpstorm/jre64/bin/java -classpath /home/USERNAME/phpstorm/lib/bootstrap.jar:...
我不確定那裡是否有任何私人資訊,所以我不粘貼完整的東西。但它似乎是主要的phpstorm程序。
獲得有關視窗的一些資訊的可能性:
wmctrl
使用和創建視窗列表xwininfo
。如果出現那個奇怪的工作列條目,請打開終端並輸入:wmctrl -lp > list1 xwininfo -root -children -tree > list3
除了讓該條目消失所需的內容外,什麼都不改變。比:
wmctrl -lp >list2 xwininfo -root -children -tree > list4
diff
可以顯示列表之間的差異:diff list1 list2 diff list3 list4
也許這會給你一些提示。
wmctrl -lp
還顯示屬於該視窗的程序 id (pid)。如果您確定了該視窗並且它提供了一個 pid,請使用ps -f -p PID
.