我的 python gtk3 应用程序的桌面文件无法加载该应用程序

我的 python gtk3 应用程序的桌面文件无法加载该应用程序

我正在为 Ubuntu 创建一个 GTK3 python 应用程序。目前,该应用程序安装在以下位置。

/选择/NSTrain文件夹,其中 NSTrain 是我的应用程序的名称。NSTrain 文件夹包含可执行 .py 文件、其图标、gui 文件和其他库文件。它还安装了一个 .desktop 文件来/usr/share/应用程序文件夹。

这是我的 .desktop 文件的内容,

[Desktop Entry]
Name=NSTrain
X-GNOME-FullName=NSTrain
Comment=Train Scheduler Application
Categories=GNOME;Utility;
Exec=/opt/NSTrain/nstrain.py
Icon=/opt/NSTrain/app-icon.png
Terminal=false
Type=Application

我在应用程序镜头中看到我的应用程序,并带有相应的图标。但是当我单击它时,什么也没有发生。nstrain.py 文件是可执行文件,当我使用命令从终端执行它时,它可以正常工作./nstrain.py

这里的问题是什么?

答案1

您的应用程序是否假定您是从文件夹启动的/opt/NSTrain/?如果是,请添加以下行

Path=/opt/NSTrain/

到您的 .desktop 文件。这会告诉 Unity(或 Gnome Shell 或您用来启动应用程序的任何程序)在给定文件夹中启动您的程序。

如果没有该行,您的应用程序将从 Unity 的当前工作文件夹(或其他文件夹)启动,该文件夹通常是您的主文件夹。如果您的应用程序认为它是从这里启动的,/opt/NSTrain/因此尝试打开类似/opt/NSTrain/somefile.dat这样的文件,这将破坏您的应用程序somefile.dat

如果这没有帮助,请使用您的主文件夹在终端中启动您的应用程序/opt/NSTrain/nstrain.py并发布您收到的任何错误消息。

相关内容