如何以编程方式确定在Java中运行x11窗口的进程

时间:2017-07-10 16:08:17

标签: java linux x11 jna

我知道这可能是不可能的,但如果是的话,任何帮助都会受到赞赏。

我试图在java中收集linux中打开的每个可见x11窗口的大小,位置,窗口ID,窗口标题和程序。虽然我可以使用runProcess以及xprop,xwininfo等来完成所有这些操作,但我更倾向于不使用外部程序。

使用JNA,我已经能够收集除程序名称之外的所有内容。是否有可能像使用xprop那样获得PID,完全使用Java?理想情况下,我希望能够获得与我使用xprop [id] _NET_WM_PID相同的一般信息。

1 个答案:

答案 0 :(得分:0)

使用GraphicsEnvironment

它的isHeadless()表示没有GUI。

此外,对于连接的屏幕设备,这也是起点。

PID现在可用,无论是在Java 9中还是已经在8中。