如何从桌面快捷方式启动 NPM 应用程序?

如何从桌面快捷方式启动 NPM 应用程序?

我已经为名为 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 会话中执行,因为联机帮助页斯特赫特。

相关内容