# man > Xserver(1)

[_XSERVER_(1)](https://www.chedong.com/phpMan.php/man/XSERVER/1/markdown)                             General Commands Manual                            [_XSERVER_(1)](https://www.chedong.com/phpMan.php/man/XSERVER/1/markdown)

## NAME
       Xserver - X Window System display server

## SYNOPSIS
       **X **[option ...]

## DESCRIPTION
       _X_  is  the generic name for the X Window System display server.  It is frequently a link or a
       copy of the appropriate server binary for driving the most frequently used server on a  given
       machine.

## STARTING THE SERVER
       The  X  server is usually started from the X Display Manager program [_xdm_(1)](https://www.chedong.com/phpMan.php/man/xdm/1/markdown) or a similar dis‐
       play manager program.  This utility is run from the system boot files and takes care of keep‐
       ing the server running, prompting for usernames and passwords, and starting up the user  ses‐
       sions.

       Installations  that  run more than one window system may need to use the [_xinit_(1)](https://www.chedong.com/phpMan.php/man/xinit/1/markdown) utility in‐
       stead of a display manager.  However, _xinit_ is to be considered a tool for  building  startup
       scripts  and is not intended for use by end users.  Site administrators are **strongly **urged to
       use a display manager, or build other interfaces for novice users.

       The X server may also be started directly by the user, though this method is usually reserved
       for testing and is not recommended for normal operation.  On some platforms,  the  user  must
       have  special permission to start the X server, often because access to certain devices (e.g.
       _/dev/mouse_) is restricted.  Where applicable, the X server notifies systemd when it is  ready
       to process requests.

       When  the  X  server starts up, it typically takes over the display.  If you are running on a
       workstation whose console is the display, you may not be able to log into the  console  while
       the server is running.

## OPTIONS
       Many X servers have device-specific command line options.  See the manual pages for the indi‐
       vidual  servers  for  more details; a list of server-specific manual pages is provided in the
       SEE ALSO section below.

       All of the X servers accept the command line options described below.   Some  X  servers  may
       have alternative ways of providing the parameters described here, but the values provided via
       the command line options should override values specified via other mechanisms.

       **:_**displaynumber_
               The  X  server runs as the given _displaynumber_, which by default is 0.  If multiple X
               servers are to run simultaneously on a host, each must have a unique display  number.
               See  the  DISPLAY NAMES section of the [_X_(7)](https://www.chedong.com/phpMan.php/man/X/7/markdown) manual page to learn how to specify which
               display number clients should try to use.

### -a _
               sets pointer acceleration (i.e. the ratio of how much is reported  to  how  much  the
               user actually moved the pointer).

### -ac     
               mits any host to modify the access control list.  Use with extreme caution.  This op‐
               tion exists primarily for running test suites remotely.

### -audit _
               sets the audit trail level.  The default level is 1, meaning only  connection  rejec‐
               tions are reported.  Level 2 additionally reports all successful connections and dis‐
               connects.   Level 4 enables messages from the SECURITY extension, if present, includ‐
               ing generation and revocation of authorizations and violations of the  security  pol‐
               icy.  Level 0 turns off the audit trail.  Audit lines are sent as standard error out‐
               put.

### -auth _
               specifies a file which contains a collection of authorization records used to authen‐
               ticate access.  See also the [_xdm_(1)](https://www.chedong.com/phpMan.php/man/xdm/1/markdown) and [_Xsecurity_(7)](https://www.chedong.com/phpMan.php/man/Xsecurity/7/markdown) manual pages.

### -background none
               Asks  the driver not to clear the background on startup, if the driver supports that.
               May be useful for smooth transition with eg. fbdev driver.  For security reasons this
               is not the default as the screen contents might show a previous user session.

### -br     
               tern.   This is the default unless -retro or -wr is specified.

### -bs     

### +byteswappedclients
               Allow  connections  from  clients  with an endianess different to that of the server.
               This is the default unless **-byteswappedclients **is specified.

### -byteswappedclients
               Prohibit connections from clients with an endianess different to that of the server.

### -c      

       **c _**volume_
               sets key-click volume (allowable range: 0-100).

### -cc _
               sets the visual class for the root window of color screens.  The class numbers are as
               specified in the X protocol.  Not obeyed by all servers.

### -core   

### -displayfd _
               specifies a file descriptor in the launching process.  Rather than specify a  display
               number,  the  X server will attempt to listen on successively higher display numbers,
               and upon finding a free one, will write the display number back on this file descrip‐
               tor as a newline-terminated string.  The -pn option is ignored when using -displayfd.

### -deferglyphs _
               specifies the types of fonts for which the server  should  attempt  to  use  deferred
               glyph  loading.   _whichfonts_  can  be all (all fonts), none (no fonts), or 16 (16 bit
               fonts only).

### -dpi _
               sets the resolution for all screens, in dots per inch.  To be used  when  the  server
               cannot determine the screen size(s) from the hardware.

       **dpms    **enables DPMS (display power management services), where supported.  The default state
               is platform and configuration specific.

### -dpms   
               configuration specific.

### -extension_
               disables  named extension.   If an unknown extension name is specified, a list of ac‐
               cepted extension names is printed.

       **+extension_**extensionName_
               enables named extension.   If an unknown extension name is specified, a list  of  ac‐
               cepted extension names is printed.

### -f _
               sets beep (bell) volume (allowable range: 0-100).

### -fakescreenfps ps
               sets fake presenter screen default fps (allowable range: 1-600).

### -fp _
               sets  the  search path for fonts.  This path is a comma separated list of directories
               which the X server searches for font databases.  See the FONTS section of this manual
               page for more information and the default list.

### -help   

### -I      

### -iglx   
               lacks support for many modern OpenGL features and extensions; it's slower than direct
               contexts;  and  it opens a large attack surface for protocol parsing errors.  This is
               the default unless +iglx is specified.

       **+iglx   **Allow creating indirect GLX contexts.

### -maxbigreqsize _
               sets the maximum big request to _size_ MB.

### -nocursor
               disable the display of the pointer cursor.

### -nolisten _
               disables a transport type.  For example, TCP/IP connections can be disabled with **-no‐**
               **listen tcp**.  This option may be issued multiple times to disable listening to differ‐
               ent transport types.  Supported transport types are platform dependent, but  commonly
               include:
               tcp     TCP over IPv4 or IPv6
               inet    TCP over IPv4 only
               inet6   TCP over IPv6 only
               unix    UNIX Domain Sockets
               local   Platform preferred local connection method

### -listen _
               enables  a transport type.  For example, TCP/IP connections can be enabled with **-lis‐**
               **ten tcp**.  This option may be issued multiple times to enable listening  to  different
               transport types.

### -noreset
               prevents  a server reset when the last client connection is closed.  This overrides a
               previous **-terminate **command line option.

### -p _
               sets screen-saver pattern cycle time in minutes.

### -pn     
               sockets (connection points for clients), but establishes at least one.   This  option
               is set by default.

### -nopn   
               (connection points for clients).

### -r      

       **r       **turns on auto-repeat.

### -retro  
               start with a black root window, and to suppress display of the cursor until the first
               time an application calls XDefineCursor(). For kdrive servers, this implies -zap.

### -s _
               sets screen-saver timeout time in minutes.

### -su     

### -seat _
               seat  to  run on. Takes a string identifying a seat in a platform specific syntax. On
               platforms which support this feature this may be used to limit the server  to  expose
               only a specific subset of devices connected to the system.

### -t _
               sets pointer acceleration threshold in pixels (i.e. after how many pixels pointer ac‐
               celeration should take effect).

### -terminate _
               causes  the  server to terminate at server reset, instead of continuing to run.  This
               overrides a previous **-noreset **command line option.  If a delay in seconds  is  speci‐
               fied,  the server waits for at least the delay. At the end of this grace period if no
               client is connected, the server terminates immediately.

### -tst    

       **tty_**xx_   ignored, for servers started the ancient way (from init).

       **v       **sets video-off screen-saver preference.

### -v      

### -wr     
               tern.

### -x _
               loads the specified extension at init.  This is a no-op for most implementations.

### [+-]xinerama
               enables(+)  or disables(-) the XINERAMA extension.  The default state is platform and
               configuration specific.

## SERVER DEPENDENT OPTIONS
       Some X servers accept the following options:

### -ld _
               sets the data space limit of the server to the  specified  number  of  kilobytes.   A
               value  of  zero  makes  the  data size as large as possible.  The default value of -1
               leaves the data space limit unchanged.

### -lf _
               sets the number-of-open-files limit of the server to the specified number.   A  value
               of  zero  makes  the  limit as large as possible.  The default value of -1 leaves the
               limit unchanged.

### -ls _
               sets the stack space limit of the server to the specified  number  of  kilobytes.   A
               value  of  zero  makes  the stack size as large as possible.  The default value of -1
               leaves the stack space limit unchanged.

### -maxclients
               **64**|**128**|**256**|**512 **Set the maximum number of clients allowed to connect to the X  server.
               Acceptable values are 64, 128, 256 or 512.

### -render default
               render extension.

               _default_ selects the default policy defined for the display depth of the X server.

               _mono_    don't use any color cell.

               _gray_    use a gray map of 13 color cells for the X render extension.

               _color_   use a color cube of at most 4*4*4 colors (that is 64 color cells).

### -dumbSched
               disables smart scheduling on platforms that support the smart scheduler.

### -schedInterval _
               sets the smart scheduler's scheduling interval to _interval_ milliseconds.

## XDMCP OPTIONS
       X servers that support XDMCP have the following options.  See the _X_ _Display_  _Manager_  _Control_
       _Protocol_ specification for more information.

### -query _
               enables XDMCP and sends Query packets to the specified _hostname_.

### -broadcast
               enable  XDMCP  and  broadcasts  BroadcastQuery packets to the network.  The first re‐
               sponding display manager will be chosen for the session.

### -multicast [_
               Enable XDMCP and multicast BroadcastQuery packets to the   network.   The  first  re‐
               sponding  display manager is chosen for the session.  If an address is specified, the
               multicast is sent to that address.  If no address is specified, the multicast is sent
               to the default XDMCP IPv6 multicast group.  If a hop count is specified, it  is  used
               as the maximum hop count for the multicast.  If no hop count is specified, the multi‐
               cast  is set to a maximum of 1 hop, to prevent the multicast from being routed beyond
               the local network.

### -indirect _
               enables XDMCP and send IndirectQuery packets to the specified _hostname_.

### -port _
               uses the specified _port-number_ for XDMCP packets, instead of the default.   This  op‐
               tion  must  be  specified before any -query, -broadcast, -multicast, or -indirect op‐
               tions.

### -from _
               specifies the local address to connect from (useful if the connecting host has multi‐
               ple network interfaces).  The _local-address_ may be expressed in any  form  acceptable
               to the host platform's [_gethostbyname_(3)](https://www.chedong.com/phpMan.php/man/gethostbyname/3/markdown) implementation.

### -once   

### -class _
               XDMCP  has  an  additional display qualifier used in resource lookup for display-spe‐
               cific options.  This option sets that value, by default it is "MIT-unspecified"  (not
               a very useful value).

### -cookie _
               When testing XDM-AUTHENTICATION-1, a private key is shared between the server and the
               manager.   This  option sets the value of that private data (not that it is very pri‐
               vate, being on the command line!).

### -displayID _
               Yet another XDMCP specific value, this one allows the  display  manager  to  identify
               each display so that it can locate the shared key.

## XKEYBOARD OPTIONS
       X  servers  that support the XKEYBOARD (a.k.a. "XKB") extension accept the following options.
       All layout files specified on the command line must be located in the XKB base directory or a
       subdirectory, and specified as the relative path from the XKB base  directory.   The  default
       XKB base directory is _/usr/lib/X11/xkb_.

       **[+-]accessx **[ _timeout_ [ _timeout_mask_ [ _feedback_ [ _options_mask_ ] ] ] ]
               enables(+) or disables(-) AccessX key sequences.

### -xkbdir _
               base  directory for keyboard layout files.  This option is not available for setuid X
               servers (i.e., when the X server's real and effective uids are different).

### -ardelay _
               sets the autorepeat delay (length of time in milliseconds that  a  key  must  be  de‐
               pressed before autorepeat starts).

### -arinterval _
               sets  the  autorepeat interval (length of time in milliseconds that should elapse be‐
               tween autorepeat-generated keystrokes).

### -xkbmap _
               loads keyboard description in _filename_ on server startup.

## NETWORK CONNECTIONS
       The X server supports client connections via a platform-dependent  subset  of  the  following
       transport  types:  TCP/IP,  Unix  Domain sockets, and several varieties of SVR4 local connec‐
       tions.  See the DISPLAY NAMES section of the [_X_(7)](https://www.chedong.com/phpMan.php/man/X/7/markdown) manual page to learn how to  specify  which
       transport type clients should try to use.

## GRANTING ACCESS
       The X server implements a platform-dependent subset of the following authorization protocols:
       MIT-MAGIC-COOKIE-1,  XDM-AUTHORIZATION-1, XDM-AUTHORIZATION-2, SUN-DES-1, and MIT-KERBEROS-5.
       See the [_Xsecurity_(7)](https://www.chedong.com/phpMan.php/man/Xsecurity/7/markdown) manual page for information on the operation of these protocols.

       Authorization data required by the above protocols is passed to the server in a private  file
       named  with the **-auth **command line option.  Each time the server is about to accept the first
       connection after a reset (or when the server is starting), it reads this file.  If this  file
       contains any authorization records, the local host is not automatically allowed access to the
       server, and only clients which send one of the authorization records contained in the file in
       the  connection  setup information will be allowed access.  See the _Xau_ manual page for a de‐
       scription of the binary format of this file.  See [_xauth_(1)](https://www.chedong.com/phpMan.php/man/xauth/1/markdown) for maintenance of this file,  and
       distribution of its contents to remote hosts.

       The X server also uses a host-based access control list for deciding whether or not to accept
       connections from clients on a particular machine.  If no other authorization mechanism is be‐
       ing  used, this list initially consists of the host on which the server is running as well as
       any machines listed in the file _/etc/X_**n_**.hosts_, where **n **is the display number of  the  server.
       Each line of the file should contain either an Internet hostname (e.g. expo.lcs.mit.edu) or a
       complete  name  in  the  format  _family_:_name_ as described in the [_xhost_(1)](https://www.chedong.com/phpMan.php/man/xhost/1/markdown) manual page.  There
       should be no leading or trailing spaces on any lines.  For example:

               joesworkstation
               corporate.company.com
               inet:bigcpu
               local:

       Users can add or remove hosts from this list and enable or disable access control  using  the
       _xhost_ command from the same machine as the server.

       If  the  X FireWall Proxy (_xfwp_) is being used without a sitepolicy, host-based authorization
       must be turned on for clients to be able to connect to the X server via the _xfwp_.  If _xfwp_ is
       run without a configuration file and thus no sitepolicy is defined, if _xfwp_  is  using  an  X
       server  where xhost + has been run to turn off host-based authorization checks, when a client
       tries to connect to this X server via _xfwp_, the X  server  will  deny  the  connection.   See
       [_xfwp_(1)](https://www.chedong.com/phpMan.php/man/xfwp/1/markdown) for more information about this proxy.

       The  X  protocol  intrinsically  does  not have any notion of window operation permissions or
       place any restrictions on what a client can do; if a program can connect to a display, it has
       full run of the screen.  X servers that support the SECURITY extension  fare  better  because
       clients  can  be  designated  untrusted  via  the  authorization they use to connect; see the
       [_xauth_(1)](https://www.chedong.com/phpMan.php/man/xauth/1/markdown) manual page for details.  Restrictions are imposed on untrusted clients that curtail
       the mischief they can do.  See the SECURITY extension specification for a  complete  list  of
       these restrictions.

       Sites that have better authentication and authorization systems might wish to make use of the
       hooks in the libraries and the server to provide additional security models.

## SIGNALS
       The X server attaches special meaning to the following signals:

       _SIGHUP_  This  signal causes the server to close all existing connections, free all resources,
               and restore all defaults.  It is sent by the display manager whenever the main user's
               main application (usually an _xterm_ or window manager) exits to force  the  server  to
               clean up and prepare for the next user.

       _SIGTERM_ This signal causes the server to exit cleanly.

       _SIGUSR1_ This  signal  is  used  quite  differently from either of the above.  When the server
               starts, it checks to see if it has inherited SIGUSR1 as SIG_IGN instead of the  usual
               SIG_DFL.  In this case, the server sends a SIGUSR1 to its parent process after it has
               set  up the various connection schemes.  _Xdm_ uses this feature to recognize when con‐
               necting to the server is possible.

## FONTS
       The X server can obtain fonts from directories and/or from font servers.  The list of  direc‐
       tories  and  font  servers  the X server uses when trying to open a font is controlled by the
       _font_ _path_.

       The    default    font    path    is    /usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyril‐
       lic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:un‐
       scaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-
       ins .

       A  special kind of directory can be specified using the **catalogue**: prefix. Directories speci‐
       fied this way can contain symlinks pointing to the real font directories. See the  FONTPATH.D
       section for details.

       The font path can be set with the **-fp **option or by [_xset_(1)](https://www.chedong.com/phpMan.php/man/xset/1/markdown) after the server has started.

**FONTPATH.D**
       You can specify a special kind of font path in the form **catalogue:<dir>**.  The directory spec‐
       ified  after  the catalogue: prefix will be scanned for symlinks and each symlink destination
       will be added as a local fontfile FPE.

       The symlink can be suffixed by attributes such as '**unscaled**', which will be passed through to
       the underlying fontfile FPE. The only exception is  the  newly  introduced  '**pri**'  attribute,
       which will be used for ordering the font paths specified by the symlinks.

       An example configuration:

           75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
           ghostscript:pri=60 -> /usr/share/fonts/default/ghostscript
           misc:unscaled:pri=10 -> /usr/share/X11/fonts/misc
           type1:pri=40 -> /usr/share/X11/fonts/Type1
           type1:pri=50 -> /usr/share/fonts/default/Type1

       This  will add /usr/share/X11/fonts/misc as the first FPE with the attribute 'unscaled', sec‐
       ond FPE will be /usr/share/X11/fonts/75dpi, also with the attribute 'unscaled' etc.  This  is
       functionally equivalent to setting the following font path:

           /usr/share/X11/fonts/misc:unscaled,
           /usr/share/X11/fonts/75dpi:unscaled,
           /usr/share/X11/fonts/Type1,
           /usr/share/fonts/default/Type1,
           /usr/share/fonts/default/ghostscript


## FILES
       _/etc/X_**n_**.hosts_                 Initial access control list for display number **n**

       _/usr/share/fonts/X11/misc_,_/usr/share/fonts/X11/75dpi_,_/usr/share/fonts/X11/100dpi_
                                     Bitmap font directories

       _/usr/share/fonts/X11/TTF_,_/usr/share/fonts/X11/Type1_
                                     Outline font directories

       _/tmp/.X11-unix/X_**n             **Unix domain socket for display number **n**

       _/usr/adm/X_**n_**msgs_               Error log file for display number **n **if run from [_init_(8)](https://www.chedong.com/phpMan.php/man/init/8/markdown)

       _/usr/lib/X11/xdm/xdm-errors_   Default error log file if the server is run from [_xdm_(1)](https://www.chedong.com/phpMan.php/man/xdm/1/markdown)

## SEE ALSO
       General information: [_X_(7)](https://www.chedong.com/phpMan.php/man/X/7/markdown)

       Protocols:  _X_  _Window_ _System_ _Protocol,_ _The_ _X_ _Font_ _Service_ _Protocol,_ _X_ _Display_ _Manager_ _Control_
       _Protocol_

       Fonts: [_bdftopcf_(1)](https://www.chedong.com/phpMan.php/man/bdftopcf/1/markdown), [_mkfontdir_(1)](https://www.chedong.com/phpMan.php/man/mkfontdir/1/markdown), [_mkfontscale_(1)](https://www.chedong.com/phpMan.php/man/mkfontscale/1/markdown), [_xfs_(1)](https://www.chedong.com/phpMan.php/man/xfs/1/markdown), [_xlsfonts_(1)](https://www.chedong.com/phpMan.php/man/xlsfonts/1/markdown), [_xfontsel_(1)](https://www.chedong.com/phpMan.php/man/xfontsel/1/markdown), [_xfd_(1)](https://www.chedong.com/phpMan.php/man/xfd/1/markdown), _X_
       _Logical_ _Font_ _Description_ _Conventions_

       Keyboards: [_xkeyboard-config_(7)](https://www.chedong.com/phpMan.php/man/xkeyboard-config/7/markdown)

       Security: [_Xsecurity_(7)](https://www.chedong.com/phpMan.php/man/Xsecurity/7/markdown), [_xauth_(1)](https://www.chedong.com/phpMan.php/man/xauth/1/markdown), [_Xau_(1)](https://www.chedong.com/phpMan.php/man/Xau/1/markdown), [_xdm_(1)](https://www.chedong.com/phpMan.php/man/xdm/1/markdown), [_xhost_(1)](https://www.chedong.com/phpMan.php/man/xhost/1/markdown), [_xfwp_(1)](https://www.chedong.com/phpMan.php/man/xfwp/1/markdown), _Security_ _Extension_ _Spec‐_
       _ification_

       Starting the server: [_startx_(1)](https://www.chedong.com/phpMan.php/man/startx/1/markdown), [_xdm_(1)](https://www.chedong.com/phpMan.php/man/xdm/1/markdown), [_xinit_(1)](https://www.chedong.com/phpMan.php/man/xinit/1/markdown)

       Controlling the server once started: [_xset_(1)](https://www.chedong.com/phpMan.php/man/xset/1/markdown), [_xsetroot_(1)](https://www.chedong.com/phpMan.php/man/xsetroot/1/markdown), [_xhost_(1)](https://www.chedong.com/phpMan.php/man/xhost/1/markdown), [_xinput_(1)](https://www.chedong.com/phpMan.php/man/xinput/1/markdown), [_xrandr_(1)](https://www.chedong.com/phpMan.php/man/xrandr/1/markdown)

       Server-specific man pages: [_Xorg_(1)](https://www.chedong.com/phpMan.php/man/Xorg/1/markdown), [_Xephyr_(1)](https://www.chedong.com/phpMan.php/man/Xephyr/1/markdown), [_Xnest_(1)](https://www.chedong.com/phpMan.php/man/Xnest/1/markdown), [_Xvfb_(1)](https://www.chedong.com/phpMan.php/man/Xvfb/1/markdown), [_Xquartz_(1)](https://www.chedong.com/phpMan.php/man/Xquartz/1/markdown), [_XWin_(1)](https://www.chedong.com/phpMan.php/man/XWin/1/markdown).

       Server internal documentation: _Definition_ _of_ _the_ _Porting_ _Layer_ _for_ _the_ _X_ _v11_ _Sample_ _Server_

## AUTHORS
       The sample server was originally written by Susan Angebranndt, Raymond Drewry,  Philip  Karl‐
       ton, and Todd Newman, from Digital Equipment Corporation, with support from a large cast.  It
       has since been extensively rewritten by Keith Packard and Bob Scheifler, from MIT.  Dave Wig‐
       gins took over post-R5 and made substantial improvements.

X Version 11                             xorg-server 21.1.11                              [_XSERVER_(1)](https://www.chedong.com/phpMan.php/man/XSERVER/1/markdown)
