iniciar o aplicativo GUI em outros usuários é exibido via root cron

iniciar o aplicativo GUI em outros usuários é exibido via root cron

Estou tentando automatizar a conexão de um túnel VPN via cron na inicialização do sistema.
Eu tenho um script bash acionado pelo root cron sudo crontab -e(porque alguns outros comandos precisam de elevação).

Eu ficaria bem usando piactl (cli), mas ao tentar conectar recebo uma mensagem dizendo que o cliente precisa ser iniciado, então...
Uma das etapas que gostaria de realizar é iniciar um aplicativo GUI (pia -client) na exibição de meus usuários não root.

O seguinte comando funciona diretamente do terminal:

sudo su
runuser -l $username -c 'DISPLAY=:0 /opt/piavpn/bin/pia-client &> /dev/null &'

No entanto, quando coloco isso em meu script, não funciona.
O script é executável chmod +x /path/to/script.she outros comandos no mesmo script estão funcionando.

Alguém tem uma solução aqui?

Responder1

Isso é embaraçoso, pois já fiz exatamente essa pergunta há apenas alguns dias. Nem percebi...

A solução é adicionar o caminho completo para o comando, pois o comando não está no cron PATH.
Alterei o código para:

sudo su
/sbin/runuser -l $username -c 'DISPLAY=:0 /opt/piavpn/bin/pia-client &> /dev/null &'

Fonte/crédito:Comentário de @steeldriver sobre esta questão

informação relacionada