<qandadiv id="general">
<title>&title-general;</title>

<qandaentry>
<question id="q-what-is-cygwin-x">
<para>What is &project;?</para>
</question>

<answer>
<para>
&project; is a port of the &x-window-system; to &cygwin;. 
&cygwin; provides a &UNIX;-like API on the Win32 platform.
</para>
</answer>

</qandaentry>


<qandaentry>
<question id="q-what-is-cygwin">
<para>What is &cygwin;?</para>
</question>

<answer>
<para>&cygwin; tools are, in the words of the
<ulink url="http://cygwin.com/faq.html#faq.what">&cygwin; FAQ</ulink>,
<quote>
ports of the popular GNU development tools and utilities for Microsoft Windows.
They run thanks to the &cygwin; library which provides the POSIX system calls
and environment these programs expect. 
</quote>
&cygwin; provides the compiler (gcc), libraries, headers, and other
utilities which build and support the operation of &project;.</para>
</answer>
</qandaentry>


<qandaentry>
<question id="q-what-is-x-window-system">
<para>What is the &x-window-system;?</para>
</question>

<answer>
<blockquote>
<attribution><citation>ScheiflerGettys92</citation></attribution>
<para>The &x-window-system;, or X, is a network-transparent window system.
With X, multiple applications can run simultaneously in windows,
generating text and graphics in monochrome or color on a bitmap
display.  Network transparency means that application programs can run
on machines scattered through the network.</para>
</blockquote>
</answer>
</qandaentry>


<qandaentry>
<question id="q-what-is-x-server">
<para>What is an X Server?</para>
</question>

<answer>
<para>An X Server is a program that provides display and user input
services to other programs.  In comparison, a file server provides
other programs with access to file storage devices.  File servers are
typically located in a remote location and you use the services of a
file server from the machine that you are located at.  In contrast, an
X Server is typically running on the machine that you are located at;
display and user input services may be requested by programs running
on your machine, as well as by programs running on remote
machines.</para>
</answer>
</qandaentry>


<qandaentry>
<question id="q-what-is-x-client">
<para>What is an X client?</para>
</question>

<answer>
<para>An X client is a program that utilizes the display and user
input services provided by an X Server.  X clients may run on the same
or disparate machine as the X Server that is providing display and
user input services.</para>
</answer>
</qandaentry>

<qandaentry>
<question id="display-and-screen">
<para>What does DISPLAY=:0.0 mean?</para>
</question>
<answer>
<para>
The &DISPLAY; environment variable instructs an X client which X server it
is to connect to by default.  Typically this can be overriden by running
the client with a <parameter>-display</parameter> or <parameter>-d</parameter>
command line option.
</para>

<para>The <replaceable>:0.0</replaceable> part of the &DISPLAY; variable denote
the display and the screen of an X server.</para>

<para>The display is the first number and should equal the display number
given to a running instance of an X server.  By default the X server uses
display number 0.
If the X server is using TCP/IP for communication it listens on port 6000 + 
<replaceable>display-number</replaceable> for X client connections.
For local (UNIX domain sockets) it uses the socket 
<filename>/tmp/.X11-unix/X<replaceable>display-number</replaceable></filename>
</para>

<para> The screen denotes different output devices of the X server. You could 
start &XWin; with two <parameter>-screen</parameter> options and would end up 
with two X11 windows. Each of them is a different screen. Other X servers open
different screens for different monitors connected to the computer.</para>

<para>&project; supports different formats of the &DISPLAY; variable
<itemizedlist>
<listitem>
<para>
<replaceable>:0.0</replaceable> or <replaceable>unix:0.0</replaceable>
</para>
<para>
This names a local X server and the communication uses the UNIX domain sockets.
</para>
</listitem>
<listitem>
<para>
<replaceable>hostname:0.0</replaceable>
</para>
<para>
This names a remote X server and the communication uses the TCP/IP network.
</para>
</listitem>
</itemizedlist>
</para>

<para>
See the DISPLAY NAMES section of <command>man X</command> for more information.
</para>
</answer>
</qandaentry>

<qandaentry>
<question id="q-why-port-to-windows">
<para>Why port the &x-window-system; to Microsoft Windows?</para>
</question>

<answer>
<para>Porting &x-window-system; to Microsoft Windows benefits many
people and projects in many ways:</para>

<itemizedlist>
<listitem>
<para>Prior to &project; only commercial, closed source X Servers were
available for Microsoft Windows.</para>
</listitem>

<listitem>
<para>An X Server on Windows may be used to display the output of
programs running on remote &UNIX; machines.</para>
</listitem>

<listitem>
<para>&project;, in conjunction with &cygwin;, provides a complete
compatibility layer for compiling and running &UNIX;
applications on Microsoft Windows.</para>
</listitem>
</itemizedlist>
</answer>
</qandaentry>


<qandaentry>
<question id="q-newsgroup">
<para>Is there a &project; newsgroup?</para>
</question>

<answer>
<para>No, &project; does not have a newsgroup; however, we do have a
mailing list.  See <xref linkend="q-mailing-list"></xref></para>
<para>You can read and post to the mailing list using your newsreader
using the <ulink url="http://gmane.org/find.php?list=os.cygwin">GMANE</ulink>
mail-to-news gateway.
</para>
</answer>
</qandaentry>


<qandaentry>
<question id="q-mailing-list">
<para>Is there a &project; mailing list?</para>
</question>

<answer>
<para>Yes, &project; is on-topic for the &project-ml; mailing list.
Non-subscribers may post to this list.
Visit the <ulink url="&cygwin-url-lists;">&cygwin; Mailing Lists</ulink>
page to subscribe to &project-ml; as well as to read and search an
online archive of the mailing list traffic.</para>
</answer>
</qandaentry>

</qandadiv>
