Gnome shell 中的 Firefox 开发者版本图标重复

Gnome shell 中的 Firefox 开发者版本图标重复

使用以下方式安装 Firefox 开发者版本后Aurora PPA 方法在 16.04 上,我将图标从“活动”拖到启动器侧栏以方便访问。但是当我单击它时,侧栏中出现了第二个 Firefox 图标:

截屏

每次我单击我添加的图标时,都会出现一个新窗口。我怎样才能让它正常运行(即单击时它会显示已在运行的 Firefox,或者如果没有 Firefox,则启动它)?

答案1

我的解决方案是编辑firefox-dev.desktop文件,添加--class firefox-auroraExec 命令并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

  1. 启动 Firefox 开发版。
  2. 打开终端并运行xprop WM_CLASS+将出现一个指针,单击 Firefox 开发版窗口上的任意位置。
  3. 您将获得一些输出,例如WM_CLASS(STRING) = "Navigator", "Firefox Development Edition"。选择其中一个类,例如 Firefox Development Edition
  4. 将类添加为 中存在的 .desktop 文件中 StartupWMClass 的值~/.local/share/applications/firefox_dev.desktop。例如,StartupWMClass=Firefox Development Edition。不要忘记将firefox_dev其替换为您的 Firefox 开发版的文件名。
  5. 保存 .desktop 文件,关闭应用程序并重新打开。启动器中现在应该只有 1 个图标

答案4

使用 Ubuntu 20.04 - 这是我在我的案例中修复此问题的方法 - Firefox 开发者版。

  1. 在我的终端中输入此命令xprop -name "{{window_name}}"

    {{window_name}}曾是Firefox 开发者版本

  2. 记下该行给出的类名WM_CLASS(STRING) = "Navigator", "{{class_name}}"

    {{班级名称}}曾是Firefox 开发者版本

  3. 将此行更改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,取代{{班级名称}}利用先前步骤中发现的价值, {{用户}}与我的用户。

相关内容