部分Linux发行版提供了在桌面上添加某个程序图标的快捷操作方法,但有的发行版可能没有提供,或者说刚上手某个发行版,暂时还没找到在哪里操作。这个时候,我们可以手动在Linux桌面上添加一个快捷方式的程序图标。


Linux桌面程序图标的文件名是”XXX.desktop“,当然,这个文件名并不是我们在桌面上看到的图标的名字。关于desktop文件的详细结构,如果想了解,可以参考这篇技术文献:Linux Desktop Entry 文件深入解析


但是对于普通用户来说,我们没必要了解那么多的技术细节。只需要设置其中的三四个属性即可。


例子:主文件夹下的android-studio/bin/目录下有一个sh文件,运行它将运行我们的AndroidStudio。但是我不想每次都通过终端来敲命令运行这个sh,我希望双击桌面上的某个图标,AndroidStudio就可以运行,就像Windows中的快捷方式一样。


那么可以这么做,在桌面上新建一个普通文本文档,在其中写入以下内容:

[Desktop Entry]
Name=AndroidStudio
Type=Application
Icon=/home/android/android-studio/bin/idea.png
Exec=sh /home/android/android-studio/bin/studio.sh

Name表示这个桌面快捷方式的名称。

Type表示这个快捷方式是什么类型的,一般有两种类型,Application说明这是一个应用程序的快捷方式。

Icon表示这个快捷方式的图标文件的路径。(这个属性可以没有)

Exec表示双击快捷方式之后,将要执行的命令。


Type的另外一种类型是Link,表示这是一个网址的快捷方式。如果想要做一个网址的链接,除了Type要设置为Link之外,还需要加一个URL属性,表示链接的网址(当然,上面的Exec属性就可以去掉了),例如:

[Desktop Entry]
Name=Mecup的技术博客
Type = Link
Icon=/home/android/android-studio/bin/idea.png
URL = http://mecup.blog.51cto.com/

保存并关闭文本文档,将其文件名改为“xxx.desktop”的格式。但是,此时可能并未看到它变为我们设置的图标模样,而仍然是一个普通文档的图标,而且名称也未变成Name中设置的名称,如下图:

wKioL1UCsqTDyyO4AAAs9G1CTqY960.jpg

双击该图标,可能不会打开程序,反而会弹出类似如下图所示的错误提示:

wKiom1UCsYKCmkQOAADYuHMVnOs768.jpg

此时,只需要右键单击快捷方式图标,在弹出菜单中选择“属性”,进入属性窗口并切换到“权限”选项卡上,勾选”允许作为程序执行文件“即可。 

wKiom1UCsYKTZQbmAAEHey8rih4295.jpg

 可以看到,文档图标变成了我们设置的快捷方式图标,下方的文字也变成了Name属性中定义的名称,此时双击该快捷方式,可以正常打开我们的程序。

wKioL1UCsqOxoQrlAAAggwzBpJg801.jpg

但这个图标的实际文件名,仍然是”xxx.desktop“。