O Gnome 3 usa um mecanismo de autorização chamado polkit , portanto, o caminho certo para execute esse executável como root por meio do pkexec :
pkexec allows an authorized user to execute PROGRAM as another user. If username is not specified, then the program will be executed as the administrative super user, root.
Para autorizar o usuário na sessão ativa a executar esse comando como root, você terá que definir uma nova ação (conforme a especificação acima) por meio de um arquivo XML
em /usr/share/polkit-1/actions
, vamos chamá-lo de org.fedora.pkexec.kbback.policy
.
Conteúdo de /usr/share/polkit-1/actions/org.fedora.pkexec.kbback.policy
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<icon_name>input-keyboard</icon_name>
<action id="org.fedora.pkexec.kbback">
<message>Authentication is required to Change Keyboard Backlight</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/local/bin/backlight</annotate>
</action>
</policyconfig>
O próximo passo é atribuir os comandos aos seus atalhos de teclado através das configurações do teclado do GNOME:
pkexec /usr/local/bin/backlight inc
pkexec /usr/local/bin/backlight dec
(nota: usei /usr/local/bin/backlight
como o caminho para o meu executável, você terá que alterar o arquivo de ação e os dois comandos se o caminho do seu executável for diferente)