Fast user switching
Fast user switching is a feature, i.e. a term for some rather loosely specified functionality, of a multi-user operating system. It allows users to switch between user accounts on a single computer without quitting applications and logging out.
Implementation on the Linux kernel-based family of operating systems
The Linux kernel's VT subsystem (please consult the articles Pseudoterminal, Linux console and Virtual console) dates back to 1993 and does not understand the concept of multiple "seats", meaning that of the up to 63 VTs, only one VT can be active at any given time. Despite this kernel limitation, multiseat is supported on GNU/Linux. The feature of "fast user switching" has less severe necessities then multi-seat does because the multiple users don't work simultaneously, and therefore simply works.
The most straight forward solution to elegant multi-seat are kmscon/systemd-consoled in combination with systemd-logind. The available desktop environments such as GNOME or KDE Software Compilation adapt their graphical login and session manager (e.g. GDM, SDDM, LightDM, etc.) to the underneath solution and have to be configured to implement fast user switching that way.
For installations with older environments, the functionality must be enabled in the appropriate configuration files then a hot key sequence such as
CTRL-ALT-F8 is pressed. A separate login window will now appear and the second user can log in (or even the first user again). Alternatively, in the default install, new X sessions can be started at will by using different display parameters to have them run in different virtual terminals (e.g. "
startx -- :1" or "
X :1 -query localhost"). Again, hot key sequences allow the user switching to take place.
Fast user switching may potentially introduce various security-related complications, and is handled differently among operating systems, each having its advantages and disadvantages. One possibility, simple and secure, is that only the first user gets ownership of resources. A second option is to grant ownership of resources to each new user. The last one to log in takes ownership. A third is to allow all users access to shared resources. This is easier and more intuitive, but allows (for example) one user to record another user's conversation. In Windows, shared resources, such as sound, are available to all sessions. In Red Hat Linux, the default behavior is to give ownership of "console resources" to the first connected session, but it can share resources among groups of console users or be configured to manage console ownership differently.
Implementation on the Microsoft Windows family of operating systems
Fast user switching in Windows is based on Remote Desktop Services technology. In Windows XP, GINA which is a component of Winlogon, and with which fast user switching interacts, can be programmatically called to automate a fast user switch. A PowerToy known as Super fast user switcher was offered in 2002 by Microsoft. It allowed fast user switching using a keyboard hotkey (Win+Q) (similar to Alt-Tab) without even going to the Welcome screen.  It was later made unavailable when the original set of PowerToys was replaced by updated versions, but still works with Windows XP SP3 (32-bit) when running as administrator.
In Windows Vista, GINA is replaced by Credential Providers, however they do not support programmatic initiation of fast user switching.
- "Desktop/FastUserSwitching". Retrieved 2016-02-17.
- Architecture of Fast User Switching
- Executing a Fast User Switch programmatically – part 1
- Microsoft PowerToys for Windows XP
- Executing a Fast User Switch programmatically – part 2
- The Windows Vista and Windows Server 2008 Developer Story: Application Compatibility Cookbook