Si
realmente quieres ejecutar aplicaciones gráficas en cron, tienes que especificar la variable DISPLAY. Lee
esto.
Pero sigue sin gustarme ese método. ¿Qué pasa si precisamente a esa hora no está corriendo el servidor X? ¿O si no hay ningún usuario logueado? En fin, creo que debe haber mejores formas de hacer lo que necesitas, sin tener que usar cron.