繁体   English   中英

如何在Linux的X Window System中找到一个窗口并将其置于最前面?

[英]How to find a window in X Window System on Linux and bring it to front?

我对Swing GUI进行了一系列自动用户测试,这些测试在Windows上使用Java机器人和User32本机库。 使用User32.INSTANCE.EnumWindows方法,我可以找到带有特定标题的窗口,将其放在最前面,然后使用按键执行操作。 我要查找的窗口是其他Swing应用程序(在单独的JVM中运行),PDF查看器或浏览器。 我无法控制这些窗口。

有没有办法在Linux上执行此操作?

我的设置(如果有帮助,可以更改,无论如何都将使用虚拟机):

  • Ubuntu 14.04
  • Xvnc的紧密vnc服务器
  • IceWM窗口管理器

注意:我正在无头服务器上运行这些测试。

所需的操作:

  • 查找一个命名窗口(按标题,以确认已打开某项)
  • 将命名窗口置于最前面并专注于该窗口(以执行击键操作)

按照Etan的建议,我已经安装了wmctrl:

sudo apt-get install wmctrl

然后从Java调用它。 查找命名窗口:

wmctrl -l <title>

为了获得关注:

wmctrl -a <title>

即使使用部分标题,效果也很好,因此我可以轻松替换为User32本机库编写的测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM