How can you log out via the terminal?
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 DoR, 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.
Related videos on Youtube
Comments
-
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 over 13 yearsWell, there's always Ctrl-Alt-Backspace (if you enable it), but again that's killing the session rather than logging out from it.
-
Eugene over 11 yearsI 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 almost 11 yearsIt 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 about 8 yearsThat hard kills all running X sessions, for all users.
-
somethis over 7 yearsConfirmed, this also holds true for any Ubuntu Studio flavors.
-
noobninja over 7 yearsin
~/.bash_aliases
writealias logmeout="service lightdm restart"
-
Aaron Franke about 7 yearsaaronfranke@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 over 6 yearsThis is a great solution for VM's like in Virtualbox.
-
capybaralet over 6 yearsIs 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 about 6 yearsTo state the (non-)obvious: for Ubuntu MATE-users, that's
mate-session-save --force-logout
-
Jérôme over 5 yearsFor mate, use
mate-session-save --force-logout
. See this answer. -
Gabriel Staples about 5 yearsThanks.
gnome-session-quit
works fine in Ubuntu 18. -
Björn Lindqvist almost 5 yearsGreat 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 over 4 yearsThis is the best answer
-
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