User Switching

User switching is a method of running more than one session at a time on a seat and switching between them. Only one session can be used at a time. The session is switched by contacting the display manager using D-Bus and calling the one of the following method on the Seat object:

SwitchToGreeter - A greeter session is started. This allows the user to authenticate for a new session or authenticate to return to their current session.

SwitchToUser - If there is a session for the given user then it is switched to, otherwise a greeter is started.

SwitchToGuest - If a guest session is active it is switched to, otherwise a guest session is started.

Switching is performed using virtual terminals in the kernel. Each session has a separate display server and the selected session is activated by changing the active virtual terminal.