Я создал my-app.desktop
файл для программы, которую написал. Когда я дважды щелкаю по нему, я получаю сообщение об ошибке « Произошла ошибка при запуске приложения ». Как я могу получить более подробную информацию о том, в чем проблема?
Я видел ссылку на раздел «детали» диалогового окна, но в том, что я вижу, нет ничего подобного. Если бы я был на своем Mac, я бы открыл консольное приложение, чтобы посмотреть, не были ли зарегистрированы какие-либо ошибки, но я не узнал ничего подобного в Ubuntu.
(Обратите внимание, что в отличие от других вопросов с аналогичным названием, я не спрашиваю, что не так с этим конкретным файлом .desktop; я хочу знать, как это выяснить в целом.)
PATH
). Я хочу знать, как получить точно такую же среду, как при обычном запуске, но с большей диагностической информацией.Exec=
пути. Помните, вы должны иметьExec=
в кавычках иPath=
без кавычек.Ответы:
Вот трюк, который вы можете использовать. Создайте скрипт-обертку для вашего приложения, которое запустит его и сохранит вывод ошибки:
Сохраните это как
~/foo.sh
и сделайте его исполняемым сchmod +x ~/foo.sh
. Теперь вместо этого укажите на него панель запуска вашего рабочего стола. Что-то типа:Это перенаправит любые сообщения об ошибках,
~/myapp.log
и вы можете просмотреть их на досуге. Вы можете использовать,2>>~/myapp.log
если хотите, чтобы последовательные сообщения об ошибках добавлялись в файл, а не перезаписывали его.Как и в стороне, причина того, что
$PATH
отличается, потому что вы, вероятно , настройками вашего$PATH
ин ,~/.bahsrc
который не прочитан в графической среде. Это также плохая идея, поскольку$PATH
она будет устанавливаться каждый раз, когда вы открываете новый терминал, и это не требует лишних затрат. Используйте~/.profile
для этого вместо этого. Подробнее о том, какие файлы читаются, смотрите здесь, а о том, какой файл для чего следует использовать, смотрите здесь .источник
Нашел ответ на этот вопрос здесь: /ubuntu//a/836842
Попробуй это :
Он выводит ошибки в вашем
.desktop
файле. Например мой вернулся:Поэтому, как только я исправил опечатку
Desktop Entry
, скрипт успешно запустился.источник
Запустив следующую команду в терминале:
Я уверен, что вы узнаете, есть ли ошибка в вашей команде, назначенной
Exec
полю изнутри вашего файла .desktop.источник
обычно терминал (-output) дает вам много полезной информации, как о приложении, так и о файле рабочего стола. Пример: если я запускаю свое приложение из терминала, набирая команду в терминале, приложение запускается.
Однако, если что-то не так, вы можете ожидать такой вывод:
которая дает вам много полезной информации, даже строку в вашем приложении, которая вызывает ошибку. (Я испортил это нарочно)
То же самое с файлом рабочего стола, просто откройте терминал в каталоге файла .desktop и перетащите его на терминал. Например, если вы удалите
Exec=
строку из файла .desktop, терминал сообщит вам, что не может найти команду для выполнения.Чтобы проверить, дает ли приложение ошибку, просто запустите то, что вы поставили после
Exec=
строки.Вывод терминала обычно очень специфичен и полезен в отчетах об ошибках, как здесь .
источник
Это может помочь другим людям - это официальная спецификация файлов запуска рабочего стола
Важный раздел: Распознанные ключи ввода на рабочем столе - показывает, какие значения вам нужны.
источник
Когда я действительно не могу понять это, я:
Затем щелкните правой кнопкой мыши на значке по умолчанию, который создан, и укажите на лучший рисунок.
источник
Для меня проблема была в пропущенной
Icon=
строке (что выглядит как глупое требование для работающей программы запуска). Мой полный файл .desktop теперь выглядит так:Который не особенно устойчив к изменениям в пользователе, но что угодно.
источник