Bem, isso é embaraçoso, mas descobri por que o prompt de senha não está funcionando.
Esses comandos precisam ser executados como usuário que possui a sessão Unity. Meu script é executado como usuário root. O comando gnome-screensaver-command -l
funciona agora, mas o pm-suspend ainda requer privilégios de root. Então eu vou precisar de um trabalho para isso.