X не требует пользовательского интерфейса - это обрабатывают отдельные клиентские программы.
X не говорит, как должен выглядеть пользовательский интерфейс - этим занимаются разные клиентские программы.