目录
0.背景+环境
1、原理
2、详细步骤
1)创建.desktop快捷方式
2) 给test.desktop快捷方式增加可执行权限
3)编辑test.desktop内容和参数
4)修改快捷方式属性为双击可执行
5)将桌面快捷方式发送到桌面
0.背景+环境
ubuntu 16.04
项目需求,目前有一个可执行程序(test.sh),test.sh这个脚本是执行了某个命令打开应用,但是把.sh放在桌面也不好看(图标是默认的),所以希望制作一个桌面快捷方式,有自己的图标,并且双击可以打开
原本是这样的图标
制作后是这样的图标,是个.desktop桌面快捷方式(可执行程序)
你需要准备:
- test.sh可执行程序(实现好的,本文不关注.sh的内容)
- 一张作为快捷方式的图片
1、原理
首先要理解,这个名叫“C10”的本质是一个.desktop桌面快捷方式,双击可执行,需要在这个文件内部编写一些相关参数,如执行.sh脚本的位置和自己想使用的图标。
.desktop相关参数如下,需要什么参数可以自己加,我下文的例子中只展现比较基础的参数(少,但是够用,满足大多数情况)
详细信息的网址:Desktop Entry Specification (specifications.freedesktop.org)
2、详细步骤
1)创建.desktop快捷方式
注意:一定要在此目录下创建【/usr/share/applications】
因为这个目录是系统自动创建桌面快捷方式的路径,保存格式为xxxx.desktop
(我试过在桌面创建,图片会无法显示)
打开命令行,输入命令:进入此路径,然后用touch创建一个叫test的快捷方式(此名字其实不重要,因为后期显示的是写进去参数中的名字Name)
cd /usr/share/applications
sudo touch test.desktop
2) 给test.desktop快捷方式增加可执行权限
sudo chmod +x test.desktop
3)编辑test.desktop内容和参数
先用vim打开这个文件,如果没有vim,用vi也可以
然后将内容复制进去(注意,等号后的内容要替换为你自己的,如名字,可执行程序位置,图片等)
[Desktop Entry]
Type=Application
Name=C10
GenericName=C10
Comment=test
Exec="/home/wangyunuo/test.sh" %f
Icon=/home/wangyunuo/testImg.png
Terminal=true
Categories=X-Application;
参数解读
Type | 为了允许将来添加新类型,实现应该忽略具有未知类型的桌面条目。共三种:应用程序(Application)、链接(Link)、目录(Directory),因为我希望运行应用程序,所以我这个字段用了Application |
Name | 应用程序的特定名称。我的名字是“C10” |
GenericName | 应用程序的通用名称 |
Comment | 条目的工具提示。右键可执行程序,在属性里可以看到 |
Exec | Exec是可执行文件或脚本文件(.sh)的路径。我的可执行脚本.sh在【/home/wangyunuo/test.sh】这个路径 需要注意:Exec字段的值需要用引号括起来,并加上“ %f” |
Icon | 图片位置,我用的这张图片在【/home/wangyunuo/testImg.png】这个路径,直接把路径写在=后面就行 |
Terminal | 程序是否在终端窗口中运行。通常是不需要打开终端的,false是不在终端中运行,true是在终端中运行。 |
Categories | 条目应显示在菜单中的类别。 |
好了,参数都替换成你自己的之后,就可以保存退出了
4)修改快捷方式属性为双击可执行
在【/usr/share/applications】这个目录下,找到你刚写完的文件(注意,此时的名字已经替换为Name参数后的名字,不是最开始的test.desktop),右键,选择属性
在【Permissions】权限中选择把这个Execute勾上
此时就已经在默认路径下配置完成了,双击试一下,看是否能执行你的.sh程序
如果能执行的话,我们将他发送到桌面上,更方便点击
5)将桌面快捷方式发送到桌面
右键-选择“复制到”-选择桌面
然后就被发送到桌面了
至此,我们已经为test.sh这个可执行程序制作了一个桌面快捷方式,双击即可执行.sh
参考:
ubuntu 编写.desktop文件及调试方法_张亦可918011的博客-CSDN博客
unbuntu手动创建桌面快捷方式desktop文件详解_startupnotify_玩转智能机器人的博客-CSDN博客
--END--