xhost no script falha quando executado pelo initctl

0

Por algum motivo, tenho que executar xhost +SI:localuser:root para permitir a GUI para root user. Eu coloquei este comando em um shell script, que será executado na inicialização por upstart . Quando executo este comando ou este script manualmente como outro usuário, ele funciona bem. Mas quando este script executado por upstart este comando não funciona.

Eu também tentei executar este comando como diferente de root user no script como

   sudo -H -s otheruser xhost +SI:localuser:root

Isso também não funciona.

Como posso permitir a GUI para root user na inicialização do sistema?

Obrigado pelo seu tempo!

    
por Nitinkumar Ambekar 22.04.2016 / 15:50

1 resposta

1

"GUI para root user" é considerado nocivo *, mas, aqui está uma explicação do seu problema:

xhost diz ao X Server que pode / não aceitar conexões de outros hosts.

Quando upstart executa seu script, nenhum usuário efetuou login e iniciou um X Server. Portanto, xhost não tem ninguém para conversar.

Você precisa atrasar a execução de seu comando xhost até depois de efetuar login. xhost também precisa de uma definição da variável de ambiente DISPLAY (para que possa localizar o X Server). man X mostra o formato de DISPLAY : hostname:displaynumber.screennumber .

Resposta: Você não pode executar xhost a upstart - o contexto não está correto.

    • root é todo-poderoso e programas gráficos não mostram tudo o que eles fazem.
por waltinator 22.04.2016 / 18:19