Fix user switching.
This commit is contained in:
parent
b4bc0c7b0f
commit
3119349450
1 changed files with 12 additions and 6 deletions
|
|
@ -50,6 +50,12 @@ doLogin() {
|
||||||
echo >&${con} "504 Won't log in root"
|
echo >&${con} "504 Won't log in root"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
curUser=$(loginctl -j | jq -r '.[] | select(.tty=="tty1") | .user')
|
||||||
|
if [ "$curUser" = "$user" ]; then
|
||||||
|
echo >&${con} "201 User already logged in"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
attemptLogout
|
||||||
uid=$(id -u ${user} 2>/dev/null)
|
uid=$(id -u ${user} 2>/dev/null)
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
( flock 200
|
( flock 200
|
||||||
|
|
@ -69,7 +75,7 @@ doLogin() {
|
||||||
-p ExecStartPre="/usr/bin/chvt 1" \
|
-p ExecStartPre="/usr/bin/chvt 1" \
|
||||||
dbus-run-session -- gnome-shell --display-server --wayland
|
dbus-run-session -- gnome-shell --display-server --wayland
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo >&${con} "201 User logged in"
|
echo >&${con} "201 User logged in successfully"
|
||||||
else
|
else
|
||||||
echo >&${con} "451 $(<${temperr})"
|
echo >&${con} "451 $(<${temperr})"
|
||||||
fi
|
fi
|
||||||
|
|
@ -79,16 +85,16 @@ attemptLogout() {
|
||||||
systemctl status vmop-user-desktop > /dev/null 2>&1
|
systemctl status vmop-user-desktop > /dev/null 2>&1
|
||||||
if [ $? = 0 ]; then
|
if [ $? = 0 ]; then
|
||||||
systemctl stop vmop-user-desktop
|
systemctl stop vmop-user-desktop
|
||||||
echo >&${con} "102 Desktop stopped"
|
|
||||||
fi
|
fi
|
||||||
}
|
|
||||||
|
|
||||||
doLogout() {
|
|
||||||
attemptLogout
|
|
||||||
loginctl -j | jq -r '.[] | select(.tty=="tty1") | .session' \
|
loginctl -j | jq -r '.[] | select(.tty=="tty1") | .session' \
|
||||||
| while read sid; do
|
| while read sid; do
|
||||||
loginctl kill-session $sid
|
loginctl kill-session $sid
|
||||||
done
|
done
|
||||||
|
echo >&${con} "102 Desktop stopped"
|
||||||
|
}
|
||||||
|
|
||||||
|
doLogout() {
|
||||||
|
attemptLogout
|
||||||
echo >&${con} "202 User logged out"
|
echo >&${con} "202 User logged out"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue