我有一个看似简单的问题,我无法弄清楚如何解决。
我有一个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
感谢您的帮助。
答案 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