Lockscreen not working after update to 21.10

Yesterday I updated 21.04 to 21.10 and was looking at the terminal in the meanwhile when I noticed the installer had disabled the lockscreen. I’ve been unable to use it ever since. So far the following yielded no results:

  • WIN + L;
  • Setting up the blank time to 1 min and automatic lock screen delay to “Screen turns off” (the screen never turns off);
  • Re-configuring the display manager and setting it to lightdm;
  • Uninstalling gdm3.

The disable-lock-screen dconf setting in org.gnome.desktop.lockdown is not enabled.

Journal logs after pressing WIN+L:

gsd-media-keys: Couldn’t lock screen: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell.ScreenShield was not provided by any .service files

I’m out of ideas, thanks in advance for the help.

What is the output of

ps -ef | grep screensaver
1562    1321  0 18:54 ?        00:00:00 /usr/libexec/gsd-screensaver-proxy
3848    2396  0 19:01 pts/0    00:00:00 grep --color=auto screensaver

ps: added journal logs to main question

ok - gnome-screensaver isn’t running.

It should be autostarted via /etc/xdg/autostart/budgie-desktop-screensaver.desktop - look at the exec= line.

Have you got this?

have you got something in ~/.config/autostart that has a similar exec=gnome-screensaver value? Maybe that is disabling things.

using dconf-editor navigate to org.gnome.desktop.screensaver - use the three dots in the headerbar and choose “Reset visible keys” - this ensures the default screensaver values are being used

You should also reset the visible keys in org.gnome.desktop.lockdown

Update: without doing anything, this morning the screen turns off after specified time and lockscreen works. (Even after multiple restarts, the problem wasn’t being solved before).

It should be autostarted via /etc/xdg/autostart/budgie-desktop-screensaver.desktop - look at the exec= line.
Have you got this?

Yes, everything looks fine there.

have you got something in ~/.config/autostart that has a similar exec=gnome-screensaver value?

Nothing there that mentions gnome-screensaver.

I’ll see if the issue comes up again, hopefully not!

Cheers for the help

If the lockscreen appears then gnome-screensaver must be running. Check the process via ps -ef

As to the observation about turning off at a specified time … what do you mean - what time? On a specific interval? Does changing the settings - power blank screen value have any effect?

After restarting the lockscreen stopped working again – ps -ef confirms that gnome-screensaver is not running. No other changes were made since it worked; only power off and power on.

As for the other observation, I meant the screen turns off after the specified inactivity time.

Are you using slick-greeter for your login screen? GDM3 will not work with budgie anymore.

I’ve never actually fiddled with the login screen, so I’m guessing I’m on the default. I tried yesterday to reconfigure my display manager, (re)set it to lightdm. I then even completely removed gdm3.

When you login and check if gnome-screensaver is not running… what happens if you start gnome-screensaver from the command line?

I.e.

gnome-screensaver

I am wondering if you have some sort of race condition where gnome-screensaver is starting too soon. Maybe adding a delayed startup - say 10 seconds would be enough to have gnome-screensaver startup successfully.

gnome-screensaver returns:

** (gnome-screensaver:12584): WARNING **: screensaver already running in this session

but then ps -ef | grep screensaver shows that screensaver is not running.

WIN+L in fact is still not working.

hmm

have you got a file called /usr/share/gnome-shell/org.gnome.ScreenSaver ?

i.e. do you have both gnome-shell and budgie installed? I’m wondering if gnome-shell is interfering here.

I do have that file, this is its content:

imports.package.start({
    name: 'gnome-shell',
    prefix: '/usr',
    libdir: '/usr/lib',
});

right - so gnome-shell is screwing up budgie here.

Does this work?

pkill -9 -f /usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver

Wait a couple of seconds then try running

gnome-screensaver

That allowed me to lock the screen with WIN+L

right … so its question of crafting a bash script now that can be autostarted.

It will need to test if gnome-screensaver is running

if not - run that pkill command above, sleep 5, followed by gnome-screensaver.

1 Like

So this is what I came up with:

#!/bin/bash
if ps ax | grep -v grep | grep gnome-screensaver > /dev/null
	then
		echo "gnome-screensaver is not running"
		echo "starting gnome-screensaver ..."
		pkill -9 -f  '/usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver'
		sleep 3
		gnome-screensaver
	else
		echo "gnome-screensaver already running"
		exit
fi

Adding it to startup applications seems to be sufficient to get everything running the way it should.

Cheers for the help

2 Likes
pkill -9 -f /usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver

The two pkill commands should just be one as above.

Had to run them separately because your command returns this:

pkill: only one pattern can be provided
Try `pkill --help' for more information.

Ah … missing single quotes

pkill -9 -f  '/usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver'
1 Like