Вопрос или проблема
Я хочу использовать Desktop Sharing для моего Raspberry Pi 4B с Ubuntu 22.04 LTS в качестве операционной системы. Однако оно работает только, когда подключено к экрану. Это логично, так как протокол называется Desktop Sharing. Однако я хочу использовать этот протокол без подключения к экрану.
Я не хочу использовать Remote Login.
Я думал попробовать заставить вывод работать при загрузке системы. Еще один вариант – это редактирование файла /etc/default/grub
и обновление следующей строки GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:1920x1080"
, но я не уверен и боюсь изменить это и сломать систему.
Ответ или решение
Настройка вывода HDMI на Raspberry Pi 4B под управлением Ubuntu 22.04 LTS в отсутствие подключенного дисплея — это задача, с которой сталкиваются многие пользователи, стремящиеся использовать возможности удаленного доступа без физического подключения монитора. В данной ситуации требуется обеспечить эмуляцию вывода видео, чтобы стандартные средства, такие как Desktop Sharing, могли работать корректно. Давайте рассмотрим, как можно решить эту проблему, используя теорию, примеры и приложение на практике.
Теория
Прежде всего, необходимо понять, почему требуется физическое подключение дисплея при удаленном доступе к Raspberry Pi. Дело в том, что типичные графические оболочки и средства удаленного доступа в Linux, такие как протокол VNC, зависят от доступности графического экрана для работы. В случае, если экран не определен, система не инициирует графическую среду, и доступ становится невозможен.
Решение этой проблемы заключается в "обмане" системы, заставляя её думать, что дисплей подключен. Для этого можно использовать два основных метода: внесение изменений в конфигурацию загрузчика GRUB и использование эмулятора дисплея.
Пример
-
Изменение конфигурации GRUB
Изменение параметров загрузки GRUB — это один из способов заставить систему запускать графическую среду без фактического дисплея. В файле
/etc/default/grub
управляется множество параметров, в том числе и те, которые касаются инициализации видеовыходов.Вот пример настройки, которую можно использовать:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:1920x1080-24@60D"
Здесь параметр
video=HDMI-A-1:1920x1080-24@60
задает разрешение для HDMI выхода, эмулируя подключенный дисплей с конкретным разрешением и частотой обновления. После изменения этого файла требуется обновить конфигурацию GRUB с помощью команды:sudo update-grub
-
Использование конфигурационного файла
/boot/config.txt
На Raspberry Pi также можно использовать конфигурационный файл
/boot/config.txt
для указания параметров HDMI выхода. Вставьте следующие строки, чтобы настроить принудительное использование HDMI, даже если кабель не подключен:hdmi_force_hotplug=1 hdmi_group=2 hdmi_mode=82
hdmi_force_hotplug=1
— это команда, указывающая системе, что должен быть подключен дисплей, даже если это не так.hdmi_group
иhdmi_mode
определяют параметры разрешения и частоту кадров. -
Использование "пустого" HDMI-адаптера
Это физическое устройство, известное как "глушитель" или "dummy plug", которое можно приобрести и вставить в HDMI-порт для эмуляции подключения монитора. Это аппаратное решение является наиболее простым, так как не требует изменений в программной конфигурации.
Применение
Теперь перейдем к пошаговой инструкции о том, как применять данные настройки:
-
Редактирование GRUB или
config.txt
Откройте терминал и введите:
sudo nano /etc/default/grub
или
sudo nano /boot/config.txt
Внесите соответствующие изменения, как описано выше.
-
Обновление конфигурации
После внесения изменений в GRUB обязательно выполните команду обновления:
sudo update-grub
-
Перезагрузка Raspberry Pi
Перезапустите систему для применения изменений:
sudo reboot
-
Проверка
После перезагрузки проверьте, доступен ли рабочий стол через выбранный вами метод удаленного доступа, например VNC.
Заключение
Использование Remote Desktop Access на Raspberry Pi без подключения дисплея — это важная возможность для многих сценариев использования. Приведенные выше методы позволят вам эмулировать присутствие дисплея, либо посредством программных настроек, либо с помощью аппаратного решения. Каждый метод имеет свои преимущества и ограничения, и выбор того или иного зависит от ваших конкретных требований и удобства.