xfs(1)                                                                  xfs(1)

       xfs - X font server

       xfs [ -config configuration_file ] [ -daemon ] [ -droppriv ] [ -inetd ]
       [ -ls listen_socket ] [ -nodaemon ] [ -port tcp_port ] [ -user username
       ] [ -version ]

       xfs  is the X Window System font server.  It supplies fonts to X Window
       System display servers.  The server is usually run by a system adminis-
       trator,  and  started  via init(8) or inetd(8).  Users may also wish to
       start private font servers for specific sets of fonts.

       To connect to a font server, see the documentation for your  X  server;
       it  likely  supports  the  syntax documented in the "FONT SERVER NAMES"
       section of X(7).

       -config configuration_file
              specifies the configuration file xfs will use.  If this  parame-
              ter  is  not specified, xfs will read its configuration from the
              default file, /etc/X11/fs/config.

              instructs xfs to fork and go into the  background  automatically
              at  startup.  If this option is not specified, xfs will run as a
              regular process (unless it was built to daemonize  by  default).
              When  running  as a daemon, xfs will attempt to create a file in
              which it stores its process ID, and will delete that  file  upon

              instructs  xfs  to  attempt to run as user and group xfs (unless
              the -user option is used).  This has been implemented for  secu-
              rity  reasons,  as xfs may have undiscovered buffer overflows or
              other paths for possible exploit, both local and  remote.   When
              using  this  option,  you  may also wish to specify `no-listen =
              tcp' in the config file, which ensures that xfs will not to  use
              a TCP port at all.  By default, xfs runs with the user and group
              IDs of the user who invoked it.

       -inetd informs xfs that it is being started by inetd, and that  a  lis-
              tening  socket  on the appropriate port is being passed as stan-
              dard input.   Assumes that inetd is configured to  "wait"  mode,
              and  will  thus  allow xfs to handle listening for and accepting
              further connections on  this  port.    This  allows  xfs  to  be
              started  on  demand  when  the first font client connects.  When
              using this option, the -daemon and -port flags are ignored.

       -ls listen_socket
              specifies a file descriptor which is already set up to  be  used
              as  the  listen socket.  This option is only intended to be used
              by the font server itself when  automatically  spawning  another
              copy of itself to handle additional connections.

              instructs  xfs  not  to daemonize (fork and detach from its con-
              trolling terminal).  This option only has an effect  if  xfs  is
              built to daemonize by default, which is not the stock configura-

       -port tcp_port
              specifies the TCP port number on which the  server  will  listen
              for  connections.  The default port number is 7100.  This option
              is ignored if xfs is configured to not listen to TCP  transports
              at all (see "Configuration File Format" below).

       -user username
              instructs  xfs  to  run as the user username.  See -droppriv for
              why this may be desired.  By default, xfs runs with the user and
              group IDs of the user who invoked it.

              instructs xfs to print the program version and exit.

       xfs  reads  and  serves any font file format recognized by the X server
       itself.  It locates font files through the  specification  of  a  cata-
       logue, which is declared in xfs's configuration file.

   Configuration File Format
       xfs reads its configuration from a text file (see the -config option in
       the "OPTIONS" section above).  The configuration language is a list  of
       keyword  and  value  pairs.  Each keyword is followed by an equals sign
       (`=') and then the desired value.

       Recognized keywords include:

       alternate-servers (list of strings)
              lists alternate servers for this font  server.   See  the  "FONT
              SERVER NAMES" section of X(7) for the syntax of the string.

       catalogue (list of strings)
              declares  as  ordered list of font path element names from which
              fonts will be served.  The current implementation only  supports
              a  single  catalogue  ("all")  containing  all  of the specified
              fonts. A special directory with symlinks to font  paths  can  be
              specified  using  a catalogue:<dir> entry. See the CATALOGUE DIR
              section below for details.

       client-limit (cardinal)
              determines the number of clients this font server  will  support
              before  refusing service.  This is useful for tuning the load on
              each individual font server.

       clone-self (boolean)
              indicates whether this  font  server  should  attempt  to  clone
              itself   when  the  number  of  connected  clients  reaches  the

       default-point-size (cardinal)
              The default pointsize (in decipoints)  for  font  requests  that
              don't specify a point size.  The default is 120.

       default-resolutions (list of resolutions)
              indicates  the resolutions the server supports by default.  This
              information may be used as a hint for pre-rendering, and substi-
              tuted into requests for scaled fonts which do not specify a res-
              olution.  A resolution is a comma-separated pair  of  horizontal
              and  vertical  resolutions in pixels per inch.  Multiple resolu-
              tions are separated by commas.

       deferglyphs (string)
              sets the mode  for  delayed  fetching  and  caching  of  glyphs.
              string should be one of `none', meaning glyphs deferment is dis-
              abled, `all', meaning it is enabled for  all  fonts,  and  `16',
              meaning it is enabled only for 16-bit fonts.

       error-file (string)
              indicates  the  filename  of  the  error file.  All warnings and
              errors will be logged here, unless use-syslog is set to  a  true
              value (see below).

       no-listen (trans-type)
              disables the specified transport type.  For example, TCP/IP con-
              nections can be disabled with `no-listen = tcp'.

       port (cardinal)
              indicates the TCP port on which the server will listen for  con-

       use-syslog (boolean)
              determines whether errors and diagnostics should be reported via
              syslog(3) (on supported systems) instead of being written to the
              error-file (see above).

       You  can  specify  a  special  kind  of  font  path  in  the form cata-
       logue:<dir>.  The directory specified 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 excep-
       tion 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 the attribute unscaled etc. This is  functionally  equivalent
       to setting the following font path:


   Example Configuration File
        # sample font server configuration file

        # allow a max of 10 clients to connect to this font server.
        client-limit = 10

        # When a font server reaches the above limit, start up a new one.
        clone-self = on

        # Identify alternate font servers for clients to use.
        alternate-servers = hansen:7101,hansen:7102

        # Look for fonts in the following directories.  The first is a set of
        # TrueType outlines, the second is a set of misc bitmaps (such as terminal
        # and cursor fonts), and the last is a set of 100dpi bitmaps.
        catalogue = /usr/share/X11/fonts/TTF,

        # in 12 points, decipoints
        default-point-size = 120

        # 100 x 100 and 75 x 75
        default-resolutions = 100,100,75,75

        # Specify our log filename.
        error-file = /var/log/xfs.log

        # Direct diagnostics to our own log file instead of using syslog.
        use-syslog = off

       When  operating  in  daemon mode, xfs sends diagnostic messages (errors
       and warnings) to the log file specified by the error-file configuration
       variable  by default.  However, these messages can be sent to an alter-
       nate location via the error-file  and  use-syslog  configuration  vari-
       ables; see "Configuration File Format", above.

       xfs handles the following signals specially:

              causes the font server to exit cleanly.

              causes xfs to re-read its configuration file.

              causes xfs to flush any cached data it may have.

       SIGHUP causes xfs to reset, closing all active connections and re-read-
              ing the configuration file.

       Multiple catalogues should be supported.

       Significant further development of xfs is unlikely.  One of the  origi-
       nal  motivations  behind  it  was  the  single-threaded nature of the X
       server -- a user's X session could seem to  `freeze  up'  while  the  X
       server  took  a  moment  to  rasterize a font.  This problem with the X
       server, which remains single-threaded in all popular implementations to
       this  day,  has been mitigated on two fronts: machines have gotten much
       faster, and  client-side  font  rendering  (particularly  via  the  Xft
       library) is the norm in contemporary software.

       Dave Lemke, Network Computing Devices, Inc
       Keith Packard, Massachusetts Institute of Technology

       X(7),  xfsinfo(1),  fslsfonts(1),  init(8),  inetd(8), syslog(3), The X
       Font Service Protocol, Font Server Implementation Overview

                                 X Version 11                           xfs(1)

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2019 Modified for NetBSD by Kimmo Suominen