xinit и startx
Минималистичный способ запустить X из текстовой консоли: один сервер, один скрипт и сеанс, живущий ровно столько, сколько работает скрипт.
xinit запускает X-сервер, а затем выполняет ~/.xinitrc как его клиента. Скрипт стартует всё, что нужно, — пару xterm, часы — и заканчивается оконным менеджером, желательно через exec. Когда скрипт завершается, xinit останавливает сервер. Поэтому последняя строка так важна: выход из оконного менеджера означает выход из сеанса, а если забыть запустить его на переднем плане, весь рабочий стол исчезнет через полсекунды после появления.
startx — это shell-обёртка над xinit, которая находит нужные файлы и настраивает авторизацию. В 1990-е это был стандартный путь в X на Linux, до того как графический вход стал нормой, и он дожил до наших дней среди тех, кто любит точно знать, что запускается.