Чёрный экран с мигающим курсором после обновления Ubuntu или установки драйвера NVIDIA почти всегда означает, что X Server (или современная замена — Wayland) не смог запустить графическую сессию. Первое действие в такой ситуации — переключиться в текстовую консоль комбинацией Ctrl+Alt+F3 и проверить лог /var/log/Xorg.0.log на строки с пометкой (EE) — именно там указана причина сбоя.
X Server — это фундамент графической подсистемы Linux: он отвечает за отрисовку окон, обработку ввода с клавиатуры и мыши и взаимодействие с видеодрайвером. В Ubuntu по умолчанию новые релизы используют Wayland, однако Xorg остаётся привычным вариантом для проприетарных драйверов, удалённого доступа и ряда профессиональных приложений. Разберём, как устроен X Server, как им управлять и что делать при типичных сбоях.
Что такое X Server и как он работает в Ubuntu
X Window System (X11) построена по клиент-серверной модели, что непривычно для новичков: сервер — это программа на вашем компьютере, управляющая экраном и устройствами ввода, а клиенты — приложения, которые просят его нарисовать окно. Благодаря такой архитектуре приложение может работать на удалённой машине, а отображаться локально — это основа технологии X11 Forwarding через SSH.
Начиная с определённых версий Ubuntu, дисплейным сервером по умолчанию стал Wayland, а Xorg предлагается как опция «Ubuntu on Xorg» на экране входа. Проверить, какой сервер активен в текущей сессии, можно одной командой:
echo $XDG_SESSION_TYPE
Ответ x11 означает работу X Server, ответ wayland — сеанс Wayland. Это различие критично при диагностике: многие инструменты вроде xrandr или xprop работают только в X11-сессии.
Проверка состояния и версии X Server
Прежде чем что-то менять, убедитесь, что Xorg вообще установлен и запущен. Вам нужно выполнить несколько простых проверок из терминала.
- 🔍
ps aux | grep Xorg— показывает, запущен ли процесс X Server - 📦
dpkg -l | grep xserver-xorg— список установленных пакетов X-сервера - 🖥️
X -version— версия Xorg (требует прав, если сервер активен) - 📄
grep EE /var/log/Xorg.0.log— ошибки последнего запуска
Если пакеты отсутствуют — например, после минимальной установки — X Server устанавливается командой:
sudo apt install xorg
Для полноценного рабочего окружения одного сервера недостаточно: нужны ещё дисплейный менеджер (GDM3, LightDM или SDDM) и окружение рабочего стола. Метапакет ubuntu-desktop подтягивает всё это разом.
Запуск, остановка и перезапуск X Server
В современной Ubuntu X Server стартует автоматически через дисплейный менеджер, поэтому управлять им напрямую обычно не требуется. Перезапуск графической сессии выполняется через службу:
sudo systemctl restart gdm
Если используется другой дисплейный менеджер, подставьте его имя: lightdm или sddm. Учтите, что команда завершит все графические приложения и несохранённые данные будут потеряны — это полный перезапуск сессии, а не мягкая перезагрузка.
☑️ Чек-лист диагностики X Server
Для запуска отдельной X-сессии вручную (например, на сервере без автологина) используется команда startx. Она читает файл ~/.xinitrc и запускает указанную там сессию. На десктопных системах с GDM этот способ обычно не нужен.
⚠️ Внимание: не останавливайте дисплейный менеджер (
systemctl stop gdm), находясь в графической сессии, — экран погаснет мгновенно, а все открытые программы завершатся без сохранения. Перед остановкой переключитесь в текстовую консоль черезCtrl+Alt+F3и авторизуйтесь там.
Переключение между Xorg и Wayland
На экране входа в систему (GDM) после выбора пользователя появляется значок шестерёнки в правом нижнем углу — через него выбирается тип сессии: Ubuntu (обычно Wayland) или Ubuntu on Xorg. Выбор запоминается и применяется при следующих входах.
Чтобы принудительно отключить Wayland на уровне системы, отредактируйте конфигурацию GDM:
sudo nano /etc/gdm3/custom.conf
Раскомментируйте или добавьте строку WaylandEnable=false, затем перезагрузите систему. После этого все сессии будут работать через Xorg.
| Критерий | Xorg (X11) | Wayland |
|---|---|---|
| Удалённые приложения | Нативный X11 Forwarding | Через сторонние решения |
| Проприетарные драйверы NVIDIA | Традиционно стабильнее | Поддержка зависит от версии драйвера |
| Масштабирование HiDPI | Ограниченное | Дробное масштабирование |
| Инструменты вроде xrandr | Работают | Не работают напрямую |
| Запись экрана старыми утилитами | Полная совместимость | Через PipeWire |
Типичные ошибки X Server и их решение
Самая частая жалоба — чёрный экран после логотипа загрузки. Возможные причины: конфликт видеодрайвера, переполненный системный раздел (X Server не может создать временные файлы), повреждённый конфигурационный файл или сбой дисплейного менеджера. Диагностику начинайте с текстовой консоли Ctrl+Alt+F3.
Проверьте свободное место командой df -h — если корневой раздел заполнен на 100%, освободите его (очистка кэша пакетов sudo apt clean — безопасный первый шаг). Затем изучите лог: строки (EE) в /var/log/Xorg.0.log указывают на конкретный сбойный модуль.
- 🎮 Ошибки NVIDIA / nvidia — переустановите драйвер через
sudo ubuntu-drivers autoinstallили переключитесь на свободный nouveau - 💾 No space left on device — чистите диск, сервер не стартует без свободного места
- ⚙️ Ошибки синтаксиса в
/etc/X11/xorg.conf— переместите файл и дайте серверу работать с автоконфигурацией - 🔁 Бесконечный возврат на экран логина — проверьте права на файл
~/.Xauthority, он должен принадлежать вашему пользователю
⚠️ Внимание: не создавайте и не редактируйте
/etc/X11/xorg.confбез явной необходимости. Современный Xorg работает в режиме автоматического определения оборудования, а устаревший или ошибочный конфиг — частая причина того, что графика вообще не стартует. Если файл появился после экспериментов, просто переименуйте его и перезапустите сессию.
X11 Forwarding: запуск графических приложений по SSH
Одна из уникальных возможностей X Server — отображение приложений с удалённой машины на локальном экране. Для этого на сервере в файле /etc/ssh/sshd_config должен быть включён параметр X11Forwarding yes, а подключение выполняется с флагом:
ssh -X user@server
После входа запустите любое графическое приложение — например, xeyes для проверки — и его окно появится на вашем локальном дисплее. Флаг -Y включает «доверенный» режим, который иногда требуется приложениям, отказывающимся работать через -X.
⚠️ Внимание: X11 Forwarding передаёт графический трафик через SSH, но сам протокол X11 исторически не считается защищённым. Не включайте форвардинг на серверах, к которым имеют доступ недоверенные пользователи, и ограничивайте SSH доступ по ключам.
Почему xeyes — классический тест X11
Эта маленькая утилита рисует глаза, следящие за курсором, и входит в пакет x11-apps. Если xeyes по SSH отображается, значит форвардинг, переменная DISPLAY и авторизация Xauthority настроены корректно.
Полезные инструменты диагностики X11
В сессии Xorg доступен целый набор утилит для тонкой настройки и поиска проблем. xrandr управляет разрешением и расположением мониторов, xinput показывает и настраивает устройства ввода, xev выводит все события клавиатуры и мыши — незаменим при отладке неработающих клавиш.
Для анализа производительности рендеринга пригодится glxinfo из пакета mesa-utils: команда glxinfo | grep renderer покажет, какой драйвер фактически используется для OpenGL. Если вместо аппаратного драйвера вы видите llvmpipe, значит работает программный рендеринг — система будет заметно «тормозить», и это прямой повод разбираться с видеодрайвером.
Часто задаваемые вопросы
Как узнать, запущен ли X Server в данный момент?
Выполните echo $XDG_SESSION_TYPE — ответ x11 подтверждает работу X-сессии. Дополнительно проверить процесс можно командой ps aux | grep Xorg.
Чёрный экран после установки драйвера NVIDIA — что делать?
Перейдите в консоль Ctrl+Alt+F3, войдите в систему и проверьте /var/log/Xorg.0.log. Часто помогает удаление конфликтующего драйвера (sudo apt purge nvidia-*) с последующей установкой рекомендованной версии через ubuntu-drivers. Точные шаги зависят от модели видеокарты и версии Ubuntu.
Можно ли использовать Xorg вместо Wayland постоянно?
Да. Либо выбирайте «Ubuntu on Xorg» на экране входа, либо отключите Wayland глобально через параметр WaylandEnable=false в /etc/gdm3/custom.conf и перезагрузитесь.
Почему xrandr не работает в моей сессии?
Утилита xrandr предназначена только для X11. Если echo $XDG_SESSION_TYPE возвращает wayland, управление мониторами выполняется через настройки системы или утилиты конкретного окружения рабочего стола.
Нужен ли отдельный X Server на сервере Ubuntu без монитора?
Нет, если вы не планируете запускать графические приложения. Для X11 Forwarding на сервере достаточно пакета xauth и включённого параметра X11Forwarding в конфигурации SSH — полноценный Xorg с драйверами не требуется.