Starting X without Xinit

Most people who don’t use a desktop environment use the startx command to initialize their X windowing system. Now, startx is a shell script that runs the C program xinit which basically runs xorg-server. Using xinit obviously has some nice perks. It makes some checks and runs your .xinitrc file. We don’t need any of that though. Here is my X launcher:

#!/bin/sh

export DISPLAY=${DISPLAY:-:0}
trap "$HOME/.xinitrc" USR1

(
    trap '' USR1

    exec X -keeptty :0 vt1
) &

wait

You need to keep in mind that your .xinitrc should be an executable.

This page in plain-text