我想确定窗口在Wayland中属于哪个进程。是否有类似xprop
X的东西,允许用户单击以选择一个窗口并输出所有窗口详细信息,包括PID?
xprop
?它通过XWayland在窗口上显示了很多细节,包括_NET_WM_PID(CARDINAL)
,它是发起者进程PID。
我想确定窗口在Wayland中属于哪个进程。是否有类似xprop
X的东西,允许用户单击以选择一个窗口并输出所有窗口详细信息,包括PID?
xprop
?它通过XWayland在窗口上显示了很多细节,包括_NET_WM_PID(CARDINAL)
,它是发起者进程PID。
Answers:
好消息,Gnome Shell中内置了类似的东西,xprop
与Xorg 和 Wayland的作品不同。最终,如果您使用的是KDE,i3或其他工具,那么这可能会落入其他工具领域。
首先,在键盘上键入“ ALT + F2”键,这将弹出一个菜单,如下所示:
之后,发出命令lg
(用于“窥视镜”)。
然后将打开窥视玻璃窗口,我们可以从中提取窗口信息。从窥镜的右上角选择“窗口”:
从那里,您将看到一个窗口列表,您可以从中单击要标识的窗口的名称。
在这种情况下,我选择gedit作为示例:
在该输出的第一行中,您可能会注意到:
Inspecting object: object instance proxy GType: MetaWindowX11 ...`
“ GType”将是MetaWindowX11或MetaWindowWayland之一。
此信息来自https://fedoraproject.org/wiki/How_to_debug_Wayland_problems
我有
有草案xdg-foreign
协议扩展,其允许获得的把手wl_surface
的,由其他韦兰客户端创建。有了手柄,您可以从中获得从客户表面获得的任何东西。但是,此协议仍然有局限性:
xprop
。实际上,您甚至可以在异物表面上绘画!因此,这不太可能成为任何客户端从任何客户端获取表面参数的通用方法。但是请不要失望:在技术历史上,有很多例子表明,最初出于某种目的而设计的技术已被广泛用于其他目的,例如汽车点烟器或Android中的Accessibility API。而且,在将来,可能会出现一个更适合您的任务的协议扩展,因为确实需要它(例如,对于时间跟踪器)。