Linux创建桌面快捷方式(Desktop Entry)详解

CxA-小爱 2024-08-26 11:07:06 阅读 76

前言

在linux桌面版下面有个和Windows系统一样的东西,就是桌面快捷方式,他可以使用户很快的在桌面上打开软件,而不用去软件所在的目录中启动软件。这样做极大的简化了用户对于电脑的操作。

引入

用过windows的都知道,在windows下创建桌面快捷方式只需要打开软件所在目录,然后鼠标把exe文件拖到桌面即可,乍一听上去这更像是linux的软链接,但实际上是在桌面创建一个文件,后缀名是.lnk,然后里面写入了这个文件所指向的exe应用程序,并含有启动参数,图标信息等参数

然而,这在linux下也是一样的,只不过在linux中桌面快捷方式的文件扩展名是.desktop,中文名即“桌面”,在.desktop文件里面同样和windows一样包含了应用程序的执行路径,图标路径,启动参数等信息。

创建.desktop的两个目录

在linux下,有2个存储桌面快捷方式文件(.desktop)的目录,分别是 /home/user/.local/share/applications/usr/share/applications

有人看到这里可能会一脸蒙逼 

为什么要分两个路径???

合并在一起他不香吗???‘

f182feb321ed4c7ea4c79a78ae395d72.jpeg

我们都知道,在linux中肯定不止一个用户,最常见的就是root和我们自己的用户,我们接下来就以这两个用户来举例。

两个目录的区别

windows和linux都用过的都能很明显的感受到,在linux下的权限管理肯定更容易,因为有我们万能的sudo,但在windows下的管理员账户(Administrator)中,虽然说是管理员,但登陆到该账户下还是无法肆意的修改系统相关的文件和目录,在Administrator上面还有更高的System等,而这些账户以及权限我们无法正常的获取到,这些被windows封锁,受微软管控。

992ba98e8e394eb3bd2eb86b0f4b8648.png

60439f5284334eb3a1dc78004b10ce64.png

一不小心扯远了哈

34ea95e262ce402d8087ee8e8d0044dd.jpeg

反正就是说在linux下的权限及用户,文件都有着极为方便的管理,还是那句话,没有什么是sudo解决不了的

好了,正式进入正题:

在linux下的桌面快捷方式分为 公共 和 私有,怎么理解呢

公共桌面快捷方式就是不管在哪个账户下都有的,换句话说就是所有用户的桌面上都有这个快捷方式。公共的快捷方式通常时包含系统级别的软件,如设置,磁盘管理等程序

私有桌面快捷方式是针对于用户的,如在A用户下创建了个快捷方式,则仅在该用户下才会显示该快捷方式,当切换到其他用户时,无法显示。私有快捷方式通常包含用户自己安装的软件,如qq,idea,vscode等程序

而上面所说到的两个目录  /home/user/.local/share/applications/usr/share/applications 别对应 私有快捷方式 和 公共快捷方式 的目录

创建桌面快捷方式

这里以私有快捷方式为例,公共的也是一样,只不过操作时需要root权限。

进入 /home/user/.local/share/applications 路径里面的user是你用户名,根据你自己实际的来。

cd  /home/user/.local/share/applications

前面说过linux下的桌面快捷方式后缀名是.desktop,所以我们要创建一个后缀为.desktop的文件,名字任意,例如我要创建一个idea(一个java编辑器)的快捷方式为例,我这边直接使用vim(命令行模式下的文本编辑器)来创建,用自带的编辑器都一样。

vim idea.desktop

没有idea.desktop这个文件,vim会自动创建

接着在里面写入以下内容

[Desktop Entry]

Version=233.13135.103

Name=IDEA

Comment=Write java code

Exec=/home/cancerai/Documents/application-data/idea/bin/idea.sh

Icon=/home/cancerai/Documents/application-data/idea/bin/idea.svg

Terminal=false

Type=Application

这是我自己的,大家根据自己的实际情况来修改

有人说不会??

3ef585d0fa8049279004c6c956752e79.jpeg

那么我们来详细将将这个文件里面有什么东西。

首先第一行

<code>[Desktop Entry]

他指定了这个文件是个桌面启动文件,什么意思呢??

其实就是在桌面创个快捷方式

从第二行往下,你肯定会注意到这样的一个书写格式:

XXX=XXX

没错,这就是.desktop文件的书写基本格式,学过编成的都知道,这是“键值对”的格式,没学过也不要紧,这边我来说一下,“键值对”就是由 “键” 和 “值” 组成的一对数据,对应的英文即 “key”,“value"。“值”应该很好理解,就好比a=1,  1就是a的值一样,  那么“键“就相当于a。

还有一个值得注意的是,.desktop中 键 的开头都是大写的。

我把所有key的中文都列出来会更容易理解其含义:

Version 版本

Version=233.13135.103

Name 名字

Name=IDEA

Comment 注释

Comment=Write java code

Exec 执行

Exec=/home/cancerai/Documents/application-data/idea/bin/idea.sh

Icon 图标

Icon=/home/cancerai/Documents/application-data/idea/bin/idea.svg

Terminal 终端

Terminal=false

Type 类型

Type=Application

版本(Version):即这个软件的版本号,不知道也可以随便写

名字(Name):快捷方式的名字

注释(Comment):对这个快捷方式的注解,不知道怎么写也可以随便写

执行(Exec):快捷方式所指向的执行文件

图标(Icon):快捷方式的图标文件

终端(Terminal):是否使用终端

类型(Type):启动类型

为了使快捷方式能够正常使用,上面红色标注的是必须的,其他均为可选

Tips:

当没有指定名字时,默认是 Unnamed

当没有指定图标时,默认是 系统图标

如下

36052de297864710afe9f10c51a56056.png

Note:

创建或者修改完 .desktop 文件不会立即生效,需要等几秒,如果长时间没反应,可以退出当前账户再登陆

最后

以上就是完整的.desktop教程,但里面的属性并不完整,只是最基础的结构,如果需要更多设置,可以参照社区: https://gnu-linux.readthedocs.io/zh/latest/Chapter02/53_desktop.html



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。