当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

我对Unity非常兴奋,因为它看起来像一个有前途的Ubuntu新方向。但是,我确实有一个担忧 – 在没有全局菜单的情况下是否可以使用Unity?

我有我的窗口管理器设置为focus-follows-mouse /马虎焦点,并发现生产力的提升是巨大的。然而,对于全局菜单,漫不经心的焦点是不兼容的,因为当您从一个窗口移动到另一个菜单时,焦点可能会发生变化。

Unity是否支持在仍然使用Unity的情况下使用窗口菜单的选项?

最佳解决方案

11.04 – 13.10

是的,默认情况下桌面版本的Unity将使用全局菜单。

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

Unity将继续运行,并且您的菜单将正常显示在应用程序窗口中。如果您遇到有问题的应用,您也可以将应用设置告诉ignore specific applications

命令行方式删除包是:

sudo apt-get remove indicator-appmenu

删除应用程序将打破HUD功能

次佳解决方案

14.04

全局菜单可以选择切换为本地集成菜单(LIM) – 又名 – 更传统的基于窗口的菜单。

这种附加能力的原因表面上是由于high-resolution显示器的普及率增加,因此从应用到global-menu的感知mouse-travel会相对较大。

要关闭或打开全局菜单,可以通过外观control-panel小程序来实现:

unity,appmenu,ubuntu

unity,appmenu,ubuntu

unity,appmenu,ubuntu

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

unity,appmenu,ubuntu


命令行。

以上可以使用终端命令来实现:

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

unity,appmenu,ubuntu

第三种解决方案

作为参考,以下是如何在每个应用程序的基础上禁用全局菜单:https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationMenu#Troubleshooting

To disable appmenu support on a per application basis, set the UBUNTU_MENUPROXY variable to null, with:

env UBUNTU_MENUPROXY= eclipse 

the env keyword is useful if your trying to launch the application with the ALT-F2 shortcut.

第四种方案

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仍然会被appmenu-gtkappmenu-gtk3程序包设置为'libappmenu.so'

注2

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

也可以看看

  • Gvim可能会在启动后25秒内吐出此警告:** (gvim:20320): WARNING **: Unable to create
    Ubuntu Menu Proxy: Timeout was reached
    要解决此问题,请禁用全局菜单,至少对于gvim或修复gvim

  • 延迟的in-window菜单创建在image viewers etc.中是一个问题,例如eog。要解决这个问题,请至少为这些应用程序正确禁用全局菜单。

  • 获取全局菜单和in-window菜单:APPMENU_DISPLAY_BOTH = 1请参阅https://askubuntu.com/a/6802/32651

参考

第五种方案

通过f10键快捷方式访问应用程序菜单,我已经成功地使用了鼠标和全局菜单的焦点统一。在许多方面,这总比将鼠标从远离您曾经关注的地方移开更好。

第六种方案

11.10

要禁用菜单,而不是删除indicator-appmenu,您可以隐藏其共享库文件:

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/415.html,未经允许,请勿转载。