我想启动一个始终运行但很少实际使用的应用程序在另一个工作区上启动,这样我就不必在每次会话启动时手动执行此操作。
这能做到吗?如果能,怎么做?
答案1
首先,感谢 Scott Severance,我找到了如何做到这一点。但我想充实他的答案,让新的 Ubuntu 用户更容易理解。
注意:这适用于 Metacity 窗口管理器(Ubuntu 桌面的默认窗口管理器)。
首先下载并安装 gDevilspie(我使用 Ubuntu 软件中心)
哎呀!
当我尝试运行它时,它失败了。但多亏了询问Ubuntu我找到了解决办法...
sudo apt-get install python-glade2
- 这是 gDevilspie 中的一个错误,依赖项中未识别所需的包。如果您已经有此包(我的一台计算机有),则无需执行此操作。
因此启动应用程序以便打开其窗口,然后启动 gDevilspie...
单击✔框以便守护进程在启动时启动,然后点击添加按钮...
现在给我们的规则命名。
然后使用其属性识别新规则的应用程序窗口。有两种方法可以做到这一点:
点击“获取”按钮,系统会显示一个 window_names 列表,或者
使用 查找 window_class
xprop
。
第二种方法更安全,因为窗口名称可以更改。打开终端并输入xprop | grep WM_CLASS 鼠标光标将变为加号。将新光标移动到所需的应用程序窗口上,然后单击它。wm_class 将出现在终端中...
-@-:~$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "skype", "Skype"
现在单击“操作”选项卡,然后选中“设置工作区”的✔框,然后设置所需的工作区...
如果您愿意,请查看规则...
现在使用保存按钮保存规则...
如果守护进程尚未运行,则启动它。
注意:您可以使用 gDevilspie ( devilspie
) 做很多事情。更多信息请参见:
把自己打昏!
祝你好运
答案2
您可以使用 Compiz 的 Place Windows 插件(CompizConfig 设置 -> 窗口管理部分 -> Place Windows):
然后选择窗口和视口(在此示例中,我选择 Firefox):
此外,如果您希望该窗口最大化,您可以在中进行设置Windows with fixed placement mode
。
答案3
一款出色的应用程序就是devilspie
。此外还有一个 GUI 设置管理器,gDevilspie。
sudo apt-get install gdevilspie
答案4
安装 wmctrl
sudo apt install wmctrl
并创建一个脚本(在此示例中为第二个工作区上的 thunderbird(-t 1
)):
#!/bin/sh
(thunderbird &) & sleep 5 &&
sh -c "wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"
要知道 wmctrl 上的应用程序名称,您可以通过点击终端来查看它:
wmctrl -l
并在脚本中用正确的名称替换它。
请小心使用大写字母(“Thunderbird”而不是“thunderbird”)!!
在 3D 工作区中使用 Firefox 的其他示例 ( -t 2
):
#!/bin/sh
(firefox &) & sleep 5 &&
sh -c "wmctrl -i -r `wmctrl -l | grep Firefox` -t 2"
奖金 :
这是启动时执行的命令:
sh -c "thunderbird & sleep 5 && wmctrl -i -r `wmctrl -l | grep Thunderbird` -t 1"
适用于 Debain 10 和 Cinnamon。但应该适用于所有