Я работаю над приложениями с графическим интерфейсом, которые вызывают две системные команды соответственно.
Для выполнения этих двух команд требуются права суперпользователя.
Первый подход, который я сделал, это позвонить gksu <command_1>
, затем gksu <command_2>
.
Это работает нормально, но пользователь должен ввести свой пароль дважды соответственно, и я считаю, что это не очень хорошая идея с точки зрения UX.
Я пытался вызвать gksu
с первой командой и sudo
со второй, но я получаю эту ошибку:
sudo: no tty present and no askpass program specified
Поэтому я попытался отделить эти команды в файле Python и вызвать команду из исходного файла, который выглядит как gksu python3 commands.py
.
Я не уверен, будет ли это выполнено после того, как я выпущу скомпилированную версию всего проекта, так как я намерен использовать pyinstaller --onefile
на нем!
Итак, что мне нужно, чтобы приложение могло запускать определенный сценарий с привилегиями суперпользователя, учитывая конечное состояние приложения, которое будет исполняемым двоичным файлом и которое не включает запуск всего приложения с правами root.