为你的 Linux 应用创建 .desktop 文件
创始人
2024-03-01 21:26:27
0

在 Linux 中,一个 .desktop 文件就是一个用来运行程序的快捷方式。没有 .desktop 的话,你的应用就不会在应用菜单中显示了,也无法使用像 Synapse 和 Albert 这样的第三方启动起启动了。

大多数应用在安装后都会自动创建 .desktop 文件,并将自己放入应用菜单中以方便访问。然而,如果是你自己从源代码中编译的程序或者自己下载的压缩格式的应用,那就不会做这些事情了,每次你都需要打开终端来执行它的二进制文件。显然这个过程很无聊也很麻烦。

本文将会告诉你如何为应用创建 .desktop 文件,从而让你能在应用菜单中启动该应用。

相关阅读How to Add App Drawers to Unity Launcher in Ubuntu

如何创建桌面启动器

.desktop 文件基本上就是一个包含程序信息的纯文本文件,通常根据是自己可见还是所有用户可见的不同而放在 ~/.local/share/applications 或者 /usr/share/applications/ 目录中。你在文件管理器中访问这两个目录,都会看到很多系统中已安装应用对应的 .desktop 文件存在。

为了演示,我将会为 Super Tux Kart 创建一个 .desktop 文件,这是一个我很喜欢玩的卡丁车竞赛游戏。Ubuntu 仓库中带了这个游戏,但版本一般不新。

要获得最新的版本就需要下载 tar 包,解压并执行其中的游戏启动文件。

你可以仿照这个步骤来为任何程序创建启动器。

注意:下面步骤假设程序压缩包放在 “Downloads” 目录下。

1、跳转到存放压缩包的目录,右击然后选择 “Extract here”。

application-launcher-5

2、解压后,进入新创建的目录然后找到可执行的文件。之后右击文件选择 “Run” 来启动程序,确定程序运行正常。

application-launcher-6

3、有时候,你在右键菜单中找不到 “Run” 选项。这通常是因为这个可执行文件是一个文本文件。你可以在终端中执行它,如果你使用 GNOME 的话,可以点击上面菜单栏中的 Files 菜单,然后选择 “Preferences”。

application-launcher-linux-1

4、选择 “Behavior” 标签页然后选择 “Executable Text Files” 下的 “Run them”。现在右击可执行文本文件后也能出现 “Run” 选项了。

application-launcher-31

5、确认应用运行正常后,就可以退出它了。然后运行你的文本编辑器并将下面内容粘贴到空文本文件中:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable
Name=Name of Application
Icon=/path/to/icon

你需要更改 “Exec” 域的值为可执行文件的路径,并且将 “Name” 域的值改成应用的名称。大多数的程序都在压缩包中提供了一个图标,不要忘记把它也填上哦。在我们这个例子中,Super Tux Kart 的启动文件看起来是这样的:

application-launcher-supertuxkart

6、将文件以 application-name.desktop 为名保存到 ~/.local/share/applications 目录中。.local 目录位于你的家目录下,是一个隐藏目录,你需要启用 “Show Hidden Files” 模式才能看到它。如果你希望这个应用所有人都能访问,则在终端中运行下面命令:

sudo mv ~/.local/share/applications/ /usr/share/applications/

当然,别忘了把命令中的 改成真实的 .desktop 文件名。

7、完成后,打开应用菜单,就能看到应用出现在其中,可以使用了。

application-launcher-2

这个方法应该适用于所有主流的 Linux 操作系统。下面是另一张 Super Tux Kart 在 elementary OS 的应用启动器 (slingshot) 上的截图

application-launcher-4

如果你觉得本教程还有点用的话,欢迎留言。


via: https://www.maketecheasier.com/create-desktop-file-linux/

作者:Ayo Isaiah 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

微软推出首款自研 AI 模...
IT之家 8 月 29 日消息,周四,微软人工智能部门正式推出其首...
2025-08-29 08:45:04
基于开源鸿蒙打造的公路机电...
2025年8月26日,茅以升科教基金会道路交通委员会发布了2024...
2025-08-28 15:44:26
「嵌入式AI硬件开源运营平...
i黑马讯 近日,深圳宇凡微电子有限公司的「嵌入式AI硬件开源运营平...
2025-08-27 19:44:01
政策驱动AI技术落地,小米...
近日,国务院常务会议审议通过《关于深入实施 “人工智能 +” 行动...
2025-08-26 21:43:30
奥比中光:截至目前,公司产...
每经AI快讯,有投资者在投资者互动平台提问:请问公司在AI眼镜方面...
2025-08-26 18:47:42
AI或是全球科技核心驱动力...
当 AI 成为重塑全球科技格局的核心引擎,“AI 算力” 与 “A...
2025-08-26 17:20:04

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...