Script de execução para afetar a sessão x não raiz como raiz

0

De anther tty eu posso correr

DISPLAY=:0 notify-send hullo

e veja a mensagem na minha sessão de toothrot. Mas se eu fizer login como root, isso não funciona. Nem

USER=toothrot DISPLAY=:0 notify-send hullo

Como faço isso funcionar do root?

Eu preciso disso porque quero criar uma regra do udev que afete minha x sessão. Usando o Arch.

    
por Toothrot 01.03.2017 / 17:43

1 resposta

0

O X pode ter duas formas de autorizar clientes. Uma maneira é usar cookies; então você tem que definir DISPLAY=:0 e XAUTHORITY=/home/yourusername/.Xauthority .

No seu caso, suponho que seja feito com xhost, caso contrário, a configuração DISPLAY não será suficiente. Digite xhost para ver quem está autorizado.

Talvez você tenha um cookie ~/.Xauthority junto com a autorização xhost +SI:localuser:toothrot .

Você pode permitir que o root acesse a exibição: 0 com DISPLAY=:0 xhost +SI:localuser:root , mas você tem que fazer isso como usuário normal. Usar o cookie é a melhor maneira:

DISPLAY=:0 XAUTHORITY=/home/toothrot/.Xauthority notify-send hullo

Para executar o envio de notificações como usuário:

su toothrot -c 'DISPLAY=:0 XAUTHORITY=/home/toothrot/.Xauthority notify-send hullo'
    
por 01.03.2017 / 18:59

Tags