It is possible to run X clients on a system without any graphical support. For example, one could have an application (the X client) running on an ARM system, displaying its output on an amd64's graphical display (the X server). Since X is a well-defined, cross-platform protocol, it is even possible to have an X application running on, for example, a Linux machine use an OpenBSD machine for its display. The client and server can also be running on the same machine, and for most of this section, that will be the assumption.
The details of manual X configuration vary considerably from platform to platform.
If xenodm(1) wasn't enabled during installation, it can be done so later like any other system daemon:
# rcctl enable xenodm # rcctl start xenodmOn some platforms, you will need to disable the console getty(8) to use it. This is not needed on amd64, i386 or macppc.
After the user logs in from
xenodm(1), the
/etc/X11/xenodm/Xsession
script checks whether there is a
$HOME/.xsession
script.
In the simplest case, the user's ~/.xsession
script will contain
only one line specifying the preferred window manager to launch.
It can contain any number of other commands, however:
export ENV=$HOME/.kshrc xsetroot -solid grey & xterm -bg black -fg white +sb & cwmNote that the window manager cwm(1) is not being run in the background. This means that X will stay running until it exits.