Após a sugestão de @Tachyons, pesquisei MUITO sobre pkexec
e é incrível !
- É parte do PolicyKit , um pacote amplamente usado.
- Hospedado e patrocinado por freedesktop.org
- Padrão no Gnome , Unidade , MATE , Canela , KDE , LXDE e XFCE e possivelmente outros
- Funciona via D-Bus, por isso é completamente neutro em relação a desktops, com um protocolo bem definido.
- Em muitos DEs, ele é usado em vários serviços como tela de login, shutdown / restart, gerenciamento de disco (udisks / automount) e assim por diante.
Então, sim, ele atende a todos os requisitos e eu acho que é a coisa mais próxima que um "gksudo universal" pode ser.
Dito isso, pkexec
é o front end de linha de comando do PolicyKit. Existem 2 modos básicos de operação:
-
Basta executá-lo como você faria com
sudo
, e você terá uma boa solicitação de GUI:$ pkexec rm -rf /
- Ou crie um arquivo de autorização do PolicyKit para seu aplicativo, solte-o em
/usr/share/polkit-1/rules.d
e ele permitirá muitas opções de personalização e segurança, por exemplo, acesso root apenas para determinadas ações, sem necessidade de senha para outras pessoas , acesso limitado a determinados caminhos, etc. Você pode ajustar suas configurações com incrível granularidade.