前言
在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...