Wenn Sie nicht das gesamte GDM und die Abhängigkeiten einbringen möchten, können Sie einfach einen Launcher erstellen, der dasselbe erreicht. Stell Dies
#!/bin/sh
zenity --question --text "Switch user?" --title "New login" &&
gdmflexiserver --new
in eine Datei namens aufgerufen fast-user-switch
, dann tun
chmod +x fast-user-switch
sudo mv fast-user-switch /usr/local/bin/
Fügen Sie dann ein Launcher-Plugin zu Ihrem Bedienfeld hinzu, bearbeiten Sie das Menü und klicken Sie auf die Schaltfläche mit einem weißen Papier mit einem Pluszeichen. Dort können Sie einfach den Schnellbenutzer-Schalter eingeben (er sollte sich während der Eingabe automatisch vervollständigen, wenn Sie dies getan haben Schritte korrekt ausführen) und wählen Sie ein schönes Symbol aus (suchen Sie switch
nach einem passenden…)
Hinweis: Die nächste Version von XFCE, 4.10, enthält eine Schaltfläche zum Wechseln des Benutzers im Aktions-Plugin und veraltet das Sitzungsmenü .
Hinweis zum Hinweis: Wenn Sie kdm anstelle von gdm / lightdm haben (kdm + xfce kann eine ungerade Kombination sein, aber es passiert), funktioniert die Schaltfläche 4.10 Switch User nicht. Das folgende Bash-Skript funktioniert jedoch und ermöglicht es Ihnen, sich entweder als aktuell angemeldeter Benutzer anzumelden oder eine neue Anmeldung zu starten:
#!/bin/bash
set -f # no globbing, so we can safely use *
# other_local[joe]=:0, other_local[bob]=:1 etc. for all active local
# users other than us:
unset other_local; declare -A other_local;
while read -rd $'\t'; do
IFS=$',\n' r=($REPLY)
[[ "${#r[@]}" -ge 4 && "${r[4]}" != '*' && "${r[2]}" != '' && "${r[0]}" != '' ]] && other_local[${r[2]}]=${r[0]}
done < <(kdmctl list alllocal)
IFS=$',\n' r=($REPLY)
[[ "${#r[@]}" -ge 4 && "${r[4]}" != '*' && "${r[2]}" != '' && "${r[0]}" != '' ]] && other_local[${r[2]}]=${r[0]}
user_choice=$( printf "%s\n" "${!other_local[@]}" "New login" |\
zenity --list --column User --text 'Switch to an active user, or start a new login:' --title 'Switch user?' ) || exit 1
case $user_choice in
"New login" ) kdmctl reserve ;;
* ) kdmctl activate "${other_local[$user_choice]}" ;;
esac