问题描述
我对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小程序来实现:
点击后,应用程序菜单将出现在窗口装饰中,如下所示:
命令行。
以上可以使用终端命令来实现:
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
第三种解决方案
作为参考,以下是如何在每个应用程序的基础上禁用全局菜单: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
仍然会给gvim和image viewers etc.带来问题,因为UBUNTU_MENUPROXY
仍然会被appmenu-gtk
和appmenu-gtk3
程序包设置为'libappmenu.so'
。
注2
默认值是UBUNTU_MENUPROXY='libappmenu.so'
。 UBUNTU_MENUPROXY=
语句清除变量。请注意,在更改已经存在的变量时,不需要export [...]
。
也可以看看
-
Gvim可能会在启动后25秒内吐出此警告:
** (gvim:20320): WARNING **: Unable to create
要解决此问题,请禁用全局菜单,至少对于gvim或修复gvim。
Ubuntu Menu Proxy: Timeout was reached -
延迟的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