executa o comando na exibição do usuário, pois o root não está funcionando como esperado

0

Estou tentando executar uma operação xdotool (mover o mouse) na tela do usuário a partir de um shell raiz, mas obtenho:

# DISPLAY=:0 mousemove_relative 1 1
No protocol specified
Error:Can't open display: (null)
Failed creating new xdo instance
#

Por que isso não funciona?

o script:

#!/bin/bash

exec='/usr/sbin/nethogs -t -c 1| awk '/smbd/ {print $2}''

sent=$exec

echo "result: "$sent
sent=$(echo "($sent+0.5)/1" | bc)
echo "rounded: "$sent
if [[ $sent -gt 0 ]]
then 
    echo "music is playing"
    'DISPLAY=:0 xdotool mousemove_relative 1 1'
else
    echo "quiet"
fi

Eu recebo isso em /var/mail/root :

Waiting for first packet to arrive (see sourceforge.net bug 1019381)
result: 6.73438
rounded: 7
music is playing
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
    
por cerr 09.09.2017 / 20:55

1 resposta

2

Encontrei a resposta no link

Eu tive que adicionar o seguinte ao script:

export DISPLAY=:0
export XAUTHORITY=/home/username/.Xauthority
    
por 10.09.2017 / 05:40