I lock my computer a lot, and was wondering if there was a way to get the lock screen when I hit Ctrl + Alt + L. Right now when I use that key combination it turns the screen black, and I have to hit a key or click to bring up the screen where it shows the option to enter your password or switch users, as well as displaying the desktop background behind it.
Is there anyway to avoid having to hit that extra key, to bring up the screen I want? And is there anyway to keep it that way? It's really a matter of personal preference, and I don't see any reason why not to have it stay that way as my monitor eventually is turned off and/or my computer suspended.
Best Answer
Unfortunately, the lock-screen utility
gnome-screensaver-command
, which the Ctrl+Alt+L shortcut uses, will also activate the blank-screen "screensaver" whenever it is told to lock the screen.The trick then is to "fake" a keystroke immediately after the screen is locked to get rid of the blank-screen and leave the lock-screen on. We'll do this with
xdotool
, a small command-line utility which allows automation of keyboard and mouse clicks/movements.Install
xdotool
withPaste the following to a file in your home directory, such as
locknoblank.sh
:Make the file executable with
Go to System Settings...Keyboard...Shortcuts and remove Ctrl+Alt+L as the lock-screen shortcut so we can re-use it for our custom command. Click on "System" on the left sidebar, then click on the right of "Lock Screen" where it says "Ctrl+Alt+L"; it will now say "New Accelerator...". Press Backspace to remove the shortcut.
Now go to Custom Shortcuts on the left, and add a shortcut, naming it whatever you want to with the command as
/home/username/locknoblank.sh
. Click Apply, then click on its right where it says "Disabled" to get "New Accelerator", and press Ctrl+Alt+L.Close System Settings, and you're done!
To prevent reactivation of the screensaver (idle timeout)
Open a terminal, and type/paste:
This sets the screensaver idle activation time to 2 hours (or 7200 seconds). You can set it to anything you want; the default is 600.
Note: For Ubuntu 18.04, use
instead of
gnome-screensaver-command -l
.