Sob GNU / Linux durante a inicialização, você não deve usar su (como depende do PAM / dbus , que pode ainda não estar disponível), mas runuser :
runuser username -l -c "screen -S sessionname -d -m /path/to/bash/script"
Ao usar runuser seguido do nome do usuário, a sintaxe é igual a su .