Cygwin/X

Cygwin/X is an implementation of the X Window System that runs under Microsoft Windows. It is part of the Cygwin project, and is installed using Cygwin's standard setup system. Cygwin/X is free software, licensed under the X11 License.

Cygwin/X was originally based on XFree86, but switched to the X.Org Server due to XFree86 licensing controversy, owing to concerns over XFree86's new software license not being compatible with the GPL.

After a long hiatus following an 8 July 2005 release, the project was revitalised and the developers released a version based on the X.org modular 7.4 release on 12 November 2008 and continue to maintain it.

Features
There are two ways to run Cygwin/X:

In one, an X server runs in a single Microsoft Windows window that serves as the X display, which holds the X root window and all the other X windows in the X session. You use an X window manager to manage the X windows within the display. You can run multiple X servers, each in its own Microsoft Windows window.

The other method is to run Cygwin/X rootless. In this method, each X window corresponds with its own Microsoft Windows window and there is no root window. There is no X window manager; Microsoft Windows' window manager moves, resizes, hides, etc. the X windows.

Uses
One use for Cygwin/X is to provide a graphical interface for applications running on the same computer with Cygwin/X which are designed for the X Window System. Such an application is probably running under Cygwin.

Another use for Cygwin/X is as an X terminal: applications running on another computer access the Cygwin/X X server via the X protocol over an IP network. One can run XDM on the remote system so that a user can log into the remote computer via a window on the Cygwin/X system and then the remote system puts up web browsers, terminal windows, and the like on the Cygwin/X display.

Another common way for an application on a remote system to operate through a window on a local Cygwin/X display is SSH tunneling. An application on the local system creates an SSH session on the remote system (perhaps the application is xterm and the user types an 'ssh' command). The SSH server on the remote system sets things up so that any X client program the shell starts (on the remote system) uses the local Cygwin/X server.