【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)

目录

0.背景+环境

1、原理

2、详细步骤

 1)创建.desktop快捷方式

2) 给test.desktop快捷方式增加可执行权限

3)编辑test.desktop内容和参数

4)修改快捷方式属性为双击可执行

5)将桌面快捷方式发送到桌面


0.背景+环境

ubuntu 16.04

项目需求,目前有一个可执行程序(test.sh),test.sh这个脚本是执行了某个命令打开应用,但是把.sh放在桌面也不好看(图标是默认的),所以希望制作一个桌面快捷方式,有自己的图标,并且双击可以打开

原本是这样的图标

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第1张图片

 制作后是这样的图标,是个.desktop桌面快捷方式(可执行程序)

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第2张图片

你需要准备:

  • test.sh可执行程序(实现好的,本文不关注.sh的内容)
  • 一张作为快捷方式的图片

1、原理

首先要理解,这个名叫“C10”的本质是一个.desktop桌面快捷方式,双击可执行,需要在这个文件内部编写一些相关参数,如执行.sh脚本的位置和自己想使用的图标。

.desktop相关参数如下,需要什么参数可以自己加,我下文的例子中只展现比较基础的参数(少,但是够用,满足大多数情况)

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第3张图片

 详细信息的网址: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;

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第4张图片

 参数解读

Type 为了允许将来添加新类型,实现应该忽略具有未知类型的桌面条目。共三种:应用程序(Application)、链接(Link)、目录(Directory),因为我希望运行应用程序,所以我这个字段用了Application
Name

应用程序的特定名称。我的名字是“C10”

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第5张图片

GenericName 应用程序的通用名称
Comment

条目的工具提示。右键可执行程序,在属性里可以看到

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第6张图片

Exec

Exec是可执行文件或脚本文件(.sh)的路径。我的可执行脚本.sh在【/home/wangyunuo/test.sh】这个路径

需要注意:Exec字段的值需要用引号括起来,并加上“ %f”

Icon

图片位置,我用的这张图片在【/home/wangyunuo/testImg.png】这个路径,直接把路径写在=后面就行

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第7张图片

Terminal 程序是否在终端窗口中运行。通常是不需要打开终端的,false是不在终端中运行,true是在终端中运行。
Categories  条目应显示在菜单中的类别。

 好了,参数都替换成你自己的之后,就可以保存退出了

4)修改快捷方式属性为双击可执行

【/usr/share/applications】这个目录下,找到你刚写完的文件(注意,此时的名字已经替换为Name参数后的名字,不是最开始的test.desktop),右键,选择属性

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第8张图片

 在【Permissions】权限中选择把这个Execute勾上

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第9张图片

 此时就已经在默认路径下配置完成了,双击试一下,看是否能执行你的.sh程序

如果能执行的话,我们将他发送到桌面上,更方便点击

5)将桌面快捷方式发送到桌面

右键-选择“复制到”-选择桌面

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第10张图片【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第11张图片

 然后就被发送到桌面了

【Linux】为.sh脚本制作桌面快捷方式(.desktop,可双击执行),且替换显示图标(图文详情)_第12张图片

至此,我们已经为test.sh这个可执行程序制作了一个桌面快捷方式,双击即可执行.sh 

参考:

ubuntu 编写.desktop文件及调试方法_张亦可918011的博客-CSDN博客

unbuntu手动创建桌面快捷方式desktop文件详解_startupnotify_玩转智能机器人的博客-CSDN博客

--END--

你可能感兴趣的:(Linux,linux)