Misplaced Pages

List of Remote Desktop Protocol clients

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Remote Desktop Protocol clients allow users to connect to servers running Remote Desktop Services , Azure Virtual Desktop , or non- Microsoft server software to enable remote desktop functionality. Since the release of Remote Desktop Connection , there have been several additional Remote Desktop Protocol clients created by both Microsoft and other parties.

#454545

74-536: Remote Desktop Connection ( RDC , also called Remote Desktop or just RD ) is the client application for RDS. The program has the filename mstsc.exe and in Windows 2000 and prior, it was known as Microsoft Terminal Services Client ( MSTSC or tsclient ). It allows a user to remotely log into a networked computer running the Remote Desktop Services . RDC presents the desktop interface (or application GUI) of

148-519: A Linux -compatible kernel interface developed by Microsoft, containing no Linux kernel code, which can then run the user space of a Linux distribution on top of it, such as Ubuntu , openSUSE , SUSE Linux Enterprise Server , Debian and Kali Linux . Such a user space might contain a GNU Bash shell and command language, with native GNU command-line tools ( sed , awk , etc.), programming-language interpreters ( Ruby , Python , etc.), and even graphical applications (using an X11 server at

222-577: A compatibility layer for running Linux binary executables (in ELF format) by implementing Linux system calls in the Windows kernel . WSL 2 (announced May 2019 ), introduced a real Linux kernel – a managed virtual machine (via Hyper-V technology) that implements the full Linux kernel. As a result, WSL 2 is compatible with more Linux binaries as not all system calls were implemented in WSL 1. Microsoft offers WSL for

296-627: A RemoteApp can be launched by double clicking the file. It will invoke the Remote Desktop Connection client, which will connect to the server and render the UI. The RemoteApp can also be packaged in a Windows Installer database, installing which can register the RemoteApp in the Start menu as well as create shortcuts to launch it. A RemoteApp can also be registered as handler for file types or URIs. Opening

370-573: A Windows 10 test build that also includes the ability to run Linux graphical user interface (GUI) apps using WSL 2 and CBL-Mariner . The Windows Subsystem for Linux GUI (WSLg) was officially released at the Microsoft Build 2021 conference. It is included in Windows 10 Insider build 21364 or later. Microsoft introduced a Microsoft Store version of WSL on October 11, 2021, for Windows 11. It reached version 1.0.0 on November 16, 2022 with added support for Windows 10. The first release of WSL provides

444-436: A default distribution, and uninstall distributions. It can also run a Linux command – replacing lxrun.exe which is deprecated as of Windows 10 1803 and later. Windows Subsystem for Linux GUI (WSLg) is built with the purpose of enabling support for running Linux GUI applications (X11 and Wayland ) on Windows in a fully integrated desktop experience. WSLg was officially released at the Microsoft Build 2021 conference and

518-511: A feature of Microsoft Windows that allows for using a Linux environment without the need for a separate virtual machine or dual booting . WSL is installed by default in Windows 11. In Windows 10, it can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget . The original version, WSL 1, differs significantly from the second major version, WSL 2. WSL 1 (released August 2, 2016), acted as

592-496: A file registered with RemoteApp will first invoke Remote Desktop Connection, which will connect to the terminal server and then open the file. Any application which can be accessed over Remote Desktop can be served as a RemoteApp. Windows 7 includes built-in support for RemoteApp publishing, but it has to be enabled manually in registry, since there is no RemoteApp management console in client versions of Microsoft Windows. In Windows Vista onwards, Terminal Services also includes

666-449: A multi-party desktop sharing capability known as Windows Desktop Sharing . Unlike Terminal Services, which creates a new user session for every RDP connection, Windows Desktop Sharing can host the remote session in the context of the currently logged in user without creating a new session, and make the Desktop, or a subset of it, available over RDP. Windows Desktop Sharing can be used to share

740-510: A remote session can be set independently of the settings at the remote computer. If the Desktop Experience component is plugged into the remote server, remote application user interface elements (e.g., application windows borders, Maximize, Minimize, and Close buttons etc.) will take on the same appearance of local applications. In this scenario, the remote applications will use the Aero theme if

814-415: A server it would load the login screen from the server for the user. This would use up resources on the server, and was a potential area for denial of service attacks as well as remote code execution attacks (see BlueKeep ). Network Level Authentication delegates the user's credentials from the client through a client-side Security Support Provider and prompts the user to authenticate before establishing

SECTION 10

#1733094440455

888-646: A session on the server. Network Level Authentication was introduced in RDP 6.0 and supported initially in Windows Vista . It uses the new Security Support Provider, CredSSP, which is available through SSPI in Windows Vista. With Windows XP Service Pack 3, CredSSP was introduced on that platform and the included RDP 6.1 Client supports NLA; however CredSSP must be enabled in the registry first. The advantages of Network Level Authentication are: Remote Desktop Connection

962-507: A vanilla NT process, opting to reutilize existing NT implementations wherever possible. WSL beta was introduced in Windows 10 version 1607 (Anniversary Update) on August 2, 2016. Only Ubuntu (with Bash as the default shell) was supported. WSL beta was also called "Bash on Ubuntu on Windows" or "Bash on Windows". WSL was no longer beta in Windows 10 version 1709 (Fall Creators Update), released on October 17, 2017. Multiple Linux distributions could be installed and were available for install in

1036-541: A variety of reasons. Microsoft envisions WSL as "a tool for developers – especially web developers and those who work on or with open source projects". Microsoft also claims that "WSL requires fewer resources (CPU, memory, and storage) than a full virtual machine" (a common alternative for using Linux in Windows), while also allowing the use of both Windows and Linux tools on the same set of files. Microsoft's first foray into achieving Unix-like compatibility on Windows began with

1110-483: A web client. The Windows version of the app is no longer being updated with new features or support for Azure Virtual Desktop . Instead, users are recommend to use the Remote Desktop client for Windows . In late 2018 Microsoft released an HTML5 web client for Microsoft Remote Desktop. The client allows users to connect to their remote apps or to their remote desktops without using an installed remote desktop client.

1184-517: Is a RDP client that started as a fork of redesktop in 2009. It was created with the aim of modularizing the code, addressing various issues, and implementing new features. FreeRDP comes with its own command-line-client xfreerdp , which supports Seamless Windows in RDP6. Around 2011, the project decided to abandon forking and instead rewrite under Apache License , adding more features like RemoteFX, RemoteApp, and NTLMv2. A commercial distribution called Thincast

1258-563: Is a modern client for RDS released in September 2012. Compared to the older Remote Desktop Connection, the program offers a touch-friendly interface. It allows users to connect to remote PCs, RemoteApp programs, session-based desktops, and virtual desktops. The program is available on Windows as an Universal Windows Platform on the Microsoft Store , MacOS as Microsoft Remote Desktop for Mac , Android , iOS , iPadOS , and on all platforms as

1332-400: Is a primary client for Remote Desktop Services. RDC presents the desktop interface (or application GUI) of the remote system, as if it were accessed locally. Microsoft Remote Desktop was created in 2012 by Microsoft as a client with a touch-friendly interface. Additionally, several non-Microsoft clients exist. Windows Subsystem for Linux Windows Subsystem for Linux ( WSL ) is

1406-534: Is also available for iOS and Android. This feature was introduced in the Windows Server 2008 and Windows Home Server products. In October 2021, Thincast, the main contributor of the FreeRDP project, published the first Remote Desktop Gateway solution running natively on Linux. RemoteApp (or TS RemoteApp ) is a special mode of RDS, available in Windows Server 2008 R2 and later, where remote session configuration

1480-699: Is available on Windows, macOS , iOS , iPadOS , Android , ChromeOS , and through web browsers. The preview version of the app was first released in November 2023 and it was fully launched on September 19, 2024. The app was developed as a unified way to access Windows PCs remotely and as replacement for Microsoft Remote Desktop . The app supports many of the features of Remote Desktop Connection include multi-monitor support, device redirection, and dynamic resolution. A RDS client also existed for Windows Mobile called Remote Desktop . There have been numerous non-Microsoft implementations of clients that implement subsets of

1554-543: Is claimed by Microsoft to offer twenty-fold increases in speed on certain operations compared to that of WSL 1. In June 2020, a benchmark with 173 tests on WSL 2 (20H2) with an AMD Ryzen Threadripper 3970X showed an average of 87% of the performance of native Ubuntu 20.04 LTS. In contrast, WSL 1 had only 70% of the performance of native Ubuntu. WSL 2 improves I/O performance, providing a near-native level. A comparison of 69 tests with an Intel Core i9-10900K in May 2020 resulted in nearly

SECTION 20

#1733094440455

1628-463: Is encrypted using a weak (40-bit RC4) cipher. With medium encryption, UI packets (incoming data) are encrypted using this weak cipher as well. The setting "High encryption (Non-export)" uses 128-bit RC4 encryption and "High encryption (Export)" uses 40-bit RC4 encryption. When setting the Security Layer to 'SSL (TLS 1.0)', Transport Layer Security up to version 1.2 is available. Terminal Server

1702-529: Is in turn used by Microsoft to provide graphics support (WSLg) in its Windows Subsystem for Linux . Remmina is a free and open-source remote desktop client for POSIX -based system that supports RDP along with a verity of other protocols. It uses FreeRDP as a foundation. It is the default remote desktop client on Ubuntu . Remote Desktop Services Remote Desktop Services ( RDS ), known as Terminal Services in Windows Server 2008 and earlier,

1776-656: Is included in Windows 10 Insider build 21364 or later. However, with the introduction of Windows 11 , WSLg is finally shipping with a production build of Windows, bringing support for both graphics and audio in WSL apps. FreeRDP is used to encode all communications going from the Remote Desktop Protocol (RDP) Server (in Weston) to the RDP Client ( msrdc on Windows ) according to the RDP protocol specifications. Prerequisites for running WSLg include: LXSS Manager Service

1850-422: Is integrated into the client operating system. The RDP 6.1 client ships with Windows XP SP3, KB952155 for Windows XP SP2 users, Windows Vista SP1 and Windows Server 2008. The UI for the RemoteApp is rendered in a window over the local desktop, and is managed like any other window for local applications. The end result of this is that remote applications behave largely like local applications. The task of establishing

1924-518: Is managed by the Terminal Server Manager Microsoft Management Console snap-in. It can be used to configure the sign in requirements, as well as to enforce a single instance of remote session. It can also be configured by using Group Policy or Windows Management Instrumentation . It is, however, not available in client versions of Windows OS, where the server is pre-configured to allow only one session and enforce

1998-434: Is not capable of running all Linux software, such as 32-bit binaries, or those that require specific Linux kernel services not implemented in WSL. Due to a total lack of Linux in WSL 1, kernel modules, such as device drivers, cannot be run. WSL 2, however, makes use of live virtualized Linux kernel instances. It is possible to run some graphical (GUI) applications (such as Mozilla Firefox ) by installing an X11 server within

2072-456: 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

2146-558: Is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session The web client uses the TLS secured port 443 and does not use the RD Gateway to transport traffic, instead relying solely on the remote desktop session host aspect of remote desktop services. The Remote Desktop client for Windows ( MSRDC ), branded as Microsoft Remote Desktop , Remote Desktop , and Azure Virtual Desktop if installed from

2220-401: Is shipped with most editions of all versions of Windows NT since Windows 2000, its functionality differs in each version. Windows XP Home Edition does not accept any RDC connections at all, reserving RDS for Fast User Switching and Remote Assistance only. Other client versions of Windows only allow a maximum of one remote user to connect to the system at the cost of the user who has logged onto

2294-415: Is stored in specialized directories, called Session Directory which is stored at the server. Session directories are used to store state information about a session, and can be used to resume interrupted sessions. The terminal server also has to manage these directories. Terminal Servers can be used in a cluster as well. In Windows Server 2008 , it has been significantly overhauled. While logging in, if

List of Remote Desktop Protocol clients - Misplaced Pages Continue

2368-491: Is tagged with a unique SessionID and associated with a freshly spawned console session (Session 0, keyboard, mouse and character mode UI only). The login subsystem (winlogon.exe) and the GDI graphics subsystem is then initiated, which handles the job of authenticating the user and presenting the GUI. These executables are loaded in a new session, rather than the console session. When creating

2442-446: Is the server component of Terminal services. It handles the job of authenticating clients, as well as making the applications available remotely. It is also entrusted with the job of restricting the clients according to the level of access they have. The Terminal Server respects the configured software restriction policies, so as to restrict the availability of certain software to only a certain group of users. The remote session information

2516-517: Is the service in charge of interacting with the subsystem (through the drivers lxss.sys and lxcore.sys ), and the way that Bash.exe (not to be confused with the Shells provided by the Linux distributions) launches the processes, as well as handling the Linux system calls and the binary locks during their execution. All processes invoked by a particular user go into a so called "Linux Instance" (usually

2590-426: Is used by Windows Meeting Space and Windows Remote Assistance for providing application sharing functionality among network peers . Network Level Authentication ( NLA ) is a feature of RDP Server or Remote Desktop Connection (RDP Client) that requires the connecting user to authenticate themselves before a session is established with the server. Originally, if a user opened an RDP (remote desktop) session to

2664-519: The Microsoft POSIX Subsystem , superseded by Windows Services for UNIX via MKS / Interix , which was eventually deprecated with the release of Windows 8.1 . The technology behind Windows Subsystem for Linux originated in the unreleased Project Astoria , which enabled some Android applications to run on Windows 10 Mobile . It was first made available in Windows 10 Insider Preview build 14316. Whereas Microsoft's previous projects and

2738-554: The Windows Store . In 2017 Richard Stallman expressed fears that integrating GNU functionality into Windows will only hinder the development of free software , calling efforts like WSL "a step backward in the campaign for freedom." Though WSL (via this initial design) was much faster and arguably much more popular than the previous UNIX-on-Windows projects, Windows kernel engineers found difficulty in trying to increase WSL's performance and syscall compatibility by trying to reshape

2812-672: The IT department to install applications on a central server instead of multiple computers. Remote users can log on and use those applications over the network. Such centralization can make maintenance and troubleshooting easier. RDS and Windows authentication systems prevent unauthorized users from accessing apps or data. Microsoft has a long-standing agreement with Citrix to facilitate sharing of technologies and patent licensing between Microsoft Terminal Services and Citrix XenApp (formerly Citrix MetaFrame and Citrix Presentation Server ). In this arrangement, Citrix has access to key source code for

2886-475: The Microsoft Store, is a client that uses the Remote Desktop Protocol to allow users to connect to Azure Virtual Desktops on feeds made available by enterprise administrators. The program can be downloaded as an MSI installer as Remote Desktop or from the Microsoft Store as Azure Virtual Desktop. In contrast with Microsoft Remote Desktop and like the older Remote Desktop Connection program, MSRDC allows for

2960-530: The Microsoft functionality for a range of platforms. rdesktop is a free and open-source implementation of a client software for RDP. rdesktop supports most features of RDP 5, with features from RDP 5.1 and 6 not yet implemented. Unlike its Microsoft counterparts, it still supports the older RDP 4 protocol used by Windows NT 4.0 . There also several graphical frontends to rdesktop including tsclient , Gnome-RDP, and KDE Remote Desktop Connection (KRDC) . FreeRDP

3034-422: The Windows (host) environment (such as VcXsrv or Xming ), although not without caveats, such as the lack of audio support (though this can be remedied by installing PulseAudio in Windows in a similar manner to X11) or hardware acceleration (resulting in poor graphics performance). Support for OpenCL and CUDA is also not being implemented currently, although planned for future releases. Microsoft stated WSL

List of Remote Desktop Protocol clients - Misplaced Pages Continue

3108-476: The Windows platform, enabling its developers to improve the security and performance of the Terminal Services platform. In late December 2004 the two companies announced a five-year renewal of this arrangement to cover Windows Vista . The key server component of RDS is Terminal Server ( termdd.sys ), which listens on TCP port 3389. When a Remote Desktop Protocol (RDP) client connects to this port, it

3182-504: The application Windows and package them as Window objects. A viewer must authenticate itself before it can connect to a sharing session. This is done by generating an Invitation using the RDPSession . It contains an authentication ticket and password. The object is serialized and sent to the viewers, who need to present the Invitation when connecting. Windows Desktop Sharing API

3256-477: The applications more responsive. It redirects plug and play devices such as cameras, portable music players, and scanners, so that input from these devices can be used by the remote applications as well. RDC can also be used to connect to computers which are exposed via Windows Home Server RDP Gateway over the Internet . Finally, few shortcuts that will be handy Microsoft Remote Desktop , also called Remote Desktop ,

3330-473: The applications. RDP communications are encrypted using 128-bit RC4 encryption. From Windows Server 2003 onwards, it can use a FIPS 140 compliant encryption scheme, or encrypt communications using the Transport Layer Security standard. Once a client initiates a connection and is informed of a successful invocation of the terminal services stack at the server, it loads up the device as well as

3404-449: The channels act as replacement for these devices. The channels connect to the client over the TCP connection; as the channels are accessed for data, the client is informed of the request, which is then transferred over the TCP connection to the application. This entire procedure is done by the terminal server and the client, with the RDP mediating the correct transfer, and is entirely transparent to

3478-408: The client on-demand and executed on the client machine. RemoteFX was added to RDS as part of Windows Server 2008 R2 Service Pack 1. Windows includes four client components that use RDS: The first two are individual utilities that allow a user to operate an interactive session on a remote computer over the network. In case of Remote Assistance, the remote user needs to receive an invitation and

3552-470: The client system. Moreover, a remote session can also span multiple monitors at the client system, independent of the multi-monitor settings at the server. RDC can also be used to connect to Windows Media Center (WMC) remote sessions; however, since WMC does not stream video using RDP, only the applications can be viewed this way, not any media. RDC prioritizes UI data as well as keyboard and mouse inputs, as opposed to print jobs or file transfers. so as to make

3626-464: The console being disconnected. Windows Server allows two users to connect at the same time. This licensing scheme, called "Remote Desktop for Administration", facilitates administration of unattended or headless computers . Only by acquiring additional licenses (in addition to that of Windows) can a computer running Windows Server service multiple remote users at one time and achieve virtual desktop infrastructure . For an organization, RDS allows

3700-545: The control is cooperative. In case of RDC, however, the remote user opens a new session on the remote computer and has every power granted by its user account's rights and restrictions. Fast User Switching allows users to switch between user accounts on the local computer without quitting software and logging out. Fast User Switching is part of Winlogon and uses RDS to accomplish its switching feature. Third-party developers have also created client software for RDS. For example, rdesktop supports Unix platforms. Although RDS

3774-440: The entire desktop of the computer running RDS, are made accessible to any remote client machine that supports Remote Desktop Protocol (RDP). User interfaces are displayed from the server onto the client system and input from the client system is transmitted to the server - where software execution takes place. This is in contrast to application streaming systems, like Microsoft App-V , in which computer programs are streamed to

SECTION 50

#1733094440455

3848-534: The entire desktop, a specific region, or a particular application. Windows Desktop Sharing can also be used to share multi-monitor desktops. When sharing applications individually (rather than the entire desktop), the windows are managed (whether they are minimized or maximized) independently at the server and the client side. The functionality is only provided via a public API , which can be used by any application to provide screen sharing functionality. Windows Desktop Sharing API exposes two objects: RDPSession for

3922-515: The entire desktop, by means of a feature named RemoteApp . Terminal Services Web Access (TS Web Access) makes a RemoteApp session invocable from the web browser . It includes the TS Web Access Web Part control which maintains the list of RemoteApps deployed on the server and keeps the list up to date. Terminal Server can also integrate with Windows System Resource Manager to throttle resource usage of remote applications. Terminal Server

3996-566: The existing NT kernel to recognize and operate correctly on Linux's API . At a Microsoft Ignite conference in 2018, Microsoft engineers gave a high-level overview of a new "lightweight" Hyper-V VM technology for containerization where a virtualized kernel could make direct use of NT primitives on the host. In 2019, Microsoft announced a completely redesigned WSL architecture (WSL 2) using this lightweight VM technology hosting actual (customized) Linux kernel images, claiming full syscall compatibility. Microsoft announced WSL 2 on May 6, 2019, and it

4070-421: The first invoked process is init ). Once all the applications are closed, the instance is closed. WSL 1's design featured no hardware emulation / virtualization (unlike other projects such as coLinux) and makes direct use of the host file system (through VolFS and DrvFS ) and some parts of the hardware, such as the network, which guarantees interoperability. Web servers for example, can be accessed through

4144-621: The host file system is transparently accessible through the 9P protocol , similarly to other virtual machine technologies like QEMU . For the users, Microsoft promised up to 20 times the read/write performance of WSL 1. From Windows an IFS network redirector is provided for Linux guest file access using the UNC path prefix of \\wsl$ . WSL 2 requires Windows 11, or Windows 10 version 1903 or higher, with Build 18362 or higher, for x64 systems, and Version 2004 or higher, with Build 19041 or higher, for ARM64 systems. WSL 2 on Windows 11 retains 95% of

4218-403: The host side). The architecture was redesigned in WSL 2, with a Linux kernel running in a lightweight virtual machine environment. The wsl.exe command accesses and manages Linux distributions in WSL via command-line interface (CLI) – for example via Command Prompt or PowerShell . With no arguments it enters the default distribution shell . It can list available distributions, set

