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

前言

在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

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

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

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

​编辑

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

两个目录的区别

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

​编辑

​编辑

一不小心扯远了哈

​编辑

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

好了,正式进入正题:

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

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

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

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

创建桌面快捷方式

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

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

bash 复制代码
cd  /home/user/.local/share/applications

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

vim idea.desktop

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

接着在里面写入以下内容

ini 复制代码
[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

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

有人说不会??

​编辑

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

首先第一行

csharp 复制代码
[Desktop Entry]

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

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

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

ini 复制代码
XXX=XXX

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

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

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

ini 复制代码
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

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

如下

​编辑

Note:

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

最后

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

相关推荐
Ven%30 分钟前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi2 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT2 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei2 小时前
linux centos 安装redis
linux·redis·centos
lldhsds3 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
wowocpp3 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu
山河君3 小时前
ubuntu使用DeepSpeech进行语音识别(包含交叉编译)
linux·ubuntu·语音识别
鹏大师运维4 小时前
【功能介绍】信创终端系统上各WPS版本的授权差异
linux·wps·授权·麒麟·国产操作系统·1024程序员节·统信uos