То, почему делает настольное средство запуска, не запускает мое приложение, в то время как командная строка делает?

Если Вы действительно хотите имя каталога сценария оболочки, который выполняется:

script_dir="$(dirname -- "$(readlink -f -- "$0")")"

Да, это - немного cludgy, но это безопасно.

Если Вы хотите текущую оболочку, можно попробовать предложение @MichaelMrozek использования $SHELL.

3
22.01.2013, 13:42
5 ответов

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

отправьте:

  • Ваша среда "командной строки" (вывод set при использовании удара),
  • содержание .desktop файла Вашего созданного средства запуска (скорее всего, найденный в ~/Desktop) и
  • точное продвижение команд оболочки до программы запускается правильно.
  • вывод file /opt/the/programm/youre/attempting/to/run
  • содержание/opt/the/programm/youre/attempting/to/run, ЕСЛИ вывод находки не содержит слово "двоичный файл". Однако могут быть проблемы авторского права/лицензирования с этим!

Дикая попытка ответа без любой вышеупомянутой информации:

Ваше программное обеспечение, установленное в /opt/... не статически связанный двоичный файл, но требует некоторых библиотек, которые также установлены ниже/, выбирают, но Ваша система не знает для поиска этого directoy необходимые библиотеки. Один способ зафиксировать это устанавливает LD_LIBRARY_PATH переменная для включения каталога в / выбирает.

4
27.01.2020, 21:17
  • 1
    Ваша попытка корректна! (Однако, который поднимает другой вопрос, который сам требует нового специализированного сообщения).Thanks –   23.01.2013, 18:54

Вы по всей вероятности не указывали определенный путь, и двоичный файл поэтому ищется с помощью переменной $PATH.

Кажется, что Ваше местоположение "/opt/..." содержится в Вашем ПУТИ оболочек, но не в Вашем пути средств запуска. Это, вероятно, потому что Вы устанавливаете его в файле конфигурации Вашей оболочки, как .bashrc.

Самое легкое решение просто указывает полный путь в Вашем средстве запуска, т.е./opt/path/to/your/binary.

1
27.01.2020, 21:17
  • 1
    Нет, использование полного пути не решает, –   22.01.2013, 13:41
  • 2
    проблемы на самом деле это не двоичный файл, а маленький сценарий... –   22.01.2013, 13:43
  • 3
    В этом случае это, вероятно, запускается, но ничего не отображает, потому что сам сценарий перестал работать по другой причине. Попытайтесь запустить что-то как xlogo в начале Вашего сценария, для проверки самого сценария запускается. –  michas 22.01.2013, 13:47
  • 4
    Возможно, что сценарий полагается на другие аспекты Вашей среды оболочки, которая отличается от того, когда это выполняется через настольное средство запуска. Возможно, можно ли добавить строку около вершины для дампа ENV в файл и затем разности их? –  Danny Staple 22.01.2013, 14:37
  • 5
    Если это - сценарий: Куда это должно поместить вывод? Запуск его в x-термине мог работать. –  Bonsi Scott 22.01.2013, 20:39

Попробуйте указать путь к Exec прямо в файле рабочего стола

Обходной путь Я обнаружил, что вызываю терминал -прямо из панели запуска

Exec=mate -терминал --path/do/your/script

Вы можете редактировать файл рабочего стола с помощью vi. Эта проблема заставила меня некоторое время ходить по кругу.

Если у вас не установлен mate, вы можете сделать sudo apt install mate -терминал

Затем после установки нажмите «Изменить», а затем «Настройки профиля». установите такие параметры, как шрифт, цвета, колокольчик, курсор и т. д.

Это возможно только в некоторых версиях Linux. Убунту нет.

Надеюсь, это поможет...

0
27.01.2020, 21:17

Обновление

Похоже, это исправлено в Mint -19.2. Если вы уйдете

Exec=mate-terminal -- /path/do/your/script

Вы откроете два терминальных сеанса. С 19.2 вернитесь к

Exec=/path/do/your/script

В любом случае убедитесь, что режим файла равен 755, чтобы он был исполняемым.

0
27.01.2020, 21:17

Не уверен, что это применимо ко всем дистрибутивам, но в Ubuntu 20.04 вы можете проверить свой файл.desktop с помощьюdesktop-file-validate </path/to/myapp.desktop>

0
06.03.2021, 20:51

Теги

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