4292-512: The kernel), promising performance equivalent to WSL 1. For backward compatibility , developers do not need to change anything in their published distributions. WSL 2 settings can be tweaked by the WSL global configuration , contained in an INI file named .wslconfig in the User Profile folder . The distribution installation resides inside an ext4 -formatted filesystem inside a virtual disk , and

4366-476: The keyboard/mouse drivers. The UI data received over RDP is decoded and rendered as UI, whereas the keyboard and mouse inputs to the Window hosting the UI is intercepted by the drivers, and transmitted over RDP to the server. It also creates the other virtual channels and sets up the redirection. RDP communication can be encrypted; using either low, medium or high encryption. With low encryption, user input (outgoing data)

4440-560: The new session, the graphics and keyboard/mouse device drivers are replaced with RDP-specific drivers: RdpDD.sys and RdpWD.sys . The RdpDD.sys is the device driver and it captures the UI rendering calls into a format that is transmittable over RDP. RdpWD.sys acts as keyboard and mouse driver; it receives keyboard and mouse input over the TCP connection and presents them as keyboard or mouse inputs. It also allows creation of virtual channels , which allow other devices, such as disc, audio, printers, and COM ports to be redirected, i.e.,

4514-714: The redirection of local USB and serial devices. MSRDC is also used by Windows Subsystem for Linux to display programs with a graphical user interface . The Windows App is a Remote Desktop Protocol client that allows users to connect to Windows 365 , Azure Virtual Desktop , and Microsoft Dev Box instances. Additionally, on non-Windows platforms excluding the browser, the Windows App allows users to connect to serves running Remote Desktop Services and remote PCs. On Windows, Microsoft advises users to use Remote Desktop Connection to connect to remote PCs and Remote Desktop client for Windows to connect to Remote Desktop Services. The app

