我已经为名为 TMXEditor 的应用程序创建了桌面快捷方式npm
,但它不起作用。
cd /home/souto/Apps/maxprograms/TMXEditor && npm start
如果我在终端上启动该应用程序,我就可以启动该应用程序。
我把它放在一个 bash 文件中/home/souto/Apps/maxprograms/TMXEditor/start.sh
。如果我只是在终端中运行该脚本,应用程序就会运行。其具体内容是:
#!/bin/bash
cd /home/souto/Apps/maxprograms/TMXEditor && npm start
所以我创建了指向该内容的 .desktop 文件:
[Desktop Entry]
Name=TMXEditor
Exec=/home/souto/Apps/maxprograms/TMXEditor/start.sh
Icon=/home/souto/Apps/maxprograms/TMXEditor/icons/tmxeditor.png
StartupNotify=true
Terminal=false
Type=Application
Categories=Translation;
Comment=
Path=/home/souto/Apps/maxprograms/TMXEditor
文件.desktop
保存为/home/souto/.local/share/applications/TMXEditor.desktop
.
我可以在 Rofi 中看到快捷方式,但是当我从那里运行它时,应用程序将无法启动。
我也尝试过放Exec=xfce4-terminal -e "/home/souto/Apps/maxprograms/TMXEditor/start.sh
。在这种情况下,我可以看到终端闪烁了几分之一秒,但应用程序仍然无法运行。
.desktop 和 bash 文件都是可执行的:
-rwxrwxr-x 1 souto souto 296 feb 19 14:27 /home/souto/.local/share/applications/TMXEditor.desktop
-rwxrwxrwx 1 souto souto 67 feb 19 13:53 /home/souto/Apps/maxprograms/TMXEditor/start.sh
我的桌面环境是 Xfce 4.18(在 arch linux 上),我通常使用 zsh 5.9 作为 shell。
我希望得到一些帮助来调试这个快捷方式。谢谢。
答案1
鉴于使用该实用程序运行它kioclient exec
几乎可以保证问题是环境变量中缺少一些添加,可以env
在终端中与env
桌面文件引用的脚本中进行比较来检查这些变量。
请注意,在 bash 中添加 shebang 不会对环境进行任何修改,~/.bashrc
因为它仅在交互式 bash 会话中执行,因为联机帮助页斯特赫特。