You will need a valid DISPLAY and XAUTHORITY to use X-Programms in Cron!
To set DISPLAY is very easy, type in the Bash:
export DISPLAY=":0.0"
In order to get a valid XAUTHORITY you have to look for it.
Under Debian/Gnome/gdm3 they are saved in var/run/gdm3/*/database
I used the following script:
export DISPLAY=":0.0"
[ -z $USER ] && USER=$( who | awk '{ print $1 }' | sort | uniq >/tmp/test )
for I in /var/run/gdm3/*; do
AUTHUSER="`echo $I | awk -F '-' '{ print $3 }'`"
for J in $USER; do
[ "${AUTHUSER}" = "${J}" ] || continue
USER="$J"
export XAUTHORITY="${I}/database" && break
done
done
sudo -u ${USER} /Path/to/xProgramm
The Var $USER can be empty, than the script looks for a valid user, otherwise you can tell the script the var!