SECTION 60

#1733094440455

4588-475: The remote session, as well as redirecting local resources to the remote application, is transparent to the end user. Multiple applications can be started in a single RemoteApp session, each with their own windows. A RemoteApp can be packaged either as a .rdp file or distributed via an .msi Windows Installer package. When packaged as an .rdp file (which contains the address of the RemoteApp server, authentication schemes to be used, and other settings),

4662-454: The remote system, as if it were accessed locally. In addition to regular username/password for authorizing for the remote session, RDC also supports using smart cards for authorization. Although replacements have been released, as of the release of the Windows App , Remote Desktop Client is still recommended for use. RDC 6.0 was released as part of Windows Vista. With RDC 6.0, the resolution of

4736-475: The rights of the user account on the remote session, without any customization. The Remote Desktop Gateway service component, also known as RD Gateway , can tunnel the RDP session using a HTTPS channel. This increases the security of RDS by encapsulating the session with Transport Layer Security (TLS). This also allows the option to use Internet Explorer as the RDP client. The official MS RDP client for macOS supports RD Gateway as of version 8. This

4810-515: The same interfaces and IP addresses configured on the host, and shares the same restrictions on the use of ports that require administrative permissions, or ports already occupied by other applications. There are certain locations (such as system folders) and configurations whose access/modification is restricted, even when running as root, with sudo from the shell. An instance with elevated privileges must be launched in order to get "sudo" to give administrator privileges, and allow such access. WSL 1

