在 Linux 上,没有桌面文件的应用程序不会与您的桌面环境集成。大多数应用程序都提供一个,但有时您需要创建一个。这很容易,只需按照以下步骤操作即可。
桌面文件
桌面文件包含有关它们所属的应用程序或脚本的信息。它们最常与二进制可执行文件一起使用,但如果您愿意,您也可以将它们与脚本一起使用。为了简洁起见,我们只说“应用程序”。
桌面文件包含桌面环境在处理该应用程序时可以引用的元数据。桌面文件将指定应用程序二进制文件或脚本的位置、它使用的图标等。由于桌面文件存储在标准位置,因此桌面环境可以可靠地查找和引用它们。
如果应用程序没有桌面文件,则其与桌面环境的某些集成将失败。它不会出现在应用程序搜索结果中,也无法将其固定到扩展坞或其他启动器。在某些桌面环境中,您可以将桌面文件放在桌面上,它将充当快捷方式,让您通过双击桌面文件来运行应用程序。正是这个用例赋予了他们的名字。
由于多种原因,应用程序可能没有桌面文件。安装例程可能已打嗝,或者它可能是一个从未打算提供安装程序的极简安装程序。将应用程序下载为源代码并在计算机上编译通常不会创建桌面文件。
当然,如果您自己编写了应用程序,那么您也要对桌面文件负责。表现良好并符合桌面环境规范和期望的应用程序是那些感觉专业并让用户确信您知道自己在做什么的应用程序。
无论您为什么要创建桌面文件,在所有情况下,操作方法都是相同的。
桌面文件的构造
桌面文件是纯文本文件。可以使用任何文本编辑器创建它们。它们的命名与它们所代表的应用程序的名称相同,并且按照惯例具有“.desktop”扩展名。
桌面文件可能包含注释、组标头和键值对。
- 注释:注释以哈希 “” 开头。
- 组标题:组标题充当节标题。它们括在方括号“[]”内。它们用于将相关的键值对集组合在一起。唯一必需的组标头是“[桌面条目]”。
- 键值对:通过向命名元素或“键”提供值来输入设置。例如, 是键值对。“类型”是键,“应用程序”是值。
- Type=Application
一个工作的例子
在开始之前,请确保应用程序运行。打开终端窗口,然后启动应用程序。如果它运行,那就太好了。您可以继续制作桌面文件。如果应用程序不运行,则无论您在桌面文件中放置了什么,它仍然不会运行。
您需要纠正阻止应用程序启动的任何内容,然后再考虑通过桌面文件添加另一层抽象。
我们正在使用的程序有一个名为“/usr/本地/bin/taf/”目录的可执行文件。我们将启动应用程序,以确保它启动时没有任何问题。
taf
./taf
该程序启动得很好。
这个简单的测试产生了有用的知识。如果我们在尝试从桌面文件启动应用程序时遇到困难,则意味着问题必须与桌面文件有关,而不是与应用程序本身有关。
我们可以在任何地方创建桌面文件,但是要将其投入使用,我们需要将其复制到两个位置之一。
- 如果您是唯一将使用该应用程序的人,请将桌面文件复制到“~/.local/share/应用程序”目录。
- 如果您希望所有用户都能够使用该应用程序,请将桌面文件复制到“/usr/share/应用程序/”目录。
完全工作的桌面文件不必包含太多信息。下面是我们为应用程序创建的桌面文件。它被称为“桌面”。
taf
[Desktop Entry]
Name=Text Adventure Framework
GenericName=Interpreter for GDL Adventure Scripts
Comment=Game Description Language interpreter
Version=1.0
Exec=/usr/local/bin/taf/taf
Path=/usr/local/bin/taf/
Icon=/usr/local/bin/taf/taf_icon.png
Terminal=false
Type=Application
Categories=GNOME;GTK;Game;
这可以用作您自己的桌面文件的模板。请记住为要为其创建桌面文件的应用程序使用可执行文件的名称,并修改目录路径以适合。
这就是每条线的含义。
- [桌面条目]:此行将文件标识为桌面文件。即使文件被错误命名并且没有“.desktop”扩展名,也应该将其作为桌面文件进行识别和处理。
- 名称:应用程序的完整标题,而不是可执行文件的名称。当它显示在桌面环境中时,它将显示在应用程序图标下方。它也是将在工具提示中使用的文本。
- 通用名称:这是对应用程序类型的一般描述。如果有一个通用术语适用,例如Web浏览器,IDE或字处理器,则可以使用它。
- 注释:这旨在提供其他信息以补充“名称”和“通用名称”键值对。
- 版本:此文件所遵循的桌面文件规范的版本。
- Exec:这可能是可执行文件的名称,也可能是可执行文件的完整路径,包括可执行文件的名称。
- 路径:这是将从中启动应用程序的目录的路径。它是应用程序在启动时的工作目录。
- 图标:应用程序的图标。此图标用于应用程序搜索结果以及将应用程序添加到 Dock 或其他启动器时。
- 终端:指示应用程序是否在终端窗口中运行。
- 类型:对于常规应用程序,这将始称为“应用程序”。
- 类别:此值应以分号 “” 结尾,因为它包含一个列表。该列表包含应用程序可能在菜单下列出的类别。
每次修改时桌面文件(“~/.local/share/应用程序”或“/usr/共享/应用程序/”中的文件)时,都需要注销并再次登录,以查看所做的更改产生了什么影响。要避免这种情况,您可以使用该命令。执行此操作时需要使用。
update-desktop-database
sudo
sudo update-desktop-database
还有一个实用程序可以检查桌面文件的正确性。如果它检测到任何语法或其他错误,它将向您报告。我们将“应用程序”一词添加到文件中的“类别”行中,并进行检查。
我们将最后一行更改为:
Categories=GNOME;GTK;Game;Application;
这应该会引发错误,因为“应用程序”类别已被弃用。
desktop-file-validate taf.desktop
验证程序会给我们一个警告,指出“应用程序”类别在“类别”列表中不再是可接受的值。
使用桌面文件
如果应用程序仅供您使用,请将桌面文件复制到“~/.local/share/应用程序”目录中。如果允许所有用户使用该应用程序,请将桌面文件复制到“/usr/share/应用程序/”目录。
我们将它复制到“/usr/共享/应用程序/”目录。
sudo cp taf.desktop /usr/share/applications
我们还将确保读取新的桌面文件并将其元数据添加到数据库中。
sudo update-desktop-database
“超级”键通常位于左侧的“Ctrl”和“Alt”键之间。按 GNOME 中的“超级”键进入应用程序搜索。由于我们的桌面文件描述了一个名为“文本冒险框架”的应用程序,因此输入“文本”作为搜索线索就足以在搜索结果中显示应用程序的图标。
单击该图标将启动应用程序。
该应用程序已很好地集成到桌面环境中。其图标在运行时正确显示在扩展坞中。指向该图标将显示一个工具提示,其中包含应用程序的全名。
单击该图标将显示窗口预览视图,其中显示了应用程序已打开的窗口。
右键单击应用程序图标将生成一个上下文菜单。选择“添加到收藏夹”选项会将应用程序固定到扩展坞。
应用程序图标将移动到分隔线上方,并成为扩展坞上的永久图标。即使应用程序未运行时,该图标也存在。
本地
用户希望能够使用桌面应用程序执行某些操作。他们希望应用程序在搜索结果中列出。他们会认为它可以固定到启动器和码头,并具有表现良好的本机应用程序的其他细节。这些交互中数量惊人地由桌面文件控制。
如果您发现自己正在处理的应用程序缺少其桌面文件,您现在可以为其创建一个。它肯定胜过每次手动启动应用程序。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.