Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
xfs(1)			    General Commands Manual			xfs(1)

NAME
       xfs - X font server

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

DESCRIPTION
       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).

OPTIONS
       -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, /usr/local/etc/X11/fs/config.

       -daemon
	      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
	      exit;

       -droppriv
	      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 us-
	      ing 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.

       -nodaemon
	      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-
	      tion.

       -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.

       -version
	      instructs	xfs to print the program version and exit.

INPUT FILES
       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  it-
	      self   when   the	  number  of  connected	 clients  reaches  the
	      client-limit.

       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  er-
	      rors  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-
	      nections.

       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).

CATALOGUE DIR
       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  at-
       tribute	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

   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,
		    /usr/share/X11/fonts/misc,
		    /usr/share/X11/fonts/100dpi/

	# 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

OUTPUT FILES
       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.

ASYNCHRONOUS EVENTS
       xfs handles the following signals specially:

       SIGTERM
	      causes the font server to	exit cleanly.

       SIGUSR1
	      causes xfs to re-read its	configuration file.

       SIGUSR2
	      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.

BUGS
       Multiple	catalogues should be supported.

FUTURE DIRECTIONS
       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  li-
       brary) is the norm in contemporary software.

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

SEE ALSO
       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.2.0				xfs(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xfs&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help