我希望 Firefox 在 X11 上运行的 KDE Plasma 5.19 上使用全局菜单。
- GTK 和 KDE 的小部件集是 Breeze。
- 我目前正在使用 Kubuntu 20.10,但也有运行 18.04 和 20.04 的机器。全局菜单做适用于 18.04,但是不是20.04 或 20.10(或 21.04 或 21.10...)。
- 关于该主题的现有问题已经过时,大多与 Unity 上的 appmenu 问题有关。
全局菜单对于我来说在 Firefox 中从来都不起作用。全局菜单做与其他具有菜单的应用程序协同工作。
- GTK2:xournal
- GTK3:geany、geeqie
- KDE: Falkon、Konsole
- 其他:Google Chrome、LibreOffice
以下可能相关的服务正在运行:
- 应用程序菜单守护进程
- GNOME/GTK 设置同步服务
以下操作无效:
plasma-browser-integration
包和相关附加组件。xdg-desktop-portal-*
包。Wayland。GTK 应用程序的全局菜单不是在 Wayland 中工作。Wayland 也存在太多其他缺陷。
使用新的配置文件重新启动 Firefox。
安装以下软件包。其中大部分是不是其他应用程序使用全局菜单所必需的。
appmenu-gtk2-module appmenu-gtk3-module appmenu-gtk-module-common appmenu-registrar gir1.2-dbusmenu-glib-0.4 gir1.2-dbusmenu-gtk-0.4 gir1.2-dbusmenu-gtk3-0.4 indicator-appmenu indicator-appmenu-tools libappindicator1 libappindicator3-1 libappmenu-gtk2-parser0 libappmenu-gtk3-parser0 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdbusmenu-gtk4 libdbusmenu-qt5-2 libdbusmenu-tools libindicator3-7 libindicator3-tools libindicator7
需要做什么才能让 Firefox 使用全局菜单?
答案1
要使用 Firefox 的全局菜单目前需要补丁。 Archisman Panigrahi 解释:
全局菜单曾经在 KDE Neon 18.04(可能还有 Kubuntu 18.04)中与 Firefox 配合使用,因为(据我所知)Ubuntu 开发人员曾经修补它以兼容 Unity(它也有全局菜单)。随着 Unity 被放弃,补丁也停止了
具体来说,该补丁通过 dbus 导出菜单。如果没有它,Firefox 就不会导出菜单,因此其他应用程序无法访问它。没有全局菜单。
当前的选项:
查找并使用已修补的二进制文件。 Firefox 18.04 存储库继续应用菜单补丁。还有其他已修补和重命名的 Firefox 版本,但出于各种原因,可能应该避免使用它们。您可以使用 阻止软件包升级到未修补的版本
sudo apt-mark hold firefox
。- 这个答案描述如何将 Firefox 包固定到特定的存储库。
使用补丁重新编译源代码。这是“最安全”的选项。可以安装最小开发工具集,将源代码上传到 launchpad.net 进行编译并包含在 PPA 中。
没有 Firefox 全局菜单,希望它们最终能在上游实现。(菜单栏中实际上没有任何内容无法在其他地方访问。)
也可以看看:
- 让HUD和全局菜单与Firefox兼容
- Firefox Bugzilla 搜索:全局菜单
答案2
我这边部分成功(升级前它在 20.04 上运行):
基于https://forum.manjaro.org/t/howto-enabling-kde-global-menu-support-in-mozilla-firefox-and-thunderbird/7405我创建/etc/profile.d/mozilla-common.sh
:
export MOZ_PLUGIN_PATH="/usr/lib/mozilla/plugins"
export GTK_USE_PORTAL=1
启动 Firefox 将显示全局菜单。切换到另一个窗口并返回 Firefox,全局菜单就会消失。