Мне нужна графическая сессия на сервере с Debian без монитора (headless) с нужным мне разрешением, например, 1920×1080. Давайте настраивать!

Варианты решения

Есть вариант физического устройства-заглушки (dummy plug), которое подключается к HDMI или VGA разъему видеокарты и имитирует подключенный монитор.

Есть вариант использования виртуального драйвера X-сервера (xserver-xorg-video-dummy), который позволяет запускать графическую сессию без физической видеокарты и монитора.

Еще есть вариант использования драйвера видеокарты NVIDIA со специальной конфигурацией. А поскольку у меня уже стоит драйвер видеокарты NVIDIA, то я остановлюсь на этом варианте решения.

Headless сервер на Debian с драйвером NVIDIA

Итак. Физического монитора на сервере с Debian нет. Но установлен драйвер видеокарты NVIDIA. При удаленном подключении к серверу нужна графическая сессия, например, с разрешением 1920×1080. И чтобы это реализовать, нам понадобится создать и настроить всего один конфигурационный файл /etc/X11/xorg.conf.

Автоматически создаем файл конфигурации X-сервера /etc/X11/xorg.conf, настроенный на использование графического драйвера NVIDIA:

nvidia-xconfig

Отредактируем полученный файл /etc/X11/xorg.conf. В Section «Monitor» добавляем:

HorizSync      28-80
VertRefresh    48-75

Это допустимые диапазоны горизонтальной частоты развертки монитора и частоты обновления кадров.

В Section «Device» добавляем:

Option         "AllowEmptyInitialConfiguration" "true"
Option         "ConnectedMonitor" "DFP-0"

Эти две опции для драйвера NVIDIA. Первая опция позволяет запускать X-сервер, даже если не подключен монитор. Вторая опция заставляет драйвер считать, что подключен определенный тип монитора. DFP-0 — это Digital Flat Panel, т.е. монитор с цифровым плоским экраном.

В Section «Screen» и SubSection «Display» добавляем:

Modes "1920x1080"

Это нужное нам разрешение экрана.

Чтобы изменения вступили в силу, нужно перезапустить дисплей-менеджер. Чтобы проверить, какой дисплей-менеджер используется:

cat /etc/X11/default-display-manager

/usr/sbin/lightdm — это LightDM, /usr/sbin/gdm3 — это GNOME Display Manager и т.д.

Я перезапускаю дисплей-менеджер с помощью команды:

systemctl restart lightdm

Все готово. Можно удаленно подключаться к серверу и проверять разрешение графической сессии.

X Server Display Configuration

Листинг файла /etc/X11/xorg.conf

Полный листинг файла /etc/X11/xorg.conf у меня получился следующий:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 570.124.06

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
    HorizSync      28-80
    VertRefresh    48-75
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
    Option         "AllowEmptyInitialConfiguration" "true"
    Option         "ConnectedMonitor" "DFP-0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080"
    EndSubSection
EndSection

Вывод

Мы создали графическую сессию с разрешением 1920×1080 на удаленном сервере с Debian без монитора и с видеокартой NVIDIA.

Обсуждаем тему в комментариях под статьей!

Комментарии

Добавить комментарий

Этот сайт защищен reCAPTCHA, и к нему применяются Google Политика конфиденциальности и Условия использования.

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.