如何在 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

图标选项

FormExampleWhen to use
主题图标名称(无路径)Icon=utilities-terminalIcon=firefox当图标存在于当前图标主题(/usr/share/icons/...)中时首选
绝对路径Icon=/usr/share/pixmaps/ubuntu-logo.svgIcon=/home/user/.local/share/icons/myapp.png用于自定义图标(PNG、SVG、XPM)

如果找不到图标,桌面会回退到默认图标,但启动器仍然可以工作。

Exec= 语法和字段代码

您可以传递参数并使用规范定义的变量:

变量含义
%f单个文件路径(例如,一个被选中的文件)
%F多个文件路径
%u单个 URL
%U多个 URL
%i桌面文件中的图标名称(用于启动通知)
%c本地化名称
%k.desktop 文件的路径

示例: Exec=myeditor %fmyeditor 中打开所选文件。
对于没有参数的简单启动器,只需使用普通命令,例如 Exec=firefoxExec=/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)
0 浏览
Back to Blog

相关文章

阅读更多 »

编译器是确定性的吗?

2026年2月22日 > Betteridge 说 “no”,对于普通的 developer experience,这个答案大体上是正确的。另外,你完全正确!——我使用了 ChatGPT 来帮助我……