如果我从终端打开一个程序(例如 Firefox),那么该程序将获得 GUI 的焦点。我能否以某种方式打开它,以便它在可视背景中运行,而不会弹出,从而阻止我正在使用的任何当前程序?
我的问题是我使用了 karma test runner,每次我编辑代码时都会运行它。每次运行后,karma 都会启动一个浏览器,它会弹出到屏幕上的所有其他内容前面,这可能相当烦人。
我正在使用 Ubuntu 13.04。
答案1
为此,您需要xdotool
。要安装它,请在终端中运行以下命令:
sudo apt-get install xdotool
现在,我将解释如何使用脚本在 Firefox 中执行此操作:
在终端运行:
mkdir -p bin
如果您还没有目录,此命令将
bin
在您的文件夹中创建一个目录。home
运行后:
gedit ~/bin/firefox.sh
change_sources.sh
这将在 gedit 中创建新文件。- 将以下脚本复制并粘贴到新创建的文件中:
#!/bin/bash
delay=2
windowId=$(xdotool getwindowfocus)
firefox &
sleep $delay
xdotool windowactivate $windowId
- 保存文件并关闭。
返回终端并运行:
chmod +x ~/bin/firefox.sh
授予脚本的执行权限。
使用以下命令运行脚本:
firefox.sh
以同样的方式,您可以在后台从终端打开任何其他应用程序。