"$n" внутри команды -c может быть расширен внешней оболочкой, а не scrot. Вы должны избежать этого:
$ image=$(su someuser -c "scrot -s -e 'echo \$n'")
Запрос поддержки у RedHat. Скорее всего, вы видите регрессию ядра, вряд ли Grub виноват.