Ask Ubuntu Asked on November 28, 2021
I chose an Openbox DE at the time of login and the system took ages to load the DE. So I switched to CLI (Ctrl+Alt+F1) and rebooted my system (but I wanted to logout from the GUI and not restart the whole system).
My question is, can I issue some command at CLI to log me out from the GUI so that I can select different DE. (I don’t want to restart my system every-time DE hangs.)
$ DISPLAY=:0 gnome-session-quit --force
** (gnome-session-quit:3144): WARNING **: Failed to call logout: The name org.gnome.SessionManager was not provided by any .service files
This command will log out whichout showing logout prompt and take you to the log in window
gnome-session-quit --no-prompt
To power off you can use this command this will open a dialog box to conform power off
gnome-session-quit --power-off
You can get rid of dialog box using --no-prompt
Answered by naran g on November 28, 2021
If you are using Openbox then you can use
openbox --exit
which will exit the Openbox session and go back to the login manager, in my case LightDM.
Answered by arne_G on November 28, 2021
In modern systemd Linux distros, the answers are all a little too complicated.
The solution is one tool: loginctl
.
In a good shell you even have autocompletion, so make use of Tab to see the options and parameters and it is quite intuitive.
The command to search for is kill-session
.
If you tab, you'll notice each session has an ID, but in my case it also showed the username and TTY (that is the Ctrl+Alt+number you type) and the seat.
Here is how it looks to me, e.g.:
$ loginctl kill-session 10 10 -- 1000 rugk seat0 tty2
You can tab through the sessions to find the correct one.
Otherwise, if that does not work you can find the session ID by running loginctl list-sessions
or just loginctl
. You get something like this:
$ loginctl list-sessions SESSION UID USER SEAT TTY 10 1000 rugk seat0 tty2
I guess it's quite obvious the first column contains the session ID you need to pass to loginctl kill-session
.
This works very well if the GUI hangs and you need to force-kill it, which seems to be your use case.
If you want that to be explained in a more elaborate way here is how you can kill your own session if the GUI is not responding or you cannot use your keyboard.
Answered by rugk on November 28, 2021
As an alternative, you can terminate user sessions using the following, works well to log out users except for the root user- when doing maintenance for example.
loginctl | egrep -v "root|SESSION|listed" | awk '{print $1}' | xargs loginctl terminate-session
Answered by Charles van der Genugten on November 28, 2021
This is what works best for me (with xfce, lightdm and ssh):
$ DISPLAY=:0.0 xfce4-session-logout --logout
Or
$ sudo service lightdm restart
Answered by pascalv on November 28, 2021
The real problem is that the DBUS session variables must be set and match the session you're trying to control.
I've created this script that does set the DBUS session variables from the gnome-session environment in case you want to logout other users/sessions:
How to restart Gnome-Shell from command line?
function logout() {
local USERNAME
export USERNAMES=( )
while [ -n "$1" ]; do case "$1" in
-* ) break ;;
*) USERNAMES+=( "$1" ); shift ;;
esac; done
for USERNAME in "${USERNAMES[@]}"; do
local SESSION_PID=$(pgrep -fu "$USERNAME" gnome-session|head -1)
if [ -n "$SESSION_PID" ]; then
(
sudo -u "$USERNAME" cat "/proc/$SESSION_PID/environ" | xargs -0 -n 1 echo export
echo "gnome-session-quit --logout $@"
) | sudo -u "$USERNAME" sh -;
fi
done
}
Answered by sehe on November 28, 2021
If you are in a xubuntu session or similar, must use xfce4-session-logout insted of gnome session commands, that's why you see warnings
Answered by Sergio Abreu on November 28, 2021
Another way,
sudo pkill -u NameOftheUser
or
sudo pkill x
which kill all users.
Answered by Suhaib on November 28, 2021
To end all user processes and be sent back to the login screen, you can use:
kill -9 -1
Don't run it as root though, for reasons discussed here.
Answered by mblasco on November 28, 2021
Please follow takkat's suggestion. The standard is Ctrl+Alt+Backspace.
You can also run:
$ sudo service lightdm restart
Answered by terdon on November 28, 2021
This can be done using the gnome-session-quit
command. It needs the --force
option to suppress the confirmation dialog that would appear without it.
Unlike applications run from an X terminal emulator, ending a session from a TTY requires you to append the DISPLAY
variable to indicate which X display is running the session. Hence:
DISPLAY=:0 gnome-session-quit --force
assuming that you are running GNOME on :0, which is the case in normal situations.
In Ubuntu 12.04LTS running GNOME, the command
"DISPLAY=:0 gnome-session-quit --logout --no-prompt"
works. The "--force" argument doesn't exist in the current update level]
Answered by user77111 on November 28, 2021
You can use the command killall gnome-session
to log out. This will work for all GNOME sessions and if I remember correctly all GNOME-related ones. It takes you right back to LightDM so you can select a new DE or a new user. :)
Answered by Ryan McClure on November 28, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP