如何在 Ubuntu 24 上使用标准图标配置桌面启动器
发布: (2026年2月22日 GMT+8 08:21)
7 分钟阅读
原文: Dev.to
Source: Dev.to
请提供您希望翻译的具体文本内容(除代码块和 URL 之外),我将按照要求将其译成简体中文并保留原有的格式。
什么是 .desktop 文件?
- 一个 freedesktop.org 桌面条目 —— 一个 UTF‑8 文本文件,扩展名为
.desktop。 - 包含一个
[Desktop Entry]组,里面是键‑值对。 - 定义了三种条目类型:
| 类型 | 用途 |
|---|---|
Application | 启动程序 |
Link | 打开 URL |
Directory | 在菜单中表示文件夹(很少使用) |
对于启动器,通常使用 Application(可选地使用 Link)。
该格式被 GNOME(Ubuntu 默认桌面)、KDE、XFCE 以及许多其他桌面环境使用。
将 .desktop 文件放在哪里
| 位置 | 用途 |
|---|---|
~/Desktop | 桌面上显示的图标(当此目录为你的 XDG_DESKTOP_DIR 时) |
~/.local/share/applications/ | 用户特定的菜单条目(会覆盖系统中同名的条目) |
/usr/share/applications/ | 系统范围的菜单条目(由软件包管理;避免手动编辑) |
- 桌面启动器 → 将文件放在
~/Desktop。 - 仅菜单启动器 → 将文件放在
~/.local/share/applications/。 - 如果想让它同时出现在菜单和桌面,可以将同一个文件复制或创建符号链接到两个位置。
应用启动器的必需键
| 键 | 描述 |
|---|---|
Type=Application | 声明此条目为应用程序启动器 |
Name= | 在菜单和图标下显示的标签 |
Exec= | 要运行的命令(完整路径或在 $PATH 中的名称) |
Icon= (optional) | 要显示的图标(见下文“图标选项”) |
Comment= (optional) | 简短描述 / 工具提示 |
Terminal= (optional) | 如果命令必须在终端中运行,则为 true |
Path= (optional) | 命令的工作目录 |
TryExec= (optional) | 可执行文件的路径;如果缺失则隐藏此条目 |
Categories= (optional) | 菜单类别(与 applications/ 中的条目相关) |
StartupNotify= / StartupWMClass= (optional) | 改进任务栏/启动器的行为 |
所有键均 case‑sensitive(区分大小写)。
最小示例
[Desktop Entry]
Type=Application
Name=My Script
Exec=/home/user/bin/my-script.sh
保存为 ~/Desktop/my-script.desktop。
在某些桌面环境中,您必须将其设为可执行:
chmod +x ~/Desktop/my-script.desktop
图标选项
| Form | Example | When to use |
|---|---|---|
| 主题图标名称(无路径) | Icon=utilities-terminal 或 Icon=firefox | 当图标存在于当前图标主题(/usr/share/icons/...)中时首选 |
| 绝对路径 | Icon=/usr/share/pixmaps/ubuntu-logo.svg 或 Icon=/home/user/.local/share/icons/myapp.png | 用于自定义图标(PNG、SVG、XPM) |
如果找不到图标,桌面会回退到默认图标,但启动器仍然可以工作。
Exec= 语法和字段代码
您可以传递参数并使用规范定义的变量:
| 变量 | 含义 |
|---|---|
%f | 单个文件路径(例如,一个被选中的文件) |
%F | 多个文件路径 |
%u | 单个 URL |
%U | 多个 URL |
%i | 桌面文件中的图标名称(用于启动通知) |
%c | 本地化名称 |
%k | .desktop 文件的路径 |
示例: Exec=myeditor %f 在 myeditor 中打开所选文件。
对于没有参数的简单启动器,只需使用普通命令,例如 Exec=firefox 或 Exec=/usr/bin/gnome-terminal。
如果程序需要终端,请将 Terminal=true 并在 Exec= 中保留命令:
Exec=/home/user/scripts/backup.sh
Terminal=true
完整示例 – 每日备份脚本
[Desktop Entry]
Type=Application
Name=Daily Backup
Comment=Run backup script
Exec=/home/user/scripts/daily-backup.sh
Icon=utilities-terminal
Terminal=true
Path=/home/user
- 保存为
~/Desktop/daily-backup.desktop - 赋予可执行权限:
chmod +x ~/Desktop/daily-backup.desktop - 双击图标将在终端中运行脚本。
[Desktop Entry]
Type=Link
Name=Project Wiki
Comment=Open project wiki in browser
URL=https://wiki.example.com/project
Icon=web-browser
桌面将使用默认的网页浏览器打开该 URL。
常见故障排除
| 症状 | 可能原因 | 解决方法 |
|---|---|---|
| Launcher 未运行 | 错误或缺少 Exec=(完整路径或命令不在 $PATH 中)。 | 在终端中验证该命令可运行;对于脚本,确保其可执行,并在需要时添加 Terminal=true。 |
| 图标缺失 | Icon= 值无效。 | 使用已知主题图标名称(检查 /usr/share/icons/Yaru/ 或类似路径)或指向有效图像文件的绝对路径。 |
| Launcher 在桌面上不可见 | 文件不在 ~/Desktop,缺少 .desktop 扩展名,或未设为可执行。 | 将文件移动到 ~/Desktop,重命名为 .desktop,并执行 chmod +x。 |
| Launcher 未出现在应用菜单中 | 文件放置在错误的目录中。 | 将文件放入 ~/.local/share/applications/。如果系统中已有同名条目,用户文件会覆盖它。 |
| 更改未生效 | 菜单缓存未刷新。 | 注销/重新登录,或运行 update-desktop-database(如果已安装)。 |
附加主题(未来指南的占位符)
- 检查你的 Ubuntu 版本
- Ubuntu 24.04 中文件管理器(Nautilus、Nemo、Dolphin、Caja)的右键菜单差异
- 安装 Ubuntu 24.04 与实用工具
- Linux/Ubuntu 上的 GPU 监控应用
- Kubuntu 与 KDE Neon:技术深度对比
- Ubuntu 键盘快捷键速查表
- Ubuntu 软件包管理:APT 与
dpkg速查表 - 在 Ubuntu 中更改静态 IP 地址
(这些章节可以扩展为独立文章。)
- Server
- Desktop Entry Specification (freedesktop.org)
- Desktop Entry Specification – Exec key and variables
- Icon Theme Specification (freedesktop.org)
- Desktop Menu Specification (freedesktop.org)