Você precisa especificar o X DISPLAY. Você pode fazer isso no seu script.
Modifique seu script para ler:
#!/bin/sh
mkdir -p --mode=0755 /home/username/.sst/rslt/$(date +%Y)/$(date +%m)/$(date +%d)/$(date +%H)
export DISPLAY=:0 && scrot '/home/username/.sst/rslt/%Y/%m/%d/%H/%M%S.png'
A especificação de exibição acima está assumindo que a tela ": 0" é sua exibição ativa X DISPLAY owned by you
(de propriedade do usuário executando o crontab).
Existem várias maneiras de especificar o DISPLAY. Você poderia usar como a terceira linha:
env DISPLAY=:0 scrot '/home/username/.sst/rslt/%Y/%m/%d/%H/%M%S.png'
Ou você pode chamar seu script original com uma das muitas variações, incluindo:
* * * * * env DISPLAY=:0 /home/username/.sst/cmd.sh
Você pode substituir /home/username
pela variável userhome
das duas linhas:
username='whoami'
userhome='egrep "^$username:" /etc/passwd | awk -F: '{print $6}''