Я пишу сценарий удара, который автоматизирует установку TLauncher (средство запуска Minecraft) и основное управление зависимостью на USBs рабочий Lubuntu 18.04.
Часть сценария удара создает настольную запись под /usr/share/applications
для легкого запуска из меню Lubuntu.
Вот запись, которую я использую:
[Desktop Entry]
Encoding=UTF-8
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar
Icon=~/.minecraft/icons/default.png
Type=Application
Terminal=false
Name=Minecraft
GenericName=minecraft
StartupNotify=false
Categories=Game
Команда pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar
работы и действительно запускают TLauncher, если выполнено в терминале. Однако я чувствую, что пропускаю что-то, когда я поместил команду в Настольную Запись.
Когда я пытаюсь открыть запись из меню Lubuntu, курсор показывает, что что-то загружается, но затем ничего не происходит, неважно, сколько времени я ожидаю. Я также не уверен, как отладить Настольную запись. Я пыталсяxdg-open
запись, но я не получил вывода в терминале, и ничего не произошел ни один - т.е., TLauncher не запускался.
Я пытался поместить команду в отдельный файл удара, который похож:
#!/bin/bash
pkexec env DISPLAY=:0 XAUTHORITY=/home/me/.Xauthority /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel ~/.minecraft/tlauncher.jar
Выполнение этого в терминале bash testscript.sh
работы и действительно запускают TLauncher.
Но когда я поместил его в настольную запись, заменяющую exec
от записи выше подобного так:
Exec=/bin/bash /path/to/testscript.sh
Это не работает.
Сценарии оболочки имеют верные полномочия.
Я чувствую себя подобно любому, что я пишу Настольной Записи exec
оцените неправильно или это pkexec
как предполагается, не работает от Настольной Записи путем, я пытаюсь заставить ее работать.
Я хотел бы смочь запустить TLauncher от настольной записи с помощью меню и иметь всплывающее окно gui, просящее пароль, чтобы выполнить команду как root
.
Править:
Используя полные пути вместо ~
также приводит к тому же результату - т.е., он не работает, и вышеупомянутые проблемы остаются.
Установка Terminal=true
не решает это для меня.
Текущее решение: Начиная с работ команды, когда выполнено в терминале, просто имейте Настольную Запись, выполняет команду с терминалом:
Exec=lxterminal -e "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /usr/bin/java -jar -Dswing.systemlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel /home/me/.minecraft/tlauncher.jar"
Примечания:
Я думаю, что мог создать прочь из этого, чтобы удостовериться, что, когда средство запуска закрывается, оно на самом деле закрывается, как я заметил через ps aux
это обрабатывает, на самом деле не уничтожаются путем, я ожидаю вызывать странное поведение в следующий раз, когда я открываю средство запуска.