前言
之前提到过当前公司正在进行国产化方面的东西,目前有个桌面软件需要迁移到Linux下,于是通过Avalonia UI实现了一下,具体实现过程还算顺利,跟WPF相比虽说有些差异但感觉可以接受,也可能跟本身项目不复杂有关,毕竟就三个窗口。在添加完桌面快捷方式之后遇到了点问题,于是就有了这篇日志。
创建桌面快捷方式
新建一个utf-8格式的文本,名称改为应用名称,后缀改为.desktop就可以了,为避免误人子弟,常用内容可参考这里,下面是例子:
[Desktop Entry]
Name=XXXX
Type=Application
Exec=/home/test/xxx
Path=/home/test/xxx
Icon=/home/text/xxx.png
StartupNotify=true
完了之后只要将该文件复制到桌面上就变成启动快捷方式了,如果想在开始菜单中或启动器中看到,就把该文件复制到/usr/share/applications目录中就可以了。也可以增加Categories指名应用分类,这样就可以出现在开始菜单或启动器中的不同分类下面了,具体分类可以参考这里
路径问题
正常项目启动时会生成日志文件,但是在桌面启动时却没有生成,研究了一下,找到两种解决办法,
- 增加Path这个关键字,该参数可以指名工作路径,处理非常简单,这也是项目里使用的办法。
可以定义一个脚本,和应用放到一起,通过启动脚本来解决路径问题,对比增加关键字,这种方式更加灵活一点,下面是脚本内容:
#! /bin/bash # shellcheck disable=SC2046 cd $(dirname $0) || exit ./xxx
然后需要将.desktop文件里替换掉Exec=后面的内容,改为:sh /home/test/xxx.sh就可以了。
结束
对比windows,linux下的处理相对灵活很多,不亏是一切皆文件。
兄弟写的非常好 https://www.cscnn.com/
看的我热血沸腾啊https://www.ea55.com/
不错不错,我喜欢看 https://www.ea55.com/
想想你的文章写的特别好https://www.237fa.com/
怎么收藏这篇文章?
看的我热血沸腾啊https://www.jiwenlaw.com/
叼茂SEO.bfbikes.com