PKExec Execute o X-Terminal-Emulator como não raiz

0

Estou tentando usar o pkexec para executar o emulador x-terminal como não-raiz e estou com problemas.

Eu tenho um arquivo de políticas definido como:

    <?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.gedit">
    <description>Run the terminal emulator.</description>
    <message>Authentication is required to run the terminal emulator</message>
    <icon_name>accessories-text-editor</icon_name>
    <defaults>
        <allow_any>auth_admin</allow_any>
        <allow_inactive>auth_admin</allow_inactive>
        <allow_active>auth_admin</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/x-terminal-emulator</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
    </action>
</policyconfig>

Isso funciona bem se eu apenas executar um emulador pkexec x-terminal. Eu recebo um aviso e as coisas funcionam. No entanto, se eu tentar executar como um usuário diferente, como pkexec --user admin x-terminal-emulator, recebo um erro de

No protocol specified.
  Unable to init server: Could not connect: Connection refused.
  #Failed to parse arguments: Cannot open display:

Da minha pesquisa, isso significa que o valor $ DISPLAY não está especificado, mas não sei como modificar meu comando adequadamente para que eu possa executá-lo.

    
por Delmania 05.10.2018 / 21:04

0 respostas

Tags