如何将全局菜单和HUD添加到Gnome Shell(Gnome全局AppMenu扩展)

更新:Gnome Global AppMenu扩展存储库已被删除,因此我前段时间添加了一个链接到该项目的分支(但未添加任何更改)。
上一篇关于使Gnome Shell像Unity一样具有Unity扩展的文章的后续文章,本文使用Gnome Global AppMenu扩展为Gnome Shell提供全局菜单和可搜索的HUD菜单。包括添加步骤。Gnome全球AppMenu 当前是Gnome Shell扩展的Beta版,该扩展在Gnome Shell中实现Ubuntu Unity全局菜单。该扩展还提供了对HUD菜单的支持,因此您可以在应用程序的菜单中进行搜索。

扩展开发人员宣布前段时间中止了该项目,但在2018年1月成功增加对Wayland的支持后改变了主意。但是,我仅在X.Org(Ubuntu 18.04的默认设置)上测试了Gnome Global AppMenu扩展。本文中的过程不适用于Wayland。作为Beta版软件,Gnome全局菜单扩展不被认为是稳定的。检查一下 已知问题 使用上一节Gnome全局应用程序菜单的主要功能:

  • 因为它使用Unity GTK模块,所以它支持与Unity全局菜单(AppMenu)相同的应用程序。其中包括Gtk + 2,Gtk + 3,Qt5应用程序,Firefox,LibreOffice等。至少在默认的Ubuntu 18.04设置中似乎不支持Qt4应用程序(可能您可以通过导出一些env变量来运行它,但是默认情况下它支持Qt 5,所以值得这样做)我不认为)。
  • 与Unity相似的HUD(平视显示器)功能可让您搜索应用程序菜单。如果您尝试在启动应用程序后立即使用此功能,则似乎无法使用,因为加载菜单项需要一些时间。
  • 借助内置的Gnome Shell搜索提供程序,您可以搜索正在运行的应用程序菜单。
  • 实验性JAyatana支持。您可以在Java Swing应用程序中启用全局菜单。
  • 支持键盘导航。
  • 高度可配置。

使用Gnome Shell 3.28.1(Ubuntu 18.04)全局应用程序菜单的Firefox Web浏览器和VLC媒体播放器(带有Qt5)的屏幕截图:Gnome Shell全局菜单Ubuntu 18.04Gnome Global AppMenu Shell扩展Gnome Shell可搜索的HUD菜单:Gnome Shell可搜索的HUD菜单

就标题栏应用程序而言,“ Gnome全局应用程序菜单”不适用于所有应用程序。某些Gnome应用程序(例如Nautilus)不会导出菜单,因此会获得常规的Gnome AppMenu。在这种情况下,Gnome全局AppMenu扩展的Hno函数不会返回任何结果。 GnomeGlobal AppMenu允许您调整很多设置。

  • 使用扩展名替代Gnome AppMenu。
  • 在面板上显示或隐藏应用程序图标或标题(或窗口名称)。
  • 在面板上设置应用程序名称的上限(很有用,因为即使切换应用程序,菜单也不会移动)。
  • 可配置的键盘快捷键。
  • 还有更多

请检查Gnome全局应用菜单设置。Gnome全局应用程序菜单设置

配置窗口不是很干净,但是它提供了许多配置选项。实际上,该窗口很长,您只能在上面的屏幕快照中看到一小部分选项。以下是一些屏幕截图:Gnome全局应用程序菜单设置Gnome全局应用程序菜单设置

最后但并非最不重要的一点是,Gnome全局应用程序菜单不适用于多台显示器。它工作正常,但是全局菜单仅出现在一台显示器上。我尝试使用Gnome Shell 多显示器 插件。您可以在其他监视器上查看顶部面板,但是该菜单仅在主监视器上有效。

如何使用Gnome Global AppMenu扩展安装Gnome Shell Global Menu

