* * * * * DISPLAY=:0 xdotool mousemove 20 20
Pelo menos, deve funcionar contanto que esteja no crontab do mesmo usuário daquele que tiver a sessão X na tela correspondente.
Se outro usuário quiser fazer o mousemove, você precisa conceder a ele acesso ao seu monitor. Isto pode ser feito dando-lhe o MIT Magick Cookie para o seu monitor e deixe-o instalá-lo em seu próprio repositório X auth (usando xauth
), ou pode ser feito com:
xhost +si:localuser:the-user
Ou isso pode ser feito concedendo-lhe acesso à sua própria loja X auth, por exemplo, fazendo:
setfacl -m u:the-user:r ~/.Xauthority
E altere a linha do crontab para:
* * * * * DISPLAY=:0 XAUTHORITY=~me/.Xauthority xdotool...
Se esse outro usuário for root, você não precisará da etapa setfacl
, mas eu não executaria o xdotool como root
, não há motivo para isso. Você pode executá-lo como seu próprio usuário.