Is it possible to unlock the 13.04 Gnome shell login screen from a command line? A user is logged in to Gnome shell, I can log in to a console as this user. I also have root access.

This is for accessing an active X11 display through VNC, without having to enter the password.

Executing

gnome-screensaver-command -d

as suggested in a blog post didn't help.

login screen

share|improve this question
    
Is ssh throwing you any output or error? – Braiam Sep 3 '13 at 21:46
    
@Braiam: I can ssh in, that's not the problem. It's for accessing an active X11 display through VNC, but without having to enter the password. – krlmlr Sep 3 '13 at 22:37

The problem with executing commands like gnome-screensaver-command from an SSH session is usually that they don't automatically connect to the appropriate session bus for the active desktop session - usually, setting the DISPLAY variable will fix that, for example these work for me (logged in via SSH as the same user who owns the locked X session, which is on DISPLAY :0):

$ DISPLAY=:0 gnome-screensaver-command -d

to unlock, and

$ DISPLAY=:0 gnome-screensaver-command -l

to lock.

Alternatively, you can toggle the active state using dbus-send - for example

$ export DISPLAY=:0
$ dbus-send --session \
          --dest=org.gnome.ScreenSaver \
          --type=method_call \
          --print-reply \
          --reply-timeout=20000 \
          /org/gnome/ScreenSaver \
          org.gnome.ScreenSaver.SetActive \
          boolean:false

Source: https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples

share|improve this answer
1  
Unfortunately, neither of these methods unlocked the particular screen lock installed on my system (see screenshot). How can I find which process is responsible for locking the screen anyway? – krlmlr Sep 5 '13 at 19:22
1  
Do the commands return an error? If so please post it. To see if a different screensaver is running you could try ps -fu <username> | grep saver - it is possible that xscreensaver is being used instead of gnome-screensaver, in which case you could try DISPLAY=:0 xscreensaver-command -deactivate. – steeldriver Sep 5 '13 at 20:31
1  
I tested this answer on Ubuntu 14.04. It doesn't work. It unblanks the screen, but the screen remains locked. – kasperd Jun 10 '15 at 21:23

I'd suggest sudo loginctl unlock-sessions if you system is using systemd. Note that the above will unlock ALL sessions no matter which user is running the screen saver.

If you only want to unlock your own session, just run loginctl unlock-session (no root required because it's your own session).

share|improve this answer
    
This is the only answer that works on 16.04 – lemonsqueeze Jun 15 '17 at 12:20
    
No need for sudo apparently – lemonsqueeze Jun 15 '17 at 13:29
    
You need sudo if you want to unlock screen savers of ALL sessions (including sessions not running with your user id). – Mikko Rantalainen Jun 20 '17 at 15:57
    
Also note the last s in unlock-sessions. If you want to unlock only your own session, just do loginctl unlock-session. – Mikko Rantalainen Jun 20 '17 at 16:04

I had a problem with gnome 3's screen lock (screensaver) being stuck at a blank screen. I managed to work around it by replacing the gnome-shell window manager.

Ctrl+Alt+F1 and log in on a virtual console, then:

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

(& Backgrounds the new gnome-shell so you can log out of the virtual console and keep it running. Alternatively use Ctrl+Z to suspend the gnome-shell process, and bg to background it.)

It might not be elegant, but it finally allowed me to get back to my desktop apps without having gnome force me to logout.

share|improve this answer
    
Thanks, I'll try and see if restarting gnome-shell works for me. – krlmlr Jan 23 '14 at 20:49

I had a similar problem where the unlock screen wouldn't accept keyboard input sometimes. The way I finally solved it was to kill the several gnome-screensaver processes that were running, as well as one gnome-screensaver-dialog process. I'm guessing that whatever process was spawning 2 gnome-screensaver sessions was messing up my unlock screen. I'm actually supposed to be using xscreensaver instead, so maybe that messed with it.

Anyways, Ctrl+Alt+F1, look for screensaver processes running ps -aux | grep screen and kill them all. The gnome and xscreensaver commands listed in the other answers didn't work for me.

share|improve this answer

The following worked for me:

sudo killall gnome-screensaver

Especially helpful when you're logged in via SSH with another user.

share|improve this answer

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.