Ubuntu BASH脚本背景作业隐藏Windows

时间:2013-01-22 21:41:18

标签: linux bash background-process

我有一个看似简单的问题,我无法弄清楚如何解决。

我有一个bash脚本,它在循环中在后台启动程序。但是,每次程序打开时,它都会启动一个窗口并关注它。有没有办法启动一个进程,并将其启动的所有窗口最小化或完全抑制?

这是我的代码:

#!/bin/bash
while true; do
process1 & P=$!; #I need to hide all of the windows in this process
process2;
kill $P;
wait;
sleep 0.1; done

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这取决于Window Manager。尝试在您的wm文档中查找how to prevent focus stealing

对于更通用的方法,您可以启动第二个X服务器(startx -- :1然后Ctrl-Alt-F8切换到它),运行Xnest的实例来获取X服务器-in-a-window子窗口不会窃取焦点,或者运行vncserver / nxserver,Windows可以发送垃圾邮件,你可以偶尔连接并查看你是否需要。其中任何一个设置在例如显示:1,您可以使用DISPLAY=:1 process1重定向流程的窗口。

答案 1 :(得分:1)

使用xdotool,将name_in_titlebar替换为标题栏中的名称:D

xdotool search --name name_in_titlebar windowactivate
xdotool key ctrl+super+Up