Ubuntu-desktop entry文件

本文介绍了XDG Desktop Entry规范,该规范定义了应用程序如何融入桌面环境的菜单。内容包括:desktop entry文件的用途(应用、子菜单和链接),文件扩展名,文件位置,文件格式,以及如何编写URL和Application类型的desktop entry文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章链接

desktop entry文件介绍

The XDG Desktop Entry specification defines a standard for applications to integrate into application menus of desktop environments implementing the XDG Desktop Menuspecification.

一个desktop entry文件代表一个桌面环境中的一个菜单项,它的种类可以是应用、子菜单和链接。

对于应用和链接,文件扩展名为*.desktop,对于子菜单,文件扩展名为*.directory,虽然directory意为目录,但是却是作为子菜单的扩展名。

一些背景介绍

XDG指的是X Development Group, 这是Freedesktop.org的旧称,关于freedesktop的一些规定可以在https://specifications.freedesktop.org上找到。

desktop文件位置

先来看一下XDG Base Directory Specification定义的一些环境变量:

  • $XDG_DATA_HOME - 用户数据存放的基准目录,如果没有设置,默认值为$HOME/.local/share
  • $XDG_CONFIG_HOME - 用户配置存放的基准目录,默认为$HOME/.config
  • $XDG_DATA_DIRS - 除了$XDG_DATA_HOME目录之外,一系列按优先级排序的基准目录,这些目录也是用于查找用户数据文件的。默认值为/usr/local/share:/usr/share
  • $XDG_CONFIG_DIRS - 除了$XDG_CONFIG_HOME目录之外,一系列按优先级排序的基准目录,用于查找配置文件。默认值为/etc/xdg
  • $XDG_CACHE_HOME - 用于存放用户的non-essential (cached) data。默认$HOME/.cache

一般来说,建议用户自己的文件放在~/.local/share~/.config目录下。

desktop entry文件放在$XDG_DATA_HOME$XDG_DATA_DIRS 下面的applications/ 或者desktop-directories/,分别对应上面说到的三种类型。

desktop文件格式

先上个例子:/usr/share/applications/gedit.desktop

