Consegui fazer isso funcionar, apenas configurei as seguintes variáveis de ambiente no script antes de chamar o binário.
export XAUTHORITY=/var/run/lightdm/root/:0
export DISPLAY=:0
Por favor, me diga se isso é seguro.
Estou executando o Ubuntu 14.04 LTS. Eu queria rodar um aplicativo GUI durante o log-in no LightDM, eu fiz isso adicionando esta linha em /etc/pam.d/lightdm
auth required pam_exec.so debug log=/path/to/file.log /path/to/script.sh
O script irá chamar o binário. Eu sei que o script está sendo chamado como eu adicionei alguns logs. O problema é que estou recebendo este erro quando o script chama o binário.
error: XDG_RUNTIME_DIR not set in the environment.
(binary:3781): Gtk-WARNING **: cannot open display:
Ao verificar os logs também, descobri que o script está sendo chamado pelo root.
No log eu também tentei ecoar DISPLAY e XAUTHORITY e ambos estão em branco. Eu tentei usar gksudo para chamar o binário no script, mesmo erro, você tem alguma solução segura para isso?
Consegui fazer isso funcionar, apenas configurei as seguintes variáveis de ambiente no script antes de chamar o binário.
export XAUTHORITY=/var/run/lightdm/root/:0
export DISPLAY=:0
Por favor, me diga se isso é seguro.