Диалог pkexe c немедленно закрывается при использовании в файле .desktop - PullRequest
0 голосов
/ 27 апреля 2020

Я использую рабочий стол 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?

...