Como diz a página de manual do startx,
startx - initialize an X session
The startx script is a front end to xinit that provides a somewhat nicer user interface for running a single session of the X Window System. It is often run with no arguments.
O comando X
executa o servidor X. startx
faz isso e também inicializa a sessão, ou seja, executa o que é especificado nos arquivos de configuração, geralmente o ambiente de janelas, xterm etc.
To determine the client to run, startx first looks for a file called .xinitrc in the user’s home directory. If that is not found, it uses the file xinitrc in the xinit library directory.
Para iluminar mais, o startx usa esses arquivos:
$(HOME)/.xinitrc Client to run. Typically a shell script which runs many programs in the
background.
$(HOME)/.xserverrc Server to run. The default is X.
/usr/lib/X11/xinit/xinitrc
Client to run if the user has no .xinitrc file.
/usr/lib/X11/xinit/xserverrc
Server to run if the user has no .xserverrc file.