Ubuntu 22.04 为应用创建开始菜单与桌面启动器

使用 .desktop 文件为手动安装的软件创建安全、可维护的 Ubuntu 启动器。

适用环境:Ubuntu 22.04 LTS 默认 GNOME 桌面。适合 AppImage、解压后运行的程序,或没有自动添加菜单项的软件。

Linux 的“快捷方式”是符合 Desktop Entry 规范的 .desktop 文件。对当前用户,文件应放在 ~/.local/share/applications/;只有需要所有用户都能看到时,才使用 /usr/share/applications/

创建一个当前用户可用的启动器

假设程序实际路径为 /opt/example/example、图标为 /opt/example/example.png

1
2
mkdir -p ~/.local/share/applications
nano ~/.local/share/applications/example.desktop

写入下面的最小配置,并将路径替换成自己的真实路径:

1
2
3
4
5
6
7
8
[Desktop Entry]
Type=Application
Name=Example
Comment=示例应用
Exec=/opt/example/example
Icon=/opt/example/example.png
Terminal=false
Categories=Utility;

保存后执行:

1
2
chmod +x ~/.local/share/applications/example.desktop
update-desktop-database ~/.local/share/applications 2>/dev/null || true

在“显示应用程序”中搜索 Example;若没有立刻出现,注销再登录或重启 GNOME Shell 会刷新菜单缓存。

常见问题

Exec= 必须是实际可执行文件的绝对路径。程序本身没有执行权限时,可先执行 chmod +x /实际/程序路径。需要在终端内运行的命令行程序,才把 Terminal 设为 true

不要把不明来源的脚本直接写进 Exec=。启动器与双击可执行文件一样,会以当前用户权限运行其中的命令。

桌面图标

Ubuntu 的 GNOME 桌面默认对桌面文件有额外的“允许启动”限制。建议优先把启动器留在应用菜单;确有需要时,将同一个 .desktop 文件复制到桌面,再在文件管理器中选择“允许启动”。

出处

本文未复制原文,示例已按 Ubuntu 22.04 的当前用户目录重新整理。