嗨,我正在尝试通过在 Linux 中双击应用程序来运行应用程序,并且我已经阅读了有关 .desktop 文件的信息(我需要通过双击打开,因为我必须在 Raspberry 上部署该应用程序,而用户不需要想要使用终端)。 这就是我到目前为止所做的:
桌面文件:
[Desktop Entry]
Version=1.0
Type=Application
Name=CHRONOTERMOSTAT
Icon=../../../../../../home/gjcode/Scaricati/icons8-automazione-riscaldamento-48.png
Exec=sudo "../../../../../../home/gjcode/WebstormProjects/tlc-app/scripts/runAngular" %f
Exec="../../../../../../home/gjcode/WebstormProjects/tlc-app/scripts/runNode" %f
Exec="../../../../../../home/gjcode/WebstormProjects/tlc-app/scripts/openBrowser" %f
Comment=A chronotermostat for home automation
Categories=Application
Terminal=true
runAngular:
#!/bin/bash
cd ../ui
ng serve
运行节点:
#!/bin/bash
cd ../broker
npm start
打开浏览器:
#!/bin/bash
google-chrome http://localhost:4200
我在 ubuntu 上运行这些文件,所以我实际上不需要在 Raspberry 上运行 Angular,但我必须运行节点服务器。当我双击时,浏览器打开,但节点和角度似乎都没有启动。当我通过终端运行这些脚本时,一切正常。我检查了运行权限,一切正常:
4 -rwxr-xr-x 1 gjcode gjcode 49 lug 3 16:35 openBrowser
4 -rwxr-xr-x 1 gjcode gjcode 31 lug 3 16:34 runAngular
4 -rwxr-xr-x 1 gjcode gjcode 36 lug 3 16:59 runNode
我已经通过运行一个简单的脚本测试了这种方法,一切正常,那么我做错了什么?如何双击运行node并打开浏览器?
我自己解决了它,这是路径的问题,对于任何将面临同样问题的人来说,请记住 EXEC use:
home/username
作为工作目录,即使你将文件放在 usr/share/applications
中,这样相应地更改路径。