「GNOME 3」- 菜单编辑与配置

  CREATED BY JENKINSBOT

问题描述

在桌面环境中,当安装应用程序时,会自动创建菜单项。但是:
1)这些菜单项分类不符合我们的习惯,我们需要按照自己的需求进行分类;
2)还有部分菜单项是我们自定义的,也需要在菜单项中显示;

该笔记将记录:如何添加自定义菜单项,以及相关的配置文件。

菜单文件(.menu)

https://developer.gnome.org/menu-spec/
https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html

作用

指定 菜单、菜单条目 的顺序、层次结构、合并。.menu 文件为 XML 配置文件,

文件 /etc/xdg/menus/applications.menu 包含主应用程序菜单布局的定义。

所在目录

系统级配置:/etc/xdg/menus/
用户级配置:$HOME/.config/menus/

目录文件(.directory)

作用

.directory文件提供有关菜单某个条目的信息,例如:该条目名称、工具提示、图标

所在的目录

系统级配置:/usr/share/desktop-directories/
用户级配置:$HOME/.local/share/desktop-directories/

桌面文件(.desktop)

Desktop Entry Specification

作用

文件 .desktop 提供有关菜单中某个项的数据,如其名称、要运行的命令、图标。.desktop文件还包含了用于确定其在菜单中位置的关键字。

文件 ~/.local/share/applications/mimeinfo.cache 包含 MIME 类型信息,这些类型信息将$HOME/.local/share/applications/*.desktop应用程序.desktop文件中指定的文件类型相关联。

所在的目录

系统级配置:/usr/share/applications
用户级配置:$HOME/.local/share/applications,并且可以将应用程序添加到右键单击文件时出现的“Open With >”的子菜单中。

常用菜单编辑工具

这些工具或多或少都有缺陷;对于复杂配置,推荐学习菜单系统,然后直接编辑配置文件。

Alacarte

菜单编辑工具,安装:

apt-get install alacarte

Meow

菜单编辑工具。
安装参考:http://pnmougel.github.io/meow/
Github:https://github.com/pnmougel/meow

MenuLibre

menulibre

安装并运行:

# Kali GNU/Linux Rolling
# 当前的版本:menulibre 2.0.7
apt-get insatll menulibre

/usr/bin/menulibre

对于 MenuLibre cannot be run as root 提示:
如果不能以 root 运行,修改 /usr/lib/python3/dist-packages/menulibre/MenulibreApplication.py 文件,然后搜索 MenuLibre cannot be run as root 注释掉和弹窗有关的代码即可(路径视具体情况而定)

参考文献

Arch/GNOME
Desktop files: putting your application in the desktop menus
菜单系统实现的详细信息