以下步骤用于使用X.Org安装Gnome的全局菜单(和HUD),并已在Ubuntu 18.04.1。上进行了测试。安装Gtk + 2和Gtk + 3 unity-gtk-module软件包。
在Ubuntu上,使用以下命令进行安装。

sudo apt install unity-gtk2-module unity-gtk3-module

对于其他Linux发行版,请参见以下说明 在这里.2。安装其他必需的依赖项
Git(以便您可以克隆存储库),Gnome Tweaks(我们将在稍后使用它来启用扩展)和一些依赖项,这些依赖项可让您执行Gnome Global AppMenu扩展设置(如果没有这些,则应安装高级设置(该窗口将为空白)。
在Ubuntu上,使用:

sudo apt install git gnome-tweak-tool gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0 gir1.2-gtkclutter-1.0

3.安装Gnome Global AppMenu扩展。
复制Gnome Global AppMenu扩展 Git仓库 安装扩展。

git clone https://github.com/jiqing112/Gnome-Global-AppMenu
mkdir -p ~/.local/share/gnome-shell/extensions/
cp -r Gnome-Global-AppMenu/[email protected] ~/.local/share/gnome-shell/extensions/
rm -rf Gnome-Global-AppMenu

最后一条命令将删除下载的代码,因为安装扩展程序后不再需要它。您也可以符号链接 [email protected] 文件夹到Gnome Shell扩展目录(~/.local/share/gnome-shell/extensions/您可以轻松地更新而不是删除。启用Gnome全局AppMenu扩展
首先重新启动Gnome Shell,以便新的扩展名出现在Tweaks应用程序中。为此,请键入 r 运行对话框(Alt + F2)或注销并再次登录。Gnome调整了“全局应用程序”菜单

然后打开Tweaks应用程序并启用Gnome全局应用程序菜单扩展。注销/再次登录(或重新启动计算机)
启用扩展后,您将看到一条通知,提醒您重新启动系统。您可以注销/登录以避免系统重新启动。没有提及使用重新启动会话 Alt + F2 然后输入 r 因为它冻结了我的系统。为了安全起见,您只需重启计算机即可。

提示:避免在Gnome Shell的顶部面板中三次显示应用程序名称。

第一点。在Gnome全局AppMenu扩展设置中,启用“使用扩展名替代Gnome AppMenu(实验性)”,以防止两个Gnome AppMenu和一个应用程序标题出现在使用Gnome AppMenu的应用程序的顶部面板中我建议。我为本文中的所有屏幕快照启用了此选项。
另一个提示。如果菜单从面板上消失,则可能是因为您单击了面板的应用程序名称。再次单击以显示菜单。
还有最后一个提示。为了避免重复菜单/日期/时间(以及其他类似Unity的功能),我们建议结合使用Gnome Global AppMenu扩展和Gnome Shell的Unite扩展。 Gnome全局应用程序菜单结合Unite扩展包括:像Unity一样的Gnome Shell

LibreOffice Calc窗口没有标题栏。取而代之的是,窗口标题和菜单显示在顶部Gnome外壳栏的左侧,而关闭,最大化和最小化按钮则显示在顶部栏的右侧。

如何完全删除Gnome Global AppMenu扩展

1.禁用Gnome Tweaks的扩展2。如果使用本指南进行安装(如果尚未安装),请卸下Unity GTK模块。如果您将Unity用作桌面或不卸载使用Unity GTK模块的任何其他全局菜单。

sudo apt purge unity-gtk2-module unity-gtk3-module

3.删除扩展文件。

rm -r ~/.local/share/gnome-shell/extensions/[email protected]

3.重置由Gnome全局AppMenu扩展修改的Gsettings值。

gsettings reset org.gnome.settings-daemon.plugins.xsettings overrides
gsettings reset org.gnome.settings-daemon.plugins.xsettings enabled-gtk-modules

4.重新引导系统以避免该问题。

Sidebar