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'