How can you log out via the terminal?

775,345

Solution 1

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"?)

Solution 2

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

Solution 3

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!

Solution 4

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

Solution 5

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.

Share:
775,345

Related videos on Youtube

TheXed
Author by

TheXed

I yam what I yam!

Updated on September 17, 2022

Comments

  • TheXed
    TheXed over 1 year

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

  • koanhead
    koanhead over 13 years
    Well, there's always Ctrl-Alt-Backspace (if you enable it), but again that's killing the session rather than logging out from it.
  • Eugene
    Eugene over 11 years
    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
  • TSJNachos117
    TSJNachos117 almost 11 years
    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.
  • MichalHlavacek
    MichalHlavacek about 8 years
    That hard kills all running X sessions, for all users.
  • somethis
    somethis over 7 years
    Confirmed, this also holds true for any Ubuntu Studio flavors.
  • noobninja
    noobninja over 7 years
    in ~/.bash_aliases write alias logmeout="service lightdm restart"
  • Aaron Franke
    Aaron Franke about 7 years
    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
  • Phil Lawlor
    Phil Lawlor over 6 years
    This is a great solution for VM's like in Virtualbox.
  • capybaralet
    capybaralet over 6 years
    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?
  • Frank Nocke
    Frank Nocke about 6 years
    To state the (non-)obvious: for Ubuntu MATE-users, that's mate-session-save --force-logout
  • Jérôme
    Jérôme over 5 years
    For mate, use mate-session-save --force-logout. See this answer.
  • Gabriel Staples
    Gabriel Staples about 5 years
    Thanks. gnome-session-quit works fine in Ubuntu 18.
  • Björn Lindqvist
    Björn Lindqvist almost 5 years
    Great tip! This is the only method that works if Unity didn't startup properly. And as mentioned, you don't need the sudo part.
  • Mark Jeronimus
    Mark Jeronimus over 4 years
    This is the best answer
  • cheesits456
    cheesits456 almost 4 years
    exit won't return you to the login screen from a desktop session, all that'll do is close the terminal window