как создать файл .desktop для запуска скрипта python

Я сделал мое приложение python litle, но теперь я не могу запустить приложение из .desktop, который я сделал:

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

папку / usr / share / MyApp, которую я сделал как Root, MyApp.py имеет исполняемые свойства

каждый раз, когда I Doble Нажмите на MyApp.desktop запуск MyApp.py, отобразите значок systray, но он закрыт и заставит ubuntu отображать сообщение об ошибке.

, если я запустил MyApp.py из Terminal или DClick в .py-файле, который работает нормально, никаких сбоев

1
задан 7 November 2014 в 06:42

1 ответ

Могу ли я предложить несколько заметок и улучшений в отношении принятого ответа?

Вручную установить программное обеспечение на /usr/share настоятельно не рекомендуется! Это дерево должно быть зарезервировано для программного обеспечения, установленного вашим менеджером пакетов (Ubuntu Software Center, apt и т. Д.). Для этого есть usr/local/share. Или, если вы не хотите использовать sudo, вы можете установить для своего пользователя только в ~/.local/share. См. Https://askubuntu.com/a/135679/11015 для получения дополнительной информации о каталогах установки программного обеспечения. Если вы хотите выполнить файл .desktop, дважды щелкнув по нему, в Nautilus или на вашем рабочем столе, просто сделайте исполняемый файл .desktop! Обратите внимание, что это не требуется, если вы скопируете его на /usr/share/applications и запустите его через Dash / Menu. Или, лучше: скопируйте на ~/.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's __file__). Если ваше приложение является графическим интерфейсом (т. е. имеет окно), добавьте StartupNotify=true. Это поможет диспетчеру идентифицировать его окно при его запуске.
7
ответ дан 24 May 2018 в 18:11

Другие вопросы по тегам:

Похожие вопросы: