O que você está usando para agendar? Se for baseado no cron, provavelmente não tem um conjunto de variáveis DISPLAY
, por isso não sabe onde renderizar a janela. Eu recomendaria alterar o comando para incluir o DISPLAY, assumindo que é o padrão :0
:
DISPLAY=:0 /usr/bin/gedit /path/to/file
Para depurar problemas do cron, você pode emular um ambiente do tipo cron em um terminal:
env -i /bin/bash --noprofile --norc
sh
Isso vai despejar você em um terminal terrivelmente restrito, mas isso lhe dará alguma idéia do cron que está funcionando. Se você conseguir que seu comando funcione a partir daí, ele deve funcionar no cron.