Я сделал свое маленькое приложение 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, он запускается нормально, без сбоев
Попробуйте следующий текст в вашем файле .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;
Я могу предложить несколько примечаний и улучшений по сравнению с принятым ответом?
Вручную устанавливающее программное обеспечение к /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
. Это поможет средству запуска определить свое окно, когда это будет работать.
Я думаю, вам следует переместить файл 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>