为什么桌面启动器无法启动我的应用程序,而命令行却可以?

为什么桌面启动器无法启动我的应用程序,而命令行却可以?

我安装了一个(专有)软件,/opt并且可以使用命令行完美运行它。然后我想创建一个桌面图标来启动它:在我的 Mint 发行版上我使用create_launcher.

但是,当单击我的新图标时,没有任何反应。为什么?

答案1

您安装的软件/opt/...不是静态链接的二进制文件,而是需要一些库,这些库也安装在 /opt 下,但您的系统不知道在该目录中搜索所需的库。解决此问题的一种方法是设置LD_LIBRARY_PATH变量以将您的目录包含在 /opt 中。

答案2

不确定它是否适用于所有发行版,但在 Ubuntu 20.04 中,您可以使用以下命令验证您的 .desktop 文件desktop-file-validate </path/to/myapp.desktop>

答案3

您很可能没有指定特定路径,因此使用 $PATH 变量搜索二进制文件。

看起来您的位置“/opt/...”包含在您的 shell 路径中,但不包含在您的启动器路径中。这可能是因为您在 shell 的配置文件中设置了它,例如 .bashrc。

最简单的解决方案是简单地在启动器中指定完整路径,即 /opt/path/to/your/binary。

答案4

更新

看来这个问题在 Mint-19.2 中已得到修复。如果你走

Exec=mate-terminal -- /path/do/your/script

您将打开两个终端会话。与 19.2 返回

Exec=/path/do/your/script

无论哪种情况,请确保文件的模式为 755,以便它可执行。

相关内容