背景
https://youtrack.jetbrains.com/issue/WI-39812
应用程序中的某些内容导致窗口或条目暂时出现在任务栏(或面板中的“窗口列表”)上。
维护人员询问我是否可以跟踪进程 ID 或其他任何内容,以缩小创建窗口的范围。
任务栏条目仅暂时出现,并且通常仅在主应用程序具有焦点时出现。我可以将鼠标悬停在预览图像的条目上,然后右键单击它以最大化/最小化,但到目前为止,这还没有导致更好地理解它的来源。
Linux Mint 18.1 Serena 肉桂 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 进程。
答案1
获取有关窗口的一些信息的可能性:
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
。