NAME

xinit - X Window System initializer

SYNOPSIS

xinit [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

DESCRIPTION

The _x_i_n_i_t program is used to start the X Window System server and a first client program on systems that cannot start X directly from _/_e_t_c_/_i_n_i_t or in environments that use multiple window systems. When this first client exits, _x_i_n_i_t will kill the X server and then terminate.

If no specific client program is given on the command line, _x_i_n_i_t will look for a file in the user's home directory called _._x_i_n_i_t_r_c to run as a shell script to start up client programs. If no such file exists, _x_i_n_i_t will use the following as a default:

xterm -geometry +1+1 -n login -display :0

If no specific server program is given on the command line, _x_i_n_i_t will look for a file in the user's home directory called _._x_s_e_r_v_e_r_r_c to run as a shell script to start up the server. If no such file exists, _x_i_n_i_t will use the following as a default:

X :0

Note that this assumes that there is a program named _X in the current search path. However, servers are usually named _X_d_i_s_p_l_a_y_t_y_p_e where _d_i_s_p_l_a_y_t_y_p_e is the type of graphics display which is driven by this server. The site administrator should, therefore, make a link to the appropriate type of server on the machine, or create a shell script that runs _x_i_n_i_t with the appropriate server.

Note, when using a _._x_s_e_r_v_e_r_r_c script be sure to ``exec'' the real X server. Failing to do this can make the X server slow to start and exit. For example:

exec Xdisplaytype

An important point is that programs which are run by _._x_i_n_i_t_r_c should be run in the background if they do not exit right away, so that they don't prevent other programs from starting up. However, the last long-lived program started (usually a window manager or terminal emulator) should be left in the foreground so that the script won't exit (which indicates that the user is done and that _x_i_n_i_t should exit).

An alternate client and/or server may be specified on the command line. The desired client program and its arguments should be given as the first command line arguments to _x_i_n_i_t. To specify a particular server command line, append a double dash (--) to the _x_i_n_i_t command line (after any client and arguments) followed by the desired server command.

Both the client program name and the server program name must begin with a slash (/) or a period (.). Otherwise, they are treated as an arguments to be appended to their respective startup lines. This makes it possible to add arguments (for example, foreground and background colors) without having to retype the whole command line.

If an explicit server name is not given and the first argument following the double dash (--) is a colon followed by a digit, _x_i_n_i_t will use that number as the display number instead of zero. All remaining arguments are appended to the server command line.

EXAMPLES

Below are several examples of how command line arguments in _x_i_n_i_t are used.
xinit
This will start up a server named _X and run the user's _._x_i_n_i_t_r_c, if it exists, or else start an _x_t_e_r_m.
xinit -- /usr/local/bin/Xqdss :1
This is how one could start a specific type of server on an alternate display.
xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
This will start up a server named _X, and will append the given arguments to the default _x_t_e_r_m command. It will ignore _._x_i_n_i_t_r_c.
xinit -e widgets -- ./Xsun -l -c
This will use the command _._X_s_u_n _-_l _-_c to start the server and will append the arguments _-_e _w_i_d_g_e_t_s to the default _x_t_e_r_m command.
xinit /usr/ucb/rsh fasthost cpupig -display ws:1 -- :1 -a 2 -t 5
This will start a server named _X on display 1 with the arguments _-_a _2 _-_t _5. It will then start a remote shell on the machine ffaasstthhoosstt in which it will run the command _c_p_u_p_i_g, telling it to display back on the local workstation.

Below is a sample _._x_i_n_i_t_r_c that starts a clock, several terminals, and leaves the window manager running as the ``last'' application. Assuming that the window manager has been configured properly, the user then chooses the ``Exit'' menu item to shut down X.


        xrdb -load $HOME/.Xresources
        xsetroot -solid gray &
        xclock -g 50x50-0+0 -bw 0 &
        xload -g 50x50-50+0 -bw 0 &
        xterm -g 80x24+0+0 &
        xterm -g 80x24+0-0 &
        twm
        


Sites that want to create a common startup environment could simply create a default _._x_i_n_i_t_r_c that references a site-wide startup file:


        #!/bin/sh
        . /usr/local/lib/site.xinitrc
        


Another approach is to write a script that starts _x_i_n_i_t with a specific shell script. Such scripts are usually named _x_1_1, _x_s_t_a_r_t, or _s_t_a_r_t_x and are a convenient way to provide a simple interface for novice users:


        #!/bin/sh
        xinit /usr/local/lib/site.xinitrc -- /usr/X11R7/bin/X -br
        


ENVIRONMENT VARIABLES

DISPLAY
This variable gets set to the name of the display to which clients should connect.
XINITRC
This variable specifies an init file containing shell commands to start up the initial windows. By default, _._x_i_n_i_t_r_c in the home directory will be used.

FILES

.xinitrc
default client script
xterm
client to run if _._x_i_n_i_t_r_c does not exist
.xserverrc
default server script
X
server to run if _._x_s_e_r_v_e_r_r_c does not exist

SEE ALSO

X(7) startx(1) Xserver(1) xterm(1)

AUTHOR

Bob Scheifler, MIT Laboratory for Computer Science