4884-434: The same relative performance. In December 2020, a benchmark with 43 tests on WSL 2 (20H2) with an AMD Ryzen 9 5900X displayed an average of 93% of the performance of native 20.04.1 LTS, compared to WSL 1 which only achieved 73%. Version 2 introduces changes in the architecture. Microsoft has opted for virtualization through a highly optimized subset of Hyper-V features, in order to run the kernel and distributions (based upon

4958-521: The sharing session and RDPViewer for the viewer. Multiple viewer objects can be instantiated for one Session object. A viewer can either be a passive viewer, who is just able to watch the application like a screencast , or an interactive viewer, who is able to interact in real time with the remote application. The RDPSession object contains all the shared applications, represented as Application objects, each with Window objects representing their on-screen windows. Per-application filters capture

5032-618: The third-party Cygwin had focused on creating their own unique Unix-like environments based on the POSIX standard , WSL aims for native Linux compatibility. Instead of wrapping non-native functionality into Win32 system calls as Cygwin did, WSL's initial design (WSL 1) leveraged the NT kernel executive to serve Linux programs as special, isolated minimal processes (known as "pico processes" ) attached to kernel mode "pico providers" as dedicated system call and exception handlers distinct from that of

5106-437: The user connects to the server from a Windows Vista machine running Aero. Later versions of the protocol also support rendering the UI in full 32-bit color, as well as resource redirection for printers, COM ports, disk drives, mice and keyboards. With resource redirection, remote applications can use the resources of the local computer. Audio is also redirected, so that any sounds generated by a remote application are played back at

5180-431: The user logged on to the local system using a Windows Server Domain account, the credentials from the same sign-on can be used to authenticate the remote session. However, this requires Windows Server 2008 to be the terminal server OS, while the client OS is limited to Windows Server 2008, Windows Vista and Windows 7 . In addition, the terminal server may be configured to allow connection to individual programs, rather than

5254-412: Was designed for the development of applications, and not for desktop computers or production servers , recommending the use of virtual machines ( Hyper-V ), Kubernetes , and Azure for those purposes. In benchmarks, WSL 1's performance is often near native Linux Ubuntu, Debian, Intel Clear Linux or other Linux distributions. I/O is in some tests a bottleneck for WSL. The redesigned WSL 2 backend

5328-418: 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. RDS is Microsoft 's implementation of thin client architecture, where Windows software, and

5402-413: Was shipped with Windows 10 version 2004. It was also backported to Windows 10 version 1903 and 1909. GPU support for WSL 2 to run GPU-accelerated machine learning was introduced in Windows build 20150. GUI support for WSL 2 to run Linux applications with graphical user interfaces (GUIs) was introduced in Windows build 21364. Both of them are shipped in Windows 11. In April 2021, Microsoft released

5476-517: Was started in 2019. A multi-platform client based on FreeRDP including Vulkan/H.264 support followed in summer 2020. There's a GTK-based client named Remmina also based on FreeRDP. FreeRDP offers server implementations for macOS and Windows. On other systems including Linux, software packages may build upon FreeRDP to implement a complete server. Weston, the compositor in Wayland , uses FreeRDP to implement an rdp server it terms "rdp-backend". This server

#454545