Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm using Xubuntu 12.04. In the Power Manager, I have checked Extended -> Lock screen when going for suspend/hibernate. If I choose to suspend from the main menu / Panel 1, the screen is locked. However, if I use dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend (see How can I suspend/hibernate from command line?; I use this command via a keyboard shortcut), the screen is not locked. How can I (1) suspend the system (2) have the screen locked at the same time (3) do not require root rights to do so [since I would like the command to be assigned to a keyboard shortcut].

share|improve this question
add comment

1 Answer

up vote 6 down vote accepted

You can do that by using the following:

gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

In a keyboard shortcut you need to put sh -c "<command>" replacing <command> with the command above, like:

sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"

If the above command does not work, you can also try using a shell script file (for example suspend_lockscreen.sh). First create the file call the following commands in a console:

cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh

That will create a file named suspend_lockscreen.sh in the user home folder. Then, in the shortcut just call: ./suspend_lockscreen.sh.

Note: gnome-screensaver-command can be replaced by xscreensaver-command, as pointed out in one comment.

share|improve this answer
    
Nope it does only lock the screen and forgets about suspending it according to a comment made in the answer I made ;) –  Rinzwind May 17 '12 at 23:20
1  
Ahh, good. I just realized that gnome-screensaver-command can also be replaced by xscreensaver-command so no additional installation is required. Without the && dbus-send... part one simply gets a lock (without suspend); with it, one gets a suspend with lock on wake-up. Perfect. –  Marius Hofert May 17 '12 at 23:34
    
Unfortunately, the command works from the terminal but not from the keyboard shortcut I defined :-( Do you know what might be the problem? –  Marius Hofert May 17 '12 at 23:41
    
@MariusHofert I've updated the answer with how to use the commands from a keyboard shurtcut. See if it works as you need. (I've tested in Ubuntu 12.04 and it worked). –  amfcosta May 18 '12 at 14:06
    
Still the same problem: locking works; suspending does not (Xubuntu 12.04) –  Marius Hofert May 18 '12 at 18:36
show 5 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.