Prevent LightDM from Turning Off Screen When Locking Session in Xubuntu

display-managerlight-lockerlightdmlightdm-gtk-greeterxubuntu

I am running Xubuntu 18.04. When I lock the session, the screen gets turned off instantly. I am using stock lightdm as display manager and lightlocker for locking the session.

From my viewpoint the following sequence of events happens.

  1. I initiate locking by running xflock4 via keyboard shortcut or clicking "Lock Screen" in the Whisker (Main) menu.
  2. VT8 becomes active, a new lightdm greeter is spawned on this VT terminal and physical screen turns off at the same time.
  3. My usual VT7 terminal gets seized in background with lightlocker which draws "This session is locked" screen.

If press some button on the keyboard or move the mouse, the screen turns on. If I press Control-Alt-F7, I see lightlocker lock screen in my original session. If I press Control-Alt-F8 I go back to the greeter where I can enter my password. After entering the password, VT7 becomes active and lightlocker white-on-black lock screen is no longer shown. If I later go back to VT8 with Control-Alt-F8, I see a completely black screen with only a blinking cursor (seems to be in text mode).

If the session timeouts and gets locked automatically, I also end up with the screen turned off. That can happen several times a day.

I am using an external monitor which is very slow to turn on again. It takes around 10 seconds and that is quite annoying every single time. I would rather keep it on for an hour or more on password dialog before timing it out and turning off automatically.

Also there is a non-zero chance of getting a system freeze due to buggy Intel (KMS?) drivers when doing VT switch and turning of the screen at almost the same time.

I skimmed through lightdm and lightdm greeter docs and found no hints on how to prevent that.

Update 1

  1. I discovered an "Action" applet for the xfce4-panel that can "switch" user sessions without turning off the screen. This essentially locks the session with light-locker and shows greeter on a new VT. After some digging I discovered a command to show greeter, dm-tool switch-to-greeter. I have reassigned keyboard shortcut to lock the screen from xflock4 to dm-tool switch-to-greeter as workaround. But the problem with automatic locking and turning screen still annoys me. What is interesting that dm-tool lock and light-locker-command --lock (xflock4 calls it) behave the same and produce a turned off monitor.
  2. If I uninstall light-locker (with full reboot) and do dm-tool lock, the screen also turns off. So this should not be related to light-locker…

Update 2

The question is how to keep screen turned on when locking the session via light-locker on timeout or locking manually with xflock4, not on how to disable timeouts for locking.

Best Answer

Ok, you have a few options, depending on what you are looking for exactly:

1. Disable the display timeout/turning off when idle for too long, even to the point of infinity if so desired.

This operation is actually controlled by the screensaver, and can be disabled with sudo xset s [timeout] [cycle] , and to disable screen timeout and cycling (burn-in prevention) you can set it with the following:

sudo xset s 0 0 

and in your case of 1 hour timeout you can set it to

sudo xset s 3600 3600

2. Display slow to turn back on/redisplay login

While theoretically possible for a monitor to take 10 seconds to turn back on (I personally haven't seen a screen do that since CRT TVs from the 80s and I doubt that was intended) I believe that what is actually happening is that while your display is still blank, your system behaves in the same way it does when you have the "screen is locked" white on black text visible.

This in most cases can be circumvented fairly easily, with switching to another terminal tty, let's say CTRL+ALT+F4. After logging in, you can execute

sudo loginctl unlock-session [ID]

or if you don't want to even bother finding the ID of your specific session:

sudo loginctl unlock-sessions

and then just hit CTRL+ALT+F7 and you will already be all logged in and have your x-window-manager ready to go.

Related Question