![在 CentOS7 GNOME 的应用程序菜单选项卡中创建自定义菜单](https://linux22.com/image/122569/%E5%9C%A8%20CentOS7%20GNOME%20%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%8F%9C%E5%8D%95%E9%80%89%E9%A1%B9%E5%8D%A1%E4%B8%AD%E5%88%9B%E5%BB%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95.png)
我已经在 中创建了一个 .menu 文件/etc/xdg/menus/applications-merged/
,在 中创建了 .directory 文件/usr/share/desktop-directories/
,以及我想要在自定义菜单中/usr/share/applications
使用自定义类别扩展名的各种 .desktop 文件Categories=X-nameofcategory
,但我的应用程序菜单中仍然没有出现菜单。
我想知道是否缺少一个步骤,我没有使用 alacarte,因为我需要创建多个应用程序,并且 alacarte 非常手动,必须为每个图标、可执行文件添加目录路径,并且没有拖/放方法也可以。我以为有一个标准方法可以做到这一点,并遵循了 freedesktop 描述的步骤,但我仍然不知所措。任何帮助或见解将不胜感激!
答案1
似乎没有人知道或无法回答,所以我将提出我找到的解决方案!
您应该关注 3 个位置:
/usr/share/desktop-directories
/etc/xdg/menus/applications-merged
/usr/share/applications
请记住,最后一个位置是系统范围特定的,如果您只想为您的用户使用,请使用:~/.local/share/applications
首先我们:
- 在文件夹位置创建一个名为
APPNAME.menu
(替换APPNAME
您想要的名称)的文件/etc/xdg/menus/applications-merged
- 输入这些内容:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name> <!-- This is necessary for your directory to appear in the applications drop down -->
<Menu> <!--app -->
<Name>app</Name>
<Directory>APPNAME.directory</Directory>
<Include>
<Category>APPNAME</Category>
</Include>
</Menu> <!-- End app -->
</Menu> <!-- End Applications -->
- 保存文件并创建另一个
APPNAME.directory
在文件夹位置调用的文件(它应该与文件中指定的名称相同.menu
)/usr/share/desktop-directories
,其中包含以下内容:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`
笔记文件名应与您在上面的文件中输入的名称.directory
完全相同。.directory
.menu
- 在这些内容中或 使用这些内容创建一个标准
.desktop
文件(当然替换您自己的程序和行~/.local/share/applications
/usr/share/applications
Categories=
必须是与您之前为文件指定的名称相同.directory
)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable.sh
Name=ApplicationToRun
Icon=/path/to/icon
Categories=APPNAME
Comment=Comment for users