使用以下方式安装 Firefox 开发者版本后Aurora PPA 方法在 16.04 上,我将图标从“活动”拖到启动器侧栏以方便访问。但是当我单击它时,侧栏中出现了第二个 Firefox 图标:
每次我单击我添加的图标时,都会出现一个新窗口。我怎样才能让它正常运行(即单击时它会显示已在运行的 Firefox,或者如果没有 Firefox,则启动它)?
答案1
我的解决方案是编辑firefox-dev.desktop
文件,添加--class firefox-aurora
Exec 命令并StartupWMClass=firefox-aurora
作为新行。
这样做的好处是,如果同时安装了 Firefox 和 Firefox Developer Edition,它们将不再共享一个图标。如果您命名该类,firefox-aurora
单独的 Firefox 图标在升级后重启后仍会保留。
如果您已经通过设置启用了 Wayland 支持,env MOZ_ENABLE_WAYLAND=1
则还需要设置MOZ_APP_REMOTINGNAME=firefox-aurora
并添加--name firefox-aurora
到 Exec 命令。
完整示例:
[Desktop Entry]
Encoding=UTF-8
Name=Firefox Developer Edition
GenericName=Developer Web Browser
Comment=Browse the World Wide Web
Type=Application
Terminal=false
Exec=env MOZ_USE_XINPUT2=1 MOZ_ENABLE_WAYLAND=1 MOZ_APP_REMOTINGNAME=firefox-aurora /home/user/Applications/firefox-developer-edition/firefox --class firefox-aurora --name firefox-aurora %U
Icon=/home/user/Applications/firefox-developer-edition/browser/chrome/icons/default/default128.png
Path=/home/user/Applications/firefox-developer-edition
StartupWMClass=firefox-aurora
StartupNotify=true
Categories=Network;WebBrowser;Developer;
答案2
窗口“Firefox-dev”的 WM_CLASS 属性与文件的文件名不匹配。您可以使用并单击打开的 Firefox 窗口来.desktop
检查 WM_CLASS 属性。xprop
因此,下面是我为使它发挥作用所做的事情:
sudo ln -s /usr/share/applications/firefox.desktop /usr/share/applications/firefox-dev.desktop
然后,您可以在 gnome-shell 中将新条目添加firefox-dev.desktop
为收藏夹,它就会起作用。
干杯!
答案3
- 启动 Firefox 开发版。
- 打开终端并运行
xprop WM_CLASS
。+
将出现一个指针,单击 Firefox 开发版窗口上的任意位置。 - 您将获得一些输出,例如
WM_CLASS(STRING) = "Navigator", "Firefox Development Edition"
。选择其中一个类,例如 Firefox Development Edition - 将类添加为 中存在的 .desktop 文件中 StartupWMClass 的值
~/.local/share/applications/firefox_dev.desktop
。例如,StartupWMClass=Firefox Development Edition
。不要忘记将firefox_dev
其替换为您的 Firefox 开发版的文件名。 - 保存 .desktop 文件,关闭应用程序并重新打开。启动器中现在应该只有 1 个图标
答案4
使用 Ubuntu 20.04 - 这是我在我的案例中修复此问题的方法 - Firefox 开发者版。
在我的终端中输入此命令
xprop -name "{{window_name}}"
。{{window_name}}曾是Firefox 开发者版本。
记下该行给出的类名
WM_CLASS(STRING) = "Navigator", "{{class_name}}"
。{{班级名称}}曾是Firefox 开发者版本。
将此行更改
Exec=/opt/firefox/firefox
为,并在末尾Exec=/opt/firefox/firefox --class "{{class_name}}"
添加此行StartupWMClass={{class_name}}
{{application.desktop}}文件{{application.desktop}}位于 /home/{{user}}/.local/share/applications/firefoxDeveloperEdition.desktop,取代{{班级名称}}利用先前步骤中发现的价值, {{用户}}与我的用户。