我有一个脚本“poweriso.sh”,在目录中双击即可正常工作。
export LD_LIBRARY_PATH=.
export QT_QPA_PLATFORM_PLUGIN_PATH=.
./poweriso
unset LD_LIBRARY_PATH
这就是文件下载的方式。我添加了
#!/bin/bash
不要介意。
我有一个 .desktop 文件“poweriso.desktop”,但无法启动它。
[Desktop Entry]
Type=Application
Terminal=true
Name=Power ISO
Icon=/mnt/Linux-stuff/poweriso-x64/iso.png
Exec=/mnt/Linux-stuff/poweriso-x64/poweriso.sh
我认为我看到了 GUI 的闪烁,但它没有运行。
尝试运行后,它没有显示在进程中。
.desktop 位于 ~/.local/share/applications 中,它显示在启动器菜单中。
我已经看了很久了。请帮忙。
答案1
命令
./poweriso
您在脚本中向系统指示的意思是:“poweriso
在当前目录中找到一个可执行文件(./
)并运行它。当您从启动器运行脚本时,当前目录极不可能是脚本所在的目录。
这就是“为什么”。
一些选项:
- 在您的脚本中,首先更改为可执行文件保留的目录以解决此问题。
- 或者,让
.desktop
启动器将当前目录更改为可执行文件所在的目录Path=
。 poweriso
或者,在脚本中提供可执行文件的绝对路径,并在创建的环境变量中指示该目录,以便它可以找到其资源。
顺便说一句,脚本中不需要unset
变量。脚本完成后,脚本执行期间设置的自定义环境也会消失。