如何启用或禁用全局应用菜单?

我对Unity感到相当兴奋,因为它似乎是Ubuntu的一个有前途的新方向。然而,我有一个担忧 - 在不使用全局菜单的情况下是否可以使用Unity?
我将我的窗口管理器设置为焦点跟随鼠标/松散焦点,并发现这样做可以极大地提高工作效率。然而,松散焦点与全局菜单不兼容,因为在从窗口切换到菜单时,焦点可能会发生变化。
Unity是否支持在仍然使用Unity的情况下使用窗口菜单的选项?
8个回答

11.04 - 13.10

是的,Unity桌面版默认使用全局菜单。

  • 要禁用全局菜单,请删除indicator-appmenu 安装indicator-appmenu 软件包,然后注销并重新登录。

Unity将继续运行,您的菜单将正常显示在应用程序窗口内。如果您遇到问题的应用程序,您还可以告诉appmenu忽略特定应用程序

通过命令行方式删除软件包的方法如下:

sudo apt-get remove indicator-appmenu

移除应用菜单将破坏 HUD 功能。

2有一个实用工具可以帮助解决这个问题:请访问http://www.webupd8.org/2012/03/unsettings-tool-to-disable-global-menu.html。 - Rmano
1我讨厌全局菜单,因此也不喜欢Mac OS。谢谢你的建议。 - harry
@Rmano 谢谢你!我看到了。你的评论实际上应该是一个答案,因为它非常有效,我可以保留我的指示器应用菜单!如果你这样做了,请指出一下,我会立即投赞成票! - Aquarius Power
不错的选择,但我对QT应用程序(例如notepadqq)有问题:菜单完全消失了。 - user260881
在许多情况下,最好使用另一个答案将菜单移动到标题栏上。然而,删除appmenu软件包将解决在x11转发中没有菜单的问题,而在设置中更改不会做到这一点。 - jgmjgm

14.04

全局菜单可以选择切换为本地集成菜单(LIM)-也就是更传统的基于窗口的菜单。
这种额外功能的原因显然是由于高分辨率显示器的普及,因此从应用程序到全局菜单的鼠标移动距离相对较大。
要切换全局菜单的开启或关闭,可以通过外观控制面板小程序来实现。

pic

pic

pic

点击后,应用程序菜单会显示在窗口装饰中,如下所示:

pic


命令行。
可以通过终端命令来实现上述操作:
gsettings set com.canonical.Unity integrated-menus true

集成菜单可以被禁用(即重新打开全局菜单)
gsettings set com.canonical.Unity integrated-menus false

如果你不喜欢本地集成菜单,那么删除indicator-appmenu的老办法仍然有效,尽管这会破坏HUD。
sudo apt-get remove indicator-appmenu

enter image description here


关于这些菜单的更多信息:迟到总比不到好:Ubuntu 14.04 添加本地集成菜单 - Håkon A. Hjortland
在窗口标题栏中,这个全局菜单在使用Gimp时真是令人厌烦透了.. 谢谢! - Aquarius Power
尽管“本地集成菜单”选项仍然隐藏它们(令人恼火),但实际上通过sudo apt-get remove indicator-appmenu命令可以永久将菜单放回标题栏下方。我没有注意到任何“损坏”的情况 - 你能解释一下那个注释吗? - Jeff Ward
这对于16.04版本也适用,但是截图会稍有不同。 - Reinier Post


11.04 - 13.10 - 如何禁用全局菜单(应用菜单/应用程序菜单)
仅对当前用户和所有应用程序有效
将以下内容添加到~/.gnomerc文件中,然后注销并重新登录桌面:
STARTUP="env UBUNTU_MENUPROXY= $STARTUP"

仅适用于当前用户,只有从shell启动的应用程序

将此添加到~/.bashrc并重新启动shell:

UBUNTU_MENUPROXY=

仅适用于当前用户,仅适用于从shell启动的特定应用程序

将以下行添加到~/.bashrc并重新启动shell:

alias gvim='UBUNTU_MENUPROXY= gvim'

基于https://askubuntu.com/a/132581/32651

仅适用于当前用户,仅适用于特定应用程序启动器

请参阅https://askubuntu.com/a/6802/32651

适用于所有用户,所有应用程序(在/etc中修复)

创建带有修复的配置文件(注意括号是命令的一部分):

(umask 022; echo UBUNTU_MENUPROXY= | sudo tee /etc/X11/Xsession.d/81ubuntumenuproxy)

在此之后,退出桌面并重新登录。
要取消修复,请执行以下操作:
sudo rm /etc/X11/Xsession.d/81ubuntumenuproxy

基于http://www.webupd8.org/2011/03/disable-appmenu-global-menu-in-ubuntu.html
对于所有用户,所有应用程序(卸载软件包)
Ubuntu 11.04和11.10:
sudo apt-get remove appmenu-gtk indicator-applet-appmenu indicator-appmenu

Ubuntu 12.04:
sudo apt-get remove appmenu-gtk appmenu-gtk3 appmenu-qt indicator-appmenu

完成后,退出桌面再重新登录。

要撤销操作,只需再次安装软件包:sudo apt-get install [...]

来源:http://www.webupd8.org/2011/03/disable-appmenu-global-menu-in-ubuntu.html

注释 1

只需执行以下操作:

sudo apt-get remove indicator-appmenu

仍然会在以下方面出现问题: gvimimage viewers etc. 因为UBUNTU_MENUPROXY仍然被设置为'libappmenu.so',由appmenu-gtkappmenu-gtk3软件包设置。

注释 2

默认值为UBUNTU_MENUPROXY='libappmenu.so'UBUNTU_MENUPROXY=语句清除了该变量。 请注意,在更改已存在的变量时,不需要使用export [...]

另请参阅

  • Gvim启动后25秒可能会出现以下警告:
    ** (gvim:20320): WARNING **: 无法创建Ubuntu菜单代理:超时
    要解决此问题,可以禁用全局菜单,至少对于gvim,或者修复gvim
  • 延迟窗口内菜单的创建是一个问题,例如在图像查看器等中的eog。
    要解决此问题,正确地禁用全局菜单,至少对于这些应用程序。
  • 同时获取全局菜单和窗口内菜单:
    APPMENU_DISPLAY_BOTH=1
    参见https://askubuntu.com/a/6802/32651

参考资料


最近升级到Ubuntu 13.10后,我的旧设置被破坏了,并且全局菜单栏被启用。非常感谢您详细的回答,它起作用了。 - harry

我一直成功地使用Unity,并通过只使用F10键快捷方式访问应用程序菜单来实现鼠标跟随焦点和全局菜单。在很多方面,这比将鼠标移开更好,无论你之前关注的是什么。

11.10

禁用菜单时,您可以隐藏其共享库文件,而不是删除指示器应用程序菜单。
sudo mv /usr/lib/indicators/5/libappmenu.so /usr/lib/indicators/5/libappmenu.so.old

并且要重新启用,撤销它:

sudo mv /usr/lib/indicators/5/libappmenu.so.old /usr/lib/indicators/5/libappmenu.so

source


18.04

也许有一种更明显的方法我错过了,但这种方式似乎起到了作用。
sudo apt-get install gnome-tweak-tool
gnome-tweaks

去“顶部栏”

enter image description here