Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 10, 2021

xfs (1)


xfs - X font server


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


xfs(1)                      General Commands Manual                     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  inetd(8),  as
       described  in  the  NOTES  section  below.   Automatic  starting can be
       enabled or disabled through  the  fsadmin(1)  or  inetadm(8)  commands.
       Users  may also wish to start private font servers for specific sets of

       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
              first   file   found    from    the    list:    /etc/X11/fs/con-

              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.

       See attributes(7) for descriptions of the following attributes:

       |Availability   | x11/xfs          |
       |Stability      | Volatile         |
       The  xfs service is managed by the service management facility, smf(7),
       under the service identifier:


       Administrative actions on this service, such as enabling, disabling, or
       requesting  restart,  can  be performed using svcadm(8). Responsibility
       for initiating and restarting this service is  delegated  to  inetd(8).
       Use  inetadm(8) to make configuration changes and to view configuration
       information for this service. The service's status can be queried using
       the svcs(1) command.

       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),  inetd(8),  fsadmin(1),   inetadm(8),
       smf(7),  syslogd(8),  syslog(3c),  The  X  Font  Service Protocol, Font
       Server Implementation Overview

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was   downloaded   from    https://www.x.org/releases/individ-

       Further information about this software can be found on the open source
       community website at https://www.x.org.

X Version 11                       xfs 1.1.4                            xfs(1)