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 Microsoft Windows

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

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. [6] 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

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.

Remote administration refers to any method of controlling a computer from a remote location. Software that allows remote administration is becoming increasingly common and is often used when it is difficult or impractical to be physically near a system in order to use it. A remote location may refer to a computer in the next room or one on the other side of the world. It may also refer to both legal and illegal remote administration.

The graphical identification and authentication (GINA) is a component of Windows 2000, Windows XP and Windows Server 2003 that provides secure authentication and interactive logon services. GINA is a replaceable dynamically linked library that is loaded early in the boot process in the context of Winlogon when the machine is started. It is responsible for handling the secure attention sequence, typically Control-Alt-Delete, and interacting with the user when this sequence is received. GINA is also responsible for starting initial processes for a user when they first log on. GINA is discontinued in Windows Vista.

<span class="mw-page-title-main">Winlogon</span>

In computing, Winlogon is the component of Microsoft Windows operating systems that is responsible for handling the secure attention sequence, loading the user profile on logon, and optionally locking the computer when a screensaver is running. The actual obtainment and verification of user credentials is left to other components. Winlogon is a common target for several threats that could modify its function and memory usage. Increased memory usage for this process might indicate that it has been "hijacked". In Windows Vista and later operating systems, Winlogon's roles and responsibilities have changed significantly.

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.

The Windows NT booting process is the process by which Windows NT 4.0, Windows 2000, Windows XP and Windows Server 2003 operating systems initialize. In Windows Vista and later, this process has changed significantly; see Windows NT 6 startup process for information about what has changed.

<span class="mw-page-title-main">Multiseat configuration</span>

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">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.

Linux startup process is the multi-stage initialization process performed during booting a Linux installation. It is in many ways similar to the BSD and other Unix-style boot processes, from which it derives.

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.

Network Level Authentication (NLA) is a feature of Remote Desktop Services or Remote Desktop Connection that requires the connecting user to authenticate themselves before a session is established with the server.

<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. Its 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 and intends 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. Architecture of Fast User Switching
  3. Executing a Fast User Switch programmatically – part 1
  4. Microsoft PowerToys for Windows XP
  5. Executing a Fast User Switch programmatically – part 2
  6. The Windows Vista and Windows Server 2008 Developer Story: Application Compatibility Cookbook