У меня есть программа Java, которая работает правильно, когда я запускаю java -jar "лиззи.jar"
из терминала, но когда я дважды щелкаю по нему в Nautilus, он запускается (т.е. отображается пользовательский интерфейс), но возвращает ошибку «Нет такого файла или каталога» для одного из файлов (./leelaz), от которого зависит его правильная работа.
Я создал файл .desktop в /home/имя пользователя/.local/share/applications
со следующим содержанием:
#!/usr/bin/env xdg-открыть
[Вход на рабочий стол]
Имя=Лиззи
Тип = Приложение
Exec=java -jar "/home/username/opt/Lizzie/lizzie.jar"
Icon=/home/username/opt/Lizzie/lizzie_custom_logo.png
Комментарий=Лиззи
Терминал=ложь
Запуск этого приводит к той же ошибке, что и двойной щелчок.
Я нашел и прочитал это сообщение, и я пытался использовать оба Терминал=истина
и Терминал=ложь
. Файл lizzie.jar настроен на выполнение как программу, и как при запуске из Nautilus, так и из терминала я не являюсь пользователем root. Это, конечно, может быть проблемой для Lizzie, а не для Ubuntu, но я думаю, что должен иметь возможность генерировать такое же поведение, как если бы он запускался из терминала.
Расстояние: Ubuntu 18.04.6 ЛТС;
Ядро: 5.4.0-99-общий
Java-версия
возвращает:
openjdk версия "11.0.13" 2021-10-19
Среда выполнения OpenJDK (сборка 11.0.13+8-Ubuntu-0ubuntu1.18.04)
64-битная виртуальная машина сервера OpenJDK (сборка 11.0.13+8-Ubuntu-0ubuntu1.18.04, смешанный режим, совместное использование)
Вопрос: Какова вероятная причина, по которой поведение при двойном щелчке и запуске .desktop отличается от терминала, и как я могу настроить файл .desktop, который дает точно такое же поведение, как если бы я запускал java -jar lizzie.jar
из терминала?
Н.Б. Программа запускается в обоих случаях, но не может получить доступ к зависимости ./лилаз
в случае двойного щелчка или использования .desktop. Затем Лиззи сообщает: Невозможно запустить программу "./leelaz": ошибка=2, Нет такого файла или каталога.
Но, файл ./лилаз
есть, и опять же все работает при запуске из терминала.
(В случае заинтересованности приложение Лиззи, интерфейс для Go AI Leela Zero.)