[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.18.3
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=new-window;new-document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit

X-AppStream-Ignore=true

[Desktop Action new-window]
Name=Open a New Window
Exec=gedit --new-window

[Desktop Action new-document]
Name=Open a New Document
Exec=gedit --new-document

从上面的例子可以看到,除了几行用方括号括住以外,*.desktop/*.directory文件的内容大部分都是一些形如key=value的键值对,参考官方文档,下面列出几个常用的,

Keywordvalue
Type为Application, Link或Directory
Name程序名
Comment注释
Icon图标,参见Icon Theme Specification
Exec执行程序的命令,只有Application类有,具体请看文档
Categoriesentry 应用所属的种类,使用分号分隔
URL用于Link类型的菜单项

注意上面的并不是所有的菜单项都有的,URL就只是Link类型特有,具体查看官方文档。

至于方括号之内的内容,叫做Group Header,常用的就是Desktop Entry和Desktop Action <动作名称>。试试在gedit的图标上右键,你看到了什么?是不是看到了两个选项:Open a new windowOpen a new document。 在看看上面的desktop文件。我想你已经知道了,Desktop Action可用来添加操作,如果选择了Open a new window就执行gedit --new-window,如果选择了Open a new document就执行gedit --new-document,当然别忘了把这两个操作加入进去:Actions=new-window;new-document;

自己动手写

一般来说,用户自定义的desktop文件建议都放在用户的~/.local/share里面。

编写url desktop entry文件示例

~/.local/share/applications/github.desktop文件内容如下

[Desktop Entry]
Type=Link
Name=github
URL=https://www.github.com
Icon=github

图片文件是~/.local/share/pixmaps/github.png,当然可以放在别的可以找到的地方,查看Icon Theme Specification

这样一个Link类型的desktop entry文件就创建好了,注意unity和gnome都不会在菜单中显示Link类型的菜单项,不过在文件管理器nautilus里面还是可以看到带有图标的链接的,点击也能打开浏览器跳转到github。

编写application desktop entry 文件示例

一个用于编辑~/note.txt的desktop entry

~/.local/share/applications/note.desktop

[Desktop Entry]
Type=Application
Name=Note
Icon=accessories-text-editor
Exec=bash -c "gedit ~/note.txt"

下面是两个示例的结果图,其中Note可以 在菜单上找到

desktop-entry-result

参考链接

XDG Desktop Entry specification

XDG Desktop Menu

XDG Base Directory Specification

archlinux-destkop entries

<think>首先,用户的问题是关于Ubuntu系统中desktop文件的删除问题。用户问:"Ubuntu系统中的desktop文件是否可以安全删除?" 我需要基于提供的引用和系统指令来回答。 回顾系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 用户可见层指令: - 回答结构清晰,帮助用户逐步解决问题。 - 尽量保证回答真实可靠。 - 参考站内引用。 提供的引用: - [^1]: Ubuntu Desktop 删除文件:右键点击文件 -> 移动到回收站或删除。 - [^2]: Ubuntu中安装Docker desktop,区分Docker desktop和Docker engine。 - [^3]: 双系统中Ubuntu不能粘贴文件,讨论在Ubuntu桌面中使用文件文件夹的困难。 - [^4]: 删除大文件后内存没增加的问题,解决方法涉及删除回收站中的文件。 用户的问题具体是关于"desktop文件"。在Ubuntu上下文中,"desktop文件"通常指的是.desktop文件,这些是桌面入口文件,用于启动应用程序或快捷方式。它们通常位于~/Desktop(用户桌面)或/usr/share/applications(系统范围)。 关键点:用户问是否可以安全删除这些文件。 基于引用: - [^1] 提到删除文件的一般方法:右键点击 -> 移动到回收站或删除。这适用于任何文件,包括.desktop文件- [^4] 讨论删除文件后内存问题,涉及回收站(Trash)。 - 其他引用如[^2]和[^3]不太相关,但可以作为一般参考。 回答结构: - 需要结构清晰,逐步解决问题。 - 先解释什么是desktop文件- 然后讨论是否可以安全删除。 - 提供安全删除的步骤。 - 最后生成相关问题。 是否安全删除: - 如果.desktop文件是用户创建的快捷方式,删除是安全的。 - 如果是系统应用程序的.desktop文件(如/usr/share/applications中的),删除可能会影响应用程序的启动,但通常不会破坏系统;用户可以通过重新安装应用程序恢复。 - 建议用户只删除自己创建的或不需要的文件。 基于引用[^1],删除文件的一般方法是: 1. 右键点击文件 -> 移动到回收站。 2. 或者直接删除(永久删除)。 引用[^4]提到回收站位置:~/.local/share/Trash,如果删除后空间没释放,可能需要清空回收站。 回答内容: - 用中文。 - 解释desktop文件- 说明删除的安全性。 - 提供删除步骤。 - 结尾生成相关问题。 生成相关问题: - 系统指令要求生成相关问题。 - 例如:如何恢复删除的文件?如何创建desktop文件Ubuntu文件管理最佳实践等。 最终回答结构: 1. 介绍desktop文件。 2. 讨论删除安全性。 3. 提供删除方法。 4. 注意事项。 5. 生成相关问题。</think>### Ubuntu系统中desktop文件的安全删除指南 在Ubuntu系统中,“desktop文件”通常指以`.desktop`为扩展名的文件,例如`example.desktop`。这些文件是桌面入口(shortcut),用于启动应用程序、脚本或文件夹快捷方式。它们可能位于用户目录(如`~/Desktop/`或`~/.local/share/applications/`)或系统目录(如`/usr/share/applications/`)。用户询问是否可以安全删除这些文件,我将逐步分析并给出可靠建议。 #### 1. **什么是desktop文件?** - Desktop文件是文本文件,使用INI格式定义应用程序的图标、名称和启动命令。例如: ``` [Desktop Entry] Name=My App Exec=/path/to/app Icon=/path/to/icon.png Type=Application ``` - 它们分为两类: - **用户自定义文件**:位于`~/Desktop/`或用户主目录下,由用户创建。 - **系统文件**:位于系统目录如`/usr/share/applications/`,通常由软件包安装生成。 #### 2. **desktop文件是否可以安全删除?** - **一般情况下是安全的**,但需根据文件来源判断: - **用户自定义文件**:如果文件是您手动创建的(例如,桌面上的快捷方式),删除后不会影响系统稳定性。您随时可以重新创建。 - **系统文件**:删除系统目录下的desktop文件(如`/usr/share/applications/`中的文件)可能导致应用程序图标从菜单中消失,但不会破坏应用程序本身。应用程序仍可通过终端运行,且重新安装软件包通常能恢复文件- **例外情况**:如果文件是系统关键组件的一部分(如桌面环境的核心应用),删除可能导致临时功能缺失,但Ubuntu的设计允许恢复。建议避免删除系统目录文件,除非您明确其用途。 总之,删除desktop文件不会删除实际应用程序或数据,仅移除快捷方式。Ubuntu文件系统权限机制也防止了意外删除关键文件,普通用户操作通常是安全的[^1]。 #### 3. **安全删除desktop文件的步骤** 基于引用[^1]和[^4],删除方法如下(优先推荐用户级操作): - **方法1:通过图形界面删除(推荐)** 1. 在文件管理器中定位文件(如`~/Desktop/`)。 2. 右键点击desktop文件。 3. 选择“移动到回收站”或“删除”(前者可恢复,后者永久删除)。 4. 清空回收站以释放空间:打开回收站,点击“清空”。如果空间未释放,检查回收站路径`~/.local/share/Trash/files/`并手动删除内容[^4]。 - **方法2:通过终端删除** - 删除用户文件(安全): ```bash # 移动到回收站 gio trash ~/Desktop/example.desktop # 或永久删除(谨慎使用) rm ~/Desktop/example.desktop ``` - 删除系统文件(需管理员权限,不推荐普通用户操作): ```bash sudo rm /usr/share/applications/example.desktop ``` 删除后,运行`sudo update-desktop-database`更新菜单。 **注意事项**: - 删除前备份文件:复制文件到其他目录,如`cp example.desktop ~/backup/`。 - 权限问题:普通用户无法删除系统目录文件,除非使用`sudo`,这增加了安全性。 - 空间问题:如果删除大文件后磁盘空间未增加,清空回收站或检查`~/.local/share/Trash/`目录[^4]。 #### 4. **总结与建议** - 删除desktop文件通常是安全的,尤其对用户自定义文件。系统文件删除后可通过软件包管理恢复(如`sudo apt install --reinstall package-name`)。 - 最佳实践:只删除不需要的快捷方式,避免修改系统目录。Ubuntu的桌面环境(如GNOME)会自动处理文件关联,无需担心连锁反应[^3]。 - 如果误删,可从回收站恢复或使用数据恢复工具(如`testdisk`)。 如果您提供更多细节(如文件路径),我可以给出更针对性的建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值