By Chris Tyler
Book Price: $39.99 USD
£24.99 GBP
PDF Price: $31.99
Cover | Table of Contents | Colophon
|
Element
|
Old X
|
New X
|
|---|---|---|
|
Fonts
|
Bitmapped fonts and scalable fonts without anti-aliasing, rendered by the core font capabilities in the server.
|
Scalable fonts with full antialiasing, managed on the client side by fontconfig, and displayed by the Xft library using the RENDER extension.
|
|
Desktop environments
|
No standard desktop environments (though HP Vue morphed into CDE and made a late appearance). Consequently, window managers played a much larger role than they do today. Panel bars were rare— icons for minimized windows sat directly on the desktop (or, sometimes, in a separate icon box window). Clients were usually started through root-window menus or by typing commands in an xterm.
|
Two widely used desktop environments (KDE and Gnome) and a lightweight desktop (Xfce) with well-integrated root desktop, menu, and panel-bar operation. |
|
Toolkit
|
Original programming language
|
License
|
Open source
|
Desktops built with this toolkit
|
|---|---|---|---|---|
|
GTK+
|
C
|
GPL
|
Yes
|
Gnome, Xfce
|
|
Qt
|
C++
|
GPL
|
Yes
|
KDE
|
|
Motif/OpenMotif
|
C
|
Open Group Master Software License/Open Group Public License
|
No
|
CDE
|
host:display[.screen]
unix, indicating a local host connection (Section 1.14)
$ xclock -display displayspec
DISPLAY environment variable. If you are using a shell that follows the Bourne syntax(sh, bash, ksh, zsh, or ash), you can set and export the DISPLAY variable like this:
$ export DISPLAY=displayspec
% setenv DISPLAY displayspec
DISPLAY variable has been set, any new clients started will connect to the specified display by default. (Command-line options take precedence over the DISPLAY variable.)unix to force a domain socket to be used.unix should force the use of Unix domain sockets; as a last resort, the TCP/IP local loopback mechanism can be used by specifying a hostname of localhost (however, this incurs the extra overhead of the TCP/IP stack—twice).xdpyinfo (Section 6.2):lbxproxy to reduce bandwidth requirements and latency for remote clients (Section 13.11).
$ X
:0, you will get an error message, because the network port will already be in use. In that case, you can give the new X server a different display number:
$ X :1
$ X :1 vt10
$ X :1 -config configFile $ X :1 -layout layoutName
$ X :1 -terminate & sleep 2 ; DISPLAY=:1 xterm
-terminate option will cause the X server to exit when the last client disconnects, and the sleep 2 option ensures that the X server has time to start before the xterm client attempts to connect to it—not usually required, but it's good practice to ensure that your commands will work reliably. Note that this command line does not start a window manager or a desktop environment, so you will not be able to move or resize the xterm window, start additional programs (except by typing in the terminal), or set the keyboard focus.
$ ps -e | grep '[gkx]dm'
ps permits these arguments only, use ps ax in place of ps -e.|
Runlevel
|
Description
|
|---|---|
|
0
|
Halt
|
|
s,S
|
Single-user mode: no per-runlevel scripts executed; /etc/inittab not required (emergency use only)
|
|
1
|
Single-user maintenance mode
|
|
2
|
Multiuser, nonnetworked mode (the default runlevel for Debian-based systems, including Ubuntu, but rarely used on other systems)
|
|
3
|
Multiuser, networked mode
|
|
4
|
Unused
|
|
5
|
Multiuser, networked mode with local graphical login
|
|
6
|
Reboot
|
|
7,8,9,a,b,c
|
Unused
|
s or S is a special case: it's used internally by init and normally shouldn't be entered directly by the user, who can enter runlevel 1 for single-user mode instead. But it has a special quality: it's the only runlevel that does not require /etc/inittab and is therefore useful in emergency recovery situations.# Run xdm in runlevel 5 x:5:respawn:/etc/X11/ prefdm -nodaemon
# killall xdm
# killall gdm-binary
# gdm-restart
# gdm-safe-restart
ttyv8 "/usr/sbin/xdm -nodaemon" xterm on secure
on or off to enable or disable the display manager.
# $Xorg: Xserv.ws.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $
#
# Xservers file, workstation prototype
#
# This file should contain an entry to start the server on the
# local display; if you have more than one display (not screen),
# you can add entries to the list (one per line). If you also
# have some X terminals connected that do not support XDMCP,
# you can add them here as well. Each X terminal line should
# look like:
# XTerminalName:0 foreign
#
:0 local /usr/bin/X
:1 local /usr/bin/X :1 vt8
:2 local /usr/bin/X :2 vt9
-config argument to the command:
:3 local /usr/bin/X -config configgile :3 vt10
gdmflexiserver, which communicates with a running gdm process and instructs it to start a new X server