260

Is there a terminal command that will log you out of your current desktop session and take you back to the login screen?

16 Answers 16

207

11.10 and above

gnome-session-quit

11.04 and previous versions

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1

(via alt textDoR, see his answer to "Reboot without sudoer privileges?" for more dbus goodness!)

or alternatively, you can use

gnome-session-save --force-logout

--force-logout in contrast to just --logout will not ask the user to deal with unsaved documents and so on.

is this the easiest way? no simple one line command like sudo logout?? I will never remember all that.

Yes, there is a command called logout, but it concerns the Terminal. gnome-session-save is the program that actually quits the gnome-session, which you can of course kill, but that wouldn't qualify as logging out. :-)

Notice as well that these commands don't require you to be root.

You can always add an alias to your system if you want to have a shorter command.

Open ~/.bash_aliases with a text editor, or create it if it isn't there, and add something like this to it:

alias logout-gnome="gnome-session-save --force-logout"

(.bashrc is a script that is run every time a new virtual terminal is started up, you should set up all your permanent aliases there, see also: How to create a permanent "alias"?)

|improve this answer|||||
  • 2
    Well, there's always Ctrl-Alt-Backspace (if you enable it), but again that's killing the session rather than logging out from it. – koanhead Dec 2 '10 at 3:04
  • 1
    You might want to add DISPLAY=:0.0 or similar when trying to log out of a session from ssh or another terminal. – patrikf Mar 11 '13 at 16:31
  • 3
    It seems to me that "--force-logout" doesn't quite work, as it gives this error: WARNING **: Unable to start: Unknown option --force-logout. After digging around with man gnome-session-quit, I found that "--force" and "--logout" are actually meant to be different arguments. Therefore, "--force --logout" (two minus sings before "force" and "logout", with a space between) would be better as you won't have errors. At least, that's the case with Ubuntu 13.04 and Linux Mint 15. IDK about other/older versions of either distro. – TSJNachos117 Jun 13 '13 at 3:19
  • aaronfranke@aaron-xub16desk$ dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1 Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files – Aaron Franke Apr 18 '17 at 21:42
  • 1
    To state the (non-)obvious: for Ubuntu MATE-users, that's mate-session-save --force-logout – Frank Nocke Mar 23 '18 at 12:33
79

I had installed mate desktop and none of the menus worked, even the f-keys didn't work. I managed to get xterm through browsing with file manager.

The only thing that worked was :

sudo pkill -u username
|improve this answer|||||
  • 2
    I also did an alias out of it for me alias ulogout="sudo pkill -KILL -u $1". Might come in handy for someone. Usage: ulogout user_name – Eugene Jan 17 '13 at 9:49
  • 2
    @Eugene How about alias logout="sudo pkill -u ${USER}"? – Georgi-it Jan 4 '16 at 9:18
  • This is a great solution for VM's like in Virtualbox. – Phil Lawlor Aug 23 '17 at 13:34
  • 2
    Is there a reason you need the sudo? Also, I think this is different than logging out, since it will kill all of your processes (for instance, if you have another remote session, it will also be killed). I'm also not sure that it will necessarily kill all of your processes (I can imagine it might kill itself first?) Do you know if that is possible? – capybaralet Oct 20 '17 at 18:38
  • 1
    For mate, use mate-session-save --force-logout. See this answer. – Jérôme Oct 5 '18 at 7:50
33

11.10 and above

Here's my personal solution!

In the terminal, run:

gedit ~/.bash_aliases

And add:

alias log-out="gnome-session-quit"

to the file! Now you just have to run log-out!

|improve this answer|||||
14

Looks like gnome-session-save was renamed to gnome-session-quit for 11.10. Everything else in the main answer should still work with that single change.

http://mail.gnome.org/archives/desktop-devel-list/2011-February/msg00147.html

|improve this answer|||||
12

For gnome sessions, gnome-session-quit works well. By default it asks for confirmation and then logs you out (i.e., the --logout argument is assumed unless overridden with --power-off explicitly). You can also tell the command to not prompt for confirmation on logout:

