How can I lock my desktop screen from the command line?
17 Answers
You can lock the computer by running gnome-screensaver-command with the -l flag like so:
gnome-screensaver-command -lHowever this will only work if you have Gnome Screensaver running for your session (should be - unless you've disabled it) you can start that from the commandline with:
gnome-screensaver 2 In newer versions of GNOME 3, gnome-screensaver is no more.
The generic solution seems to be
xdg-screensaver lockYou also can call dbus directly instead (source):
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.LockIt also seems they have taken away the possibility to unlock the screen from the command line.
4gnome-screensaver-command -lIf you're in a different (desktop) session (e.g. virtual console, switched to another login, SSH), specify the display explicitly (:0 is the default display):
DISPLAY=:0 gnome-screensaver-command -lTo unlock, use the -d (--deactivate) option.
gnome-screensaver-command --lock will do it.
Under KDE dm-tool lock will work (for me on Kubuntu 15.04).
Here is a long way of accomplishing it (adding a quicker way below):
to make it even easier to lock, you can add an executable script to an executable path, call it "lock" and then the locking of your screen will be as easy as typing "lock" in cli
Here's how to do it:
mkdir ~/binvim ~/bin/lock
#!/bin/bash
gnome-screensaver-command -lsave and quit
chmod +x ~/bin/lockdon't forget to add ~/bin to your ~/.profile - note the dot at the beginning of the file name one word of caution about this, make sure you add it to the right file. Here is what the .profile says about it:
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.therefore you want to first check if the above-mentioned files exist in your home directory, you should add it there, if they don't exist, then add the path to bin to the .profile
vim ~/.profile # or one of the the other files if they existappend the following at the end:
# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"at this point you can launch the following shortcut from cli
you@yourUbuntu:~$ lock[EDIT] Here is the quick and easy way to do it:add an alias to your ~/.bashrc file, which is executed every time a shell is opened, thus ensuring Alias persists:
vim ~/.bashrc
# set lockscreen
alias lock="gnome-screensaver-command -l"the result is the same, but quicker
There are also many minimalistic utilities that really only lock, they don't do anything else. (This can be more secure as in general keeping software simple leads to less bugs.)
For example: