如何创建桌面条目来启动 Python 脚本?

如何创建桌面条目来启动 Python 脚本?

我制作了我的小型 Python 应用程序,但无法使用我创建的桌面条目启动该应用程序:

[Desktop Entry]
Name=MyApp
Version=0.1
Exec=/usr/share/MyApp/MyApp.py
Icon=/usr/share/MyApp/img/MyApp.png
Comment=Description......
Type=Application
Terminal=false
StartupNotify=false
Categories=Video;GTK;GNOME

/usr/share/MyApp我以 root 身份创建的文件夹具有MyApp.py可执行属性。

每次我双击MyApp.desktop启动MyApp.py时,都会显示一个系统托盘图标,但它会关闭并使 Ubuntu 显示错误消息。

如果我从终端运行MyApp.py或双击文件,.py它会正常运行,不会崩溃。

答案1

我可以针对已接受的答案提供一些注释和改进吗?

  • /usr/share手动安装软件强烈反对!该树应保留用于由您的软件包管理器(Ubuntu 软件中心、apt等)安装的软件。 有usr/local/share。 或者,如果您不想使用sudo,您可以仅为您的用户安装~/.local/share。 请参阅https://askubuntu.com/a/135679/11015有关软件安装目录的更多信息。

  • 如果您想.desktop通过双击来执行文件,在 Nautilus 或桌面上,只需使文件.desktop可执行!请注意,如果您将其复制到并通过 Dash/Menu 启动它,则不需要这样做/usr/share/applications。或者,更好的方法是:复制到~/.local/share/applications或至少/usr/local/share/applications,如上所述。

  • Icon=/usr/share/MyApp/MyApp.py没有意义:.py文件不是有效图像,因此不能用作图标。如果要使用默认的 Python 图标,请使用/usr/share/pixmaps/python.xpm

  • .desktop您的文件和接受的答案之间的主要区别在于Path=/usr/share/MyApp/声明。如果让你的应用程序运行,这意味着你的软件需要当前目录是应用程序目录。这是一件坏事:无论当前目录如何,您的软件都应该能够正常运行并找到其数据文件。(提示:使用 python 的__file__

  • 如果您的应用程序是 GUI(即,它有一个窗口),则添加StartupNotify=true。它将帮助启动器在运行时识别其窗口。

答案2

尝试在您的 .desktop 文件中遵循以下文本。

[Desktop Entry]
Version=1.0
Name=ProgramName
Comment=This is my comment
Exec=/usr/share/MyApp/MyApp.py
Icon=/usr/share/MyApp/MyApp.py
Path=/usr/share/MyApp/
Terminal=false
Type=Application
Categories=Utility;Application;

答案3

我认为你应该将你的 Python 文件移动到/usr/local/bin/bin 并删除.py末尾并添加#!/bin/python3到你的 Python 文件的第一行,然后将你的图标复制到/usr/share/pixmaps 并将其添加到.desktop文件中

Exec=<your file name which is in bin>
Icon=<your logo name without .png or xpm at back>

相关内容