(Dica) Criando uma execucão com pkexec

Iniciado por swatquest, 15 de Junho de 2019, 00:32

tópico anterior - próximo tópico

swatquest

Antes de mais nada temos que saber o caminho do executável do comando que você quer que o pkexec execute.
Para isso usamos o comando which
Exemplo com editor de texto pluma
~ $ which pluma
/usr/bin/pluma

Agora vamos criar uma regra no polkit
No seguinte caminho
/usr/share/polkit-1/actions

Criamos o arquivo com o nome pkexec-pluma.policy
Com o seguinte conteúdo.<?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>

  <action id="org.freedesktop.policykit.pkexec.run-pluma">
    <description>Executar pluma</description>
    <message>Autenticação requerida para executar pluma</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/pluma</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>

</policyconfig>


Caso faça para outro comando só troque o nome pluma e o caminho do executável.
Depois é só executar o pkpexecpkexec pluma teste.txt