Как мне диагностировать & ldquo; Ошибка при запуске приложения & rdquo ;?

Я создал файл my-app.desktop для программы, которую я написал. Когда я дважды щелкните по нему, я получаю сообщение об ошибке «Ошибка при запуске приложения». Как я могу получить более подробную информацию о том, что проблема?

Я видел ссылку на раздел «подробности» диалогового окна, но в том, что я вижу, ничего подобного нет. Если бы я был на своем Mac, я бы открыл приложение Console, чтобы узнать, были ли зарегистрированы какие-либо ошибки, но я не узнал ничего подобного на Ubuntu.

(Обратите внимание, что в отличие от других аналогично названных вопросов , Я не спрашиваю, что не так с этим конкретным файлом .desktop, я хочу знать, как узнать вообще.)

1
задан 20 March 2014 в 23:48

5 ответов

Найден ответ на этот вопрос здесь: https://askubuntu.com/a/836842

Попробуйте это:

desktop-file-validate my-app.desktop

Он выводит ошибки в вашем .desktop файл. Например, my return:

error: first group is not "Desktrop Entry"

Итак, как только я исправил опечатку на Desktop Entry, сценарий успешно работал.

7
ответ дан 24 May 2018 в 10:35

Запустив следующую команду в терминале:

awk -F= '/Exec=/{system($2)}' your_desktop_file.desktop

Я уверен, что вы узнаете, есть ли ошибка или нет в вашей команде, назначенной полю Exec изнутри вашего .desktop file.

4
ответ дан 24 May 2018 в 10:35
  • 1
    У меня подобная проблема. Я выполняю вашу команду, и файл my.desktop работает отлично. Но когда я дважды щелкаю по нему, он показывает, что была ошибка при запуске приложения – Sayantan Koley 10 July 2016 в 22:02

обычно терминал (-output) дает вам много полезной информации, как на приложении, так и на рабочем столе. Пример: если я запустил приложение из терминала, набрав команду в терминале, приложение запустится.

Однако, если что-то не так, вы можете ожидать выход вроде:

Traceback (most recent call last):
  File "/home/jacob/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa    /qle-2.1.2/code/qle_quicklisteditor", line 4044, in <module>
    MainWindow()
  File "/home/jacob/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa   /qle-2.1.2/code/qle_quicklisteditor", line 51, in __init__
    self.load_sectons()
AttributeError: 'MainWindow' object has no attribute 'load_sectons'
jacob@Jacobwerkkamer:~/Bureaublad/werkmap_2.0/uploaded_versions/2.1.2/32_en_ppa   /qle-2.1.2/code$ 

, который дает вам много полезной информации, даже строку в приложении, которая вызывает ошибка. (Я испортил это специально)

То же самое с файлом рабочего стола, просто откройте терминал в каталоге файла .desktop и перетащите его на терминал. Если вы, например, удалите строку Exec= из файла .desktop, терминал сообщит вам, что не может найти команду для выполнения.

Чтобы проверить, дает ли приложение ошибку, просто запустите то, что вы положили после строки Exec=.

Выход терминала обычно очень специфичен и полезен в отчетах об ошибках, например здесь .

3
ответ дан 24 May 2018 в 10:35
  • 1
    Я знаю, как использовать терминал и как устранить запуск программы в целом. Предполагая этот подход, мне нужно знать , как точно воспроизводить условия запуска .desktop в терминале . – Kevin Reid 21 March 2014 в 00:41

Это может помочь другим людям - это официальная спецификация файлов запуска рабочего стола

. Важным разделом является: Распознаваемые ключи ввода рабочего стола - это показывает вам, какие значения вам нужны.

0
ответ дан 24 May 2018 в 10:35

Для меня проблема заключалась в отсутствии строки Icon= (что кажется глупым требованием для рабочего запуска). Мой полный файл .desktop теперь выглядит так:

[Desktop Entry]
Name=LiClipse
Comment=Variant of Eclipse
Exec=/home/tsbertalan/bin/liclipse
Terminal=true
Type=Application
Icon=/home/tsbertalan/usr/liclipse/icon.xpm

Это не особенно удобно для изменений в пользователе, но что угодно.

-1
ответ дан 24 May 2018 в 10:35

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

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