首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将后台GUI作业带到桌面的前面?

如何将后台GUI作业带到桌面的前面?
EN

Unix & Linux用户
提问于 2018-07-27 16:37:53
回答 2查看 2.3K关注 0票数 0

在Lubuntu18.04中,我有许多后台GUI作业运行在bash中。其中,我有一个进程运行在后台:

代码语言:javascript
复制
$ jobs | grep evince
[29]   Running                 evince CurrentDBs.pdf & 

我想把它的窗口放到我的桌面前面(在我当前运行bash的do终端窗口前面),但是fg 29没有这样做。

为什么会这样呢?是因为shell的作业控制与桌面环境(或X窗口系统)中的哪个窗口无关吗?

如何将后台GUI作业带到桌面的前端?是否可以使用xdotool将给定进程id的窗口提升到最前面,即使该进程在葡萄酒下运行Windows程序?

谢谢。

EN

回答 2

Unix & Linux用户

发布于 2019-11-11 11:34:59

是的,xdotool将运行

下面是你如何把所有的窗户都举到前面去:

代码语言:javascript
复制
xdotool search --onlyvisible --class evince windowactivate %@

我没有理由认为它也不适用于葡萄酒项目。当然,你需要找到正确的名字来称呼他们。命令xprop可能会有所帮助。

票数 1
EN

Unix & Linux用户

发布于 2018-07-27 17:15:12

evince在子subshell中的背景中运行(请注意执行的进程中的尾随符号)。但是,由于它是GUI应用程序,它的窗口应该对您是可见的,因为按“窗口关闭”按钮可以终止整个子subshell进程。如果在子外壳后台进程存在时没有看到evince窗口,这可能意味着一个bug。有两种可能性:

  1. 尝试在某个地方找到隐藏窗口(第二个桌面或按Alt+TabAlt+Shift+Tab键切换窗口)。
  2. kill手动终止进程,或者只关闭shell,后者用evince调用子shell将SIGHUP发送到子shell。
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/458895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档