为什么我的启动器无法运行这个脚本?ubuntu 20.04

为什么我的启动器无法运行这个脚本?ubuntu 20.04

我有一个脚本“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变量。脚本完成后,脚本执行期间设置的自定义环境也会消失。

相关内容