我正在使用多个工作区。每当我单击 Unity 工具栏中的 Firefox 图标时,它都会将我带到当前打开 Firefox 的工作区,这是一个有用的功能。但是,每次单击 Firefox 图标时,我都希望 Firefox 中打开一个新窗口。我知道可以右键单击图标并单击“打开新窗口”,但我希望“打开新窗口”为默认设置。
这是我今天早上实施的一个糟糕的黑客攻击,但我想学习一个更优雅的解决方案。
首先我创建了一个名为火狐浏览器并将其放在我的主目录 /home/user 中
#!/bin/bash
firefox &
我使文件可执行,然后使用 gnome-desktop-item-edit 命令创建一个 .desktop 文件并将其放在桌面上
$ sudo gnome-desktop-item-edit /home/user/Desktop --create-new
我输入了以下字段
Name: MyFox
Command: /home/user/openfirefox
这在我的桌面上创建了一个 .desktop 文件。现在,每当我双击 MyFox.desktop 文件时,每次都会打开一个新的 Firefox 窗口。
那么,有没有更优雅的方式来做我想做的事情?也许如果我编辑 /usr/share/applications/firefox.desktop,我可以更改默认值?也许我可以更改 Unity 设置?
注意:我也知道,您只需按转移键打开新窗口,但我只是想知道是否有办法将其设为默认。如果这是一个不切实际的要求,我只能用 shift 和 MyFox.desktop 来做
答案1
我认为您可以将.desktop
在桌面上创建的文件放入启动器中。
如果没有,请将其放入~/.local/share/applications/
,下次登录时它将出现在 Unity 中,然后您就可以将其放入启动器中。
答案2
我们将为您的用户帐户复制 Firefox 启动器,并通过-new-window
向firefox
命令添加参数来修改默认操作。
首先,我们将原始文件复制firefox.desktop
到主目录中的正确文件夹中:
cp /usr/share/applications/firefox.desktop ~/.local/share/applications/
其次,我们可以使用以下命令简单地修改正确的行:
sed -i 's/%u/-new-window %u/' ~/.local/share/applications/firefox.desktop
%u
这将在文件中搜索出现的,并将其替换为-new-window %u
。这样做之所以有效,是因为%u
参数 place-holder 只在Exec
默认操作的行中出现一次。修改后的行是:
- 从:
Exec=firefox %u
- 到:
Exec=firefox -new-window %u
重要提示:您需要注销并重新登录以重新启动 Unity!
否则,Unity 将无法识别主目录中的新文件,该文件应覆盖系统范围的文件,并且您将看不到任何变化。