No en Ubuntu, pero lo siguiente funciona para mí:
systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend
Reemplácelo xdg-screensaver lockcon el comando para bloquear la pantalla en su sistema y systemctl suspendcon systemctl hibernatesi desea bloquear la pantalla antes de hibernar.
Esto funciona bloqueando la pantalla en paralelo para suspender la máquina. Sin embargo, el comando de bloqueo de pantalla se está ejecutando como un inhibidor que retrasa el sueño. De esta manera, systemd esperará hasta que la pantalla se bloquee antes de ejecutarse.
Si tiene inhibidores que bloquean la suspensión, agregue la -ibandera al final.