Fast user switching

Last updated

Fast user switching is a feature of a multi-user operating system which allows users to switch between user accounts without quitting applications and logging out.

Contents

In Linux

The Linux kernel's VT subsystem dates back to 1993 and does not understand the concept of multiple "seats", meaning that of up to 63 VTs, only one VT can be active at any given time. Despite this kernel limitation, multi-seat is supported on Linux. The feature of "fast user switching" has less severe necessities than multi-seat does because the multiple users are not working simultaneously. [1]

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,[ citation needed ] 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.

In macOS

Fast user switching was introduced in 2003 with Mac OS X Panther. [2]

In Microsoft Windows

Fast user switching in Windows is based on Remote Desktop Services technology. [3] 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. [4] 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. [5] 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. [6]

In Windows XP, fast user switching was unavailable if the computer is on a Windows Server domain network or if Offline Files was enabled. Windows Vista and later no longer have these restrictions. [7] Fast user switching is also not available on Windows XP if SerialKeys (an accessibility option that allows users to use speech augmentation devices) or Client Services for NetWare are installed.

See also

Related Research Articles

<span class="mw-page-title-main">Multi-booting</span> Act of installing multiple operating systems on a single computer

Multi-booting is the act of installing multiple operating systems on a single computer, and being able to choose which one to boot. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.

A runlevel is a mode of operation in the computer operating systems that implements Unix System V-style initialization. Conventionally, seven runlevels exist, numbered from zero to six. S is sometimes used as a synonym for one of the levels. Only one runlevel is executed on startup; run levels are not executed one after another.

udev is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the /dev directory. At the same time, udev also handles all user space events raised when hardware devices are added into the system or removed from it, including firmware loading as required by certain devices.

<span class="mw-page-title-main">X display manager</span>

In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer.

Remote administration refers to any method of controlling a computer or other Internet-connected device, such as a smartphone, from a remote location. There are many commercially available and free-to-use software that make remote administration easy to set up and use. Remote administration is often used when it's difficult or impractical to be physically near a system in order to use it or troubleshoot it. Many server administrators also use remote administration to control the servers around the world at remote locations. It is also used by companies and corporations to improve overall productivity as well as promote remote work. It may also refer to both legal and illegal remote administration.

As the next version of Windows NT after Windows 2000, as well as the successor to Windows Me, Windows XP introduced many new features but it also removed some others.

<span class="mw-page-title-main">Virtual console</span> Computer user interface

A virtual console (VC) – also known as a virtual terminal (VT) – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some Unix-like operating systems such as Linux, BSD, illumos, UnixWare, and macOS in which the system console of the computer can be used to switch between multiple virtual consoles to access unrelated user interfaces. Virtual consoles date back at least to Xenix and Concurrent CP/M in the 1980s.

<span class="mw-page-title-main">Multiseat configuration</span> Single computer that supports multiple local users at the same time

A multiseat, multi-station or multiterminal system is a single computer which supports multiple independent local users at the same time.

<span class="mw-page-title-main">Parallels Desktop for Mac</span> Virtual machine software

Parallels Desktop for Mac is software providing hardware virtualization for Macintosh computers with Intel processors, and since version 16.5 also for Apple silicon-based Macintosh computers. It is developed by Parallels, since 2018 a subsidiary of Corel.

<span class="mw-page-title-main">Microsoft PowerToys</span> Set of freeware system utilities developed by Microsoft

Microsoft PowerToys is a set of freeware system utilities designed for power users developed by Microsoft for use on the Windows operating system. These programs add or change features to maximize productivity or add more customization. PowerToys are available for Windows 95, Windows XP, Windows 10 and Windows 11. The PowerToys for Windows 10 and Windows 11 are free and open-source software licensed under the MIT License and hosted on GitHub.

Windows Vista contains a range of new technologies and features that are intended to help network administrators and power users better manage their systems. Notable changes include a complete replacement of both the Windows Setup and the Windows startup processes, completely rewritten deployment mechanisms, new diagnostic and health monitoring tools such as random access memory diagnostic program, support for per-application Remote Desktop sessions, a completely new Task Scheduler, and a range of new Group Policy settings covering many of the features new to Windows Vista. Subsystem for UNIX Applications, which provides a POSIX-compatible environment is also introduced.

A roaming user profile is a file synchronization concept in the Windows NT family of operating systems that allows users with a computer joined to a Windows domain to log on to any computer on the same domain and access their documents and have a consistent desktop experience, such as applications remembering toolbar positions and preferences, or the desktop appearance staying the same, while keeping all related files stored locally, to not continuously depend on a fast and reliable network connection to a file server.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

<span class="mw-page-title-main">Calculate Linux</span> Linux distribution

Calculate Linux is a Linux distribution optimized for fast deployment in an organization environment. It is based on the Gentoo Linux project and includes many preconfigured functions.

<span class="mw-page-title-main">Linux console</span> Console of the Linux kernel

The Linux console is a system console internal to the Linux kernel. A system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. The Linux console provides a way for the kernel and other processes to send text output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output text on a computer monitor. The Linux kernel supports virtual consoles – consoles that are logically separate, but which access the same physical keyboard and display. The Linux console are implemented by the VT subsystem of the Linux kernel, and do not rely on any user space software. This is in contrast to a terminal emulator, which is a user space process that emulates a terminal, and is typically used in a graphical display environment.

systemd Suite of system components for Linux

systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manager" — an init system used to bootstrap user space and manage user processes. It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event logging. The name systemd adheres to the Unix convention of naming daemons by appending the letter d. It also plays on the term "System D", which refers to a person's ability to adapt quickly and improvise to solve problems.

kmscon Userspace virtual console for Linux operating system

Kmscon is a virtual console that runs in userspace which David Hermann created to replace the Linux console, a terminal built into the Linux kernel. Kmscon uses the KMS driver for its output, it is multiseat-capable, and supports internationalized keyboard input and UTF-8 terminal output. The input support is implemented using X keyboard extension (XKB). Development of Kmscon stopped in March 2015. There was a successor project called systemd-consoled, but this project was also later dropped in July 2015.

A login manager is a login system for Unix and Unix-like operating systems. It comprises a login daemon, a login user interface, and a system for tracking login sessions. When a user tries to log in, the login manager passes the user's credentials to an authentication system.

References

  1. "Desktop/FastUserSwitching" . Retrieved 2016-02-17.
  2. "Apple Previews Mac OS X "Panther"" (Press release). Apple. June 23, 2003. Archived from the original on January 3, 2018. Retrieved 2024-07-02.
  3. Architecture of Fast User Switching
  4. Executing a Fast User Switch programmatically – part 1
  5. Microsoft PowerToys for Windows XP
  6. Executing a Fast User Switch programmatically – part 2
  7. The Windows Vista and Windows Server 2008 Developer Story: Application Compatibility Cookbook