--no-prompt
      End the session without user interaction. This only works with --logout.

gnome-session-quit is still valid in 12.04.

Since the OP didn't specify the window/desktop manager, and the gnome-session-quit might not work with all possibilities, here's a generic X-windows way to return to the login screen or chooser which I've used several times over the last several releases:

From a terminal (invoked with, variously, 'Alt-F2 + xterm, or Ctrl-T, or Crt-Alt-F1, or by right-clicking on the desktop in Nautilus and using the "open in terminal" shortcut, etc.) type

sudo pkill X

This is generally overkill for most situations. I tend to use it when I've got a hung process or when I've got to log out quickly. When I've done this, Ubuntu has politely returned me to the login screen by re-spawning X-windows.

I've not yet used the power-off feature of the gnome-session-quit, as I typically use shutdown -P now for that purpose.

|improve this answer|||||
10

On Xubuntu (or whenever using an Xfce session), you can logout via the terminal by using

xfce4-session-logout --logout

You must specify --logout or the logout confirmation screen will be displayed. This will work whether you have specified 'Xubuntu session' or 'Xfce session' when you logged in with Lightdm, as the session is still managed by the Xfce session manager.

In addition, another option will log you out as well:

xfce4-session-logout --fast  

If this command is issued the session is not saved, so it is normally best to use xfce4-session-logout --logout.

The ability to logout using the terminal will be very useful to you, as will the other options such as suspend that are available with xfce4-session-logout.

For more information, see man xfce4-session-logout or the Ubuntu manpages online.

|improve this answer|||||
  • Confirmed, this also holds true for any Ubuntu Studio flavors. – somethis Sep 26 '16 at 9:26
9

You can use below command:

sudo service lightdm restart
|improve this answer|||||
  • 2
    That hard kills all running X sessions, for all users. – sehe Apr 25 '16 at 20:30
  • in ~/.bash_aliases write alias logmeout="service lightdm restart" – noobninja Nov 15 '16 at 13:13
8

For Ubuntu Mate use mate-session-save --force-logout. It is like gnome-session-quit.

|improve this answer|||||
6

lubuntu 12.10 LXDE running on a Samsung netbook (CPU: 1.66 GHZ Intel Atom; RAM: 2GB)

The below two commands logged me out immediately:

sudo pkill -u username
sudo service lightdm restart
|improve this answer|||||
4

I tried gnome-session-quit --force and it works!

Note: I use ubuntu 15.04

|improve this answer|||||
3

In case you don't want to kill your session, you can go back to the login screen using:

dm-tool switch-to-greeter

If you select your user and enter your password, the session will be resumed, so it's not a full logout.

|improve this answer|||||
2

Define a function by adding the following line to your .bashrc, then invoke by typing logoff at the shell prompt.

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out
|improve this answer|||||
1

And in kubuntu 12.04+ it is:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0
|improve this answer|||||
0

There is a way which will work whether you are running X or you are in a TTY. There you go:

  • If you use lightdm

    sudo service lightdm restart
    
  • if you use gdm or in Ubuntu GNOME

    sudo service gdm restart
    
  • If you use kdm or in Kubuntu

    sudo service kdm restart
    

The downside of this command is that it will ask for your password.

|improve this answer|||||
0

2019 update

Other answers didn't work for me. On Ubuntu 18 (LTS) it's easy to type:

exit

It will return you to the login screen.

|improve this answer|||||
-1

I found this accidentally.

luvpreet@DHARI-Inspiron-3542:~/go/bin$ who -uH
NAME     LINE         TIME             IDLE          PID COMMENT
luvpreet tty7         2017-12-27 17:33  old        27458 (:0)

Here you get the process id of your current session.

So, easy. Kill it

luvpreet@DHARI-Inspiron-3542:~$ kill 27458

There you go.

|improve this answer|||||

Not the answer you're looking for? Browse other questions tagged or ask your own question.