Ubuntu系统为程序创建桌面快捷方式

为了不用每次都要进入命令行启动应用程序,为程序创建快捷方式是一个很方便的方法,尤其是你的程序需要在团队外部使用的时候。

桌面创建快捷方式一般使用.desktop为后缀的文件实现,该文件的内容格式基本要素如下:

[Desktop Entry]
Name=<Program Name>
Comment=<Program Description>
Exec=<Absolute Path of the Program>
Type=<Application or Link>
Terminal=<For window application, set false, for terminal application, set true>
Icon=<The absolute path of program icon>

当然,除了以上基本要素之外,还有更丰富的其他元素,比如,拿我们最熟悉的firefox举例,它的desktop文件在/usr/share/applications目录下,该目录下有我们安装在该台PC上的所有application的desktop文件。打开firefox.desktop,部分内容如下:

那么,接下来我们就用一个比较简单的示例程序来演示如何创建桌面快捷方式。

示例程序test_shortcut.py要运行的是一段Python代码,功能为显示一行文字,并显示一张图像:

import time
import cv2

print('Hello! This is a test program for shortcut.')

im=cv2.imread('/home/grace/test/myicons/ainr.png')
cv2.imshow('icon', im)
cv2.waitKey(0)

现在,我们写一个脚本test_shortcut.sh来执行上面这段代码:

python3 test_shortcut.py

我们在桌面上的快捷方式就是要来调用这个脚本。

首先,我们在当前目录下创建一个.desktop为后缀的文件(当然也可以直接在桌面上创建),比如就叫ainr.desktop吧,在该文件中,按照desktop的基本格式填入内容:

[Desktop Entry]
Name=AINR
Comment=AINR shortcut
Exec=/home/grace/test/test_shortcut.sh
Type=Application
Terminal=true
Icon=/home/grace/test/myicons/ainr.png

在以上文件中,我们指明了桌面快捷方式的名称"AINR",程序执行路径/home/grace/test/test_shortcut.sh,由于需要在终端打印文字,因此Terminal项设置为了true,最后指定了桌面快捷方式的图标路径/home/grace/test/myicons/ainr.png。

然后我们将该文件拷贝到桌面路径,并为其添加可执行权限:sudu chmod +x ainr.desktop

以上的操作均可通过命令行终端完成。接下来的操作则需要在可视化桌面上进行了。

在桌面上,我们可以看到已经存在了ainr.desktop这个文件,但并未显示成我们指定的图标。我们通过鼠标右键为其设置“Allow Launching”,这时,该桌面图标已经显示成我们指定的图标。双击该图标,命令行黑框一闪而过,并没有成功运行我们的程序,怎么回事呢?

为了查找原因,我们在桌面路径直接执行我们的bash脚本,通过绝对路径执行:

/home/grace/test/test_shortcut.sh

提示找不到test_shortcut.py文件。真相大白了!原来是路径问题。在桌面路径下执行脚本,是无法找到要调用的python文件的,因为脚本内用的是相对路径。于是修改脚本test_shortcut.sh为:

python3 /home/grace/test/test_shortcut.py

再次执行,成功!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值