LinuxReviws.org --get your your Linux knowledge
> Linux Reviews > Manual Pages (man) >

xfs

X font server


  1. xfs.1.man
  2. xfs.5.man


1. xfs.1.man

Manpage of xfs

xfs

Section: User Commands (1)
Updated: xfs 1.0.8
Index Return to Main Contents
 

NAME

xfs - X font server  

SYNOPSIS

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

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 administrator, and started via init(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 lqFONT SERVER NAMESrq section of X(7).  

OPTIONS

-config configuration_file
specifies the configuration file xfs will use. If this parameter is not specified, xfs will read its configuration from the default file, /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 security 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 oqno-listen = tcpcq 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.
-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 controlling terminal). This option only has an effect if xfs is built to daemonize by default, which is not the stock configuration.
-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 lqConfiguration File Formatrq 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.
 

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 catalogue, 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 lqOPTIONSrq section above). The configuration language is a list of keyword and value pairs. Each keyword is followed by an equals sign (oq=cq) and then the desired value.

Recognized keywords include:

alternate-servers (list of strings)
lists alternate servers for this font server. See the lqFONT SERVER NAMESrq 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 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 substituted into requests for scaled fonts which do not specify a resolution. A resolution is a comma-separated pair of horizontal and vertical resolutions in pixels per inch. Multiple resolutions are separated by commas.
deferglyphs (string)
sets the mode for delayed fetching and caching of glyphs. string should be one of oqnonecq, meaning glyphs deferment is disabled, oqallcq, meaning it is enabled for all fonts, and oq16cq, 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 connections can be disabled with oqno-listen = tcpcq.
port (cardinal)
indicates the TCP port on which the server will listen for connections.
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 catalogue:<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 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 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/X11R6/lib/X11/fonts/TTF,
            /usr/X11R6/lib/X11/fonts/misc,
            /usr/X11R6/lib/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 system log via the syslog C library function by default. However, these messages can be sent to an alternate location via the error-file and use-syslog configuration variables; see lqConfiguration File Formatrq, 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-reading the configuration file.
 

BUGS

Multiple catalogues should be supported.  

FUTURE DIRECTIONS

Significant further development of xfs is unlikely. One of the original motivations behind it was the single-threaded nature of the X server --- a user's X session could seem to oqfreeze upcq 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.  

AUTHORS

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

SEE ALSO

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
INPUT FILES
Configuration File Format
CATALOGUE DIR
Example Configuration File
OUTPUT FILES
ASYNCHRONOUS EVENTS
BUGS
FUTURE DIRECTIONS
AUTHORS
SEE ALSO

This document was created by man2html using the manual pages.
Time: 17:33:04 GMT, October 23, 2013

2. xfs.5.man

Manpage of xfs

xfs

Section: File Formats (5)
Index Return to Main Contents
 

NAME

xfs - layout of the XFS filesystem  

DESCRIPTION

An XFS filesystem can reside on a regular disk partition or on a logical volume. An XFS filesystem has up to three parts: a data section, a log section, and a realtime section. Using the default mkfs.xfs(8) options, the realtime section is absent, and the log area is contained within the data section. The log section can be either separate from the data section or contained within it. The filesystem sections are divided into a certain number of blocks, whose size is specified at mkfs.xfs(8) time with the -b option.

The data section contains all the filesystem metadata (inodes, directories, indirect blocks) as well as the user file data for ordinary (non-realtime) files and the log area if the log is internal to the data section. The data section is divided into a number of allocation groups. The number and size of the allocation groups are chosen by mkfs.xfs(8) so that there is normally a small number of equal-sized groups. The number of allocation groups controls the amount of parallelism available in file and block allocation. It should be increased from the default if there is sufficient memory and a lot of allocation activity. The number of allocation groups should not be set very high, since this can cause large amounts of CPU time to be used by the filesystem, especially when the filesystem is nearly full. More allocation groups are added (of the original size) when xfs_growfs(8) is run.

The log section (or area, if it is internal to the data section) is used to store changes to filesystem metadata while the filesystem is running until those changes are made to the data section. It is written sequentially during normal operation and read only during mount. When mounting a filesystem after a crash, the log is read to complete operations that were in progress at the time of the crash.

The realtime section is used to store the data of realtime files. These files had an attribute bit set through xfsctl(3) after file creation, before any data was written to the file. The realtime section is divided into a number of extents of fixed size (specified at mkfs.xfs(8) time). Each file in the realtime section has an extent size that is a multiple of the realtime section extent size.

Each allocation group contains several data structures. The first sector contains the superblock. For allocation groups after the first, the superblock is just a copy and is not updated after mkfs.xfs(8). The next three sectors contain information for block and inode allocation within the allocation group. Also contained within each allocation group are data structures to locate free blocks and inodes; these are located through the header structures.

Each XFS filesystem is labeled with a Universal Unique Identifier (UUID). The UUID is stored in every allocation group header and is used to help distinguish one XFS filesystem from another, therefore you should avoid using dd(1) or other block-by-block copying programs to copy XFS filesystems. If two XFS filesystems on the same machine have the same UUID, xfsdump(8) may become confused when doing incremental and resumed dumps. xfsdump(8) and xfsrestore(8) are recommended for making copies of XFS filesystems.  

OPERATIONS

Some functionality specific to the XFS filesystem is accessible to applications through the xfsctl(3) and by-handle (see open_by_handle(3)) interfaces.  

MOUNT OPTIONS

Refer to the mount(8) manual entry for descriptions of the individual XFS mount options.  

SEE ALSO

xfsctl(3), mount(8), mkfs.xfs(8), xfs_info(8), xfs_admin(8), xfsdump(8), xfsrestore(8).


 

Index

NAME
DESCRIPTION
OPERATIONS
MOUNT OPTIONS
SEE ALSO

This document was created by man2html using the manual pages.
Time: 17:33:05 GMT, October 23, 2013

Meet new people