Я использую рабочий стол gnome и fedora 31.
У меня есть две учетные записи пользователей на этой машине: normaluser (без прав sudo) и adminuser (права sudo).
Я хочу создайте стартовый файл для скрипта bash, который должен запускаться от имени администратора / пользователя sudo, который я мог бы запустить из normaluser.
Терминал должен оставаться открытым во время и после выполнения скрипта bash .
Следующее работает, когда я выполняю напрямую в gnome-терминал из учетной записи normaluser:
pkexec --user adminuser bash -c './path/to/script.sh;$SHELL'
Откроется диалоговое окно policykit, я ввожу пароль администратора, скрипт выполняет и терминал остается открытым.
Файл script.sh
помещен в учетную запись администратора и является исполняемым (ug + x).
Однако, если я создаю файл .desktop, такой как ~/.local/share/applications/mystarter.desktop
со следующим содержимым
[Desktop Entry]
Comment=Start my script
Encoding=UTF-8
Exec=pkexec --user adminuser bash -c './path/to/script.sh;$SHELL'
Categories=System;
Icon=/home/normaluser/.local/share/icons/myicon.png
Name=MyTestStarter
StartupNotify=false
Terminal=true
Type=Application
вскоре откроется диалоговое окно policykit, но прежде чем я смогу что-либо набрать, все закрывается без сообщения об ошибке.
Как исправить Вы вставили сюда строку pkexe c?