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

Я сделал свое маленькое приложение Python, но теперь я не могу запустить приложение из созданного мною .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 имеет свойства исполняемого файла

каждый раз, когда я делаю Doble. Щелкните MyApp.desktop, запустите MyApp.py, отобразите значок системного окна, но он закрылся, и Ubuntu отобразит сообщение об ошибке.

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

2
задан 7 November 2014 в 05:42

3 ответа

Попробуйте следующий текст в вашем файле .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;
0
ответ дан 7 November 2014 в 05:42

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

  • Вручную устанавливающее программное обеспечение к /usr/share сильно препятствуется!!! То дерево должно быть зарезервировано для программного обеспечения, установленного Вашим диспетчером пакетов (Центр программного обеспечения Ubuntu, apt, и т.д.). Существует usr/local/share для этого. Или, если Вы не хотите использовать sudo, можно установить для пользователя только в ~/.local/share. См. https://askubuntu.com/a/135679/11015 для получения дополнительной информации о каталогах установки программного обеспечения.

  • Если Вы хотите выполнить a .desktop файл путем двойного щелчка по нему, в Наутилусе или Рабочем столе, просто делает .desktop исполняемый файл файла! Обратите внимание, что это не требуется при копировании его в /usr/share/applications и запустите его через Тире/Меню. Или, лучше: копия к ~/.local/share/applications или по крайней мере /usr/local/share/applications, как предложено выше.

  • Icon=/usr/share/MyApp/MyApp.py не имеет никакого смысла: a .py файл не является действительным изображением, таким образом, он не может использоваться в качестве значка. Если Вы хотите использовать значок Python по умолчанию, использовать /usr/share/pixmaps/python.xpm

  • Основное различие между Вашим .desktop файл и принятый ответ Path=/usr/share/MyApp/ оператор. Если это заставило Ваше приложение работать, это означает, что Ваше программное обеспечение требует, чтобы текущий каталог был каталогом приложения. И это - плохая вещь: Ваше программное обеспечение должно смочь хорошо работать и найти его файлы данных независимо от текущего каталога. (подсказка: используйте Python __file__)

  • Если Вашим приложением является GUI (т.е., оно имеет окно), то добавьте StartupNotify=true. Это поможет средству запуска определить свое окно, когда это будет работать.

8
ответ дан 7 November 2014 в 05:42

Я думаю, вам следует переместить файл 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>
0
ответ дан 11 February 2021 в 14:11

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

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