Вопрос или проблема
Я уже два дня борюсь с тем, чтобы Ubuntu Server 24 LTS заработал на Raspberry Pi 5 (8Gb). Ситуация такая: я хотел бы создать VPN-сервер с OpenVPN (что обеспечивает полную совместимость с рассматриваемой системой). Чтобы это работало, требуется серверная версия LTS Ubuntu (https://openvpn.net/as-docs/raspberry-pi.html). Я думал о маленькой независимой станции с сенсорным дисплеем исключительно для этой цели и поэтому приобрел кожух для дисплея и официальный дисплей. Как только всё было собрано, я неправильно выбрал версию операционной системы, установив на SD-карту настольную версию (с помощью RPI imager – официального инструмента), я заметил это при запуске, но это не большая проблема, дисплей включается, сенсор работает. Я установил серверную версию на SD-карту всё тем же инструментом, и дисплей не запускается, я подключаю hdmi монитор и думаю, что будет достаточно установить графический интерфейс и некоторые настройки здесь и там, а вместо этого начинается мучение. sudo apt update && sudo apt upgrade
и с командой apt install ubuntu-desktop я загружаю все пакеты и устанавливаю, при перезагрузке на мониторе всё останавливается на экране с мигающим курсором в верхнем левом углу……. Ctrl + Alt + F2 и я возвращаюсь к консоли, пробую команду startx и xinit, сдаюсь, не удается подключиться к x, ошибка сервера.
Я снова подготовил SD и попробовал с xubuntu-desktop, и получил ту же историю. Я снова подготовил SD, переустановил полный рабочий стол и попытался изменить файл конфигурации, как нашел в единственном посте в интернете, который пытается решить что-то похожее:
Вставьте “display_auto_detect=1” и закомментируйте строку “dtoverlay=vc4-kms-v3d” в /boot/firmware/config.txt, чтобы включить сенсорный экран на ubuntu “display_auto_detect=1” у меня уже было в конфигурации, и я просто добавил #, чтобы “закомментировать” dtoverlay=vc4-kms-v3d, которая тоже уже присутствует. Результат — ничего не сделано.
Рабочий стол не запускается на HDMI, и сенсорный дисплей не включается. Руководство, использованное для подключения к плате: https://www.raspberrypi.com/documentation/accessories/display.html
Я попытался снова установить настольную версию, и сенсорный дисплей снова заработал (кажется, его нужно как-то перекалибровать), и я воспользовался случаем, чтобы сравнить два конфигурационных файла (настольный с отображением, которое включается, и серверный). Я вставил их сюда, и есть только одно отличие.
конфигурация настольной версии
разница между двумя конфигурационными файлами, похоже, не имеет к этому никакого отношения, это просто должен быть включен отладочный порт. это то, что происходит, когда я ввожу команду startx: https://ibb.co/5hY9YS8P
после ошибки я открыл x log файл:
как вы думаете, в чём дело?
Ответ или решение
Конечно, давайте углубимся в вашу проблему с использованием Raspberry Pi 5 и Ubuntu Server 24.04 LTS для создания VPN-сервера с OpenVPN и подключения с сенсорным дисплеем.
Теория
Raspberry Pi часто используется для построения небольших серверных конфигураций благодаря своей низкой стоимости и поддержке различных операционных систем на базе Linux. Ваша задача – развернуть сервер Ubuntu, совместимый с OpenVPN, на Raspberry Pi 5 с подключенным сенсорным дисплеем, которое вам поможет отслеживать конфигурацию и работу сервера без внешних мониторов. Однако проблема заключается в том, что серверная версия Ubuntu не поддерживает графический интерфейс по умолчанию, что вызывает проблемы с отображением на официальном сенсорном дисплее Raspberry Pi.
Пример
Как вы отметили, ошибка возникает после установки графического окружения поверх серверной верcии Ubuntu; при этом дисплей остается черным, а запуск графической оболочки приводит к ошибке подключения к X-серверу. Это стандартная ситуация для серверных ОС, которым по умолчанию не требуется графический интерфейс. Проблема с конфигурацией /boot/firmware/config.txt
также понятна, поскольку драйверы сенсорного экрана настраиваются иначе в серверной и десктопной версиях.
Для успешного подключения сенсорного дисплея для вывода графического интерфейса необходимо учитывать следующее:
- Серверные версии Ubuntu не предустановлены с X-сервером и графическими драйверами, которые требуются для работы инструментов ввода/вывода.
- Санкционировать правильные драйверы для сенсорных дисплеев и LCD экранов в серверных конфигурациях, требует ручной инсталляции и конфигурации.
- Проблема может также заключаться в том, что серверная версия содержит минимальные версии конфигурационных файлов. Это подтверждает разница в конфигурации между серверной и десктопной версиями, которую вы отметили.
Реализация
Давайте перейдем к возможным решениям:
-
Установка недостающих драйверов и пакетов:
- Убедитесь, что все необходимые пакеты для работы X-сервера и драйверов дисплея установлены:
sudo apt install xserver-xorg-input-all xinit
- Для сенсорного экрана возможно потребуется установка дополнительных дроверов:
sudo apt install xserver-xorg-input-evdev
- Убедитесь, что все необходимые пакеты для работы X-сервера и драйверов дисплея установлены:
-
Конфигурация X-сервера:
- Создайте конфигурационные файлы, если они отсутствуют, и укажите необходимые параметры дисплея и ввода. Для ручной настройки X-сервера:
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
- Добавьте параметры для дисплея и устройства ввода.
- Создайте конфигурационные файлы, если они отсутствуют, и укажите необходимые параметры дисплея и ввода. Для ручной настройки X-сервера:
-
Решение проблем с конфигурацией
config.txt
:- Откройте файл конфигурации:
sudo nano /boot/firmware/config.txt
- Убедитесь, что вы использовали правильные шины и драйверы. Если закомментированный параметр
dtoverlay=vc4-kms-v3d
не дал результата, попробуйте другие доступные опции оверлеев.
- Откройте файл конфигурации:
-
Использование другой версии системы:
- Если ни одно из вышеуказанных решений не подходит, попробуйте использовать
Raspberry Pi OS
, которая может предлагать лучшие драйверы для дисплея и сенсорного экрана из коробки.
- Если ни одно из вышеуказанных решений не подходит, попробуйте использовать
-
Поиск готовых образов:
- Исследуйте возможность использования готовых образов распределений с предустановленными GUI и поддержкой сенсорных экранов на Raspberry Pi. Интернет-сообщество может предложить кастомные дистрибутивы, уже оптимизированные для такого типа использования.
-
Логи и диагностика:
- Просмотрите логи X-сервера, пытаясь выявить специфичные ошибки:
cat /var/log/Xorg.0.log
- Используйте информацию из логов для более целенаправленного поиска решения.
- Просмотрите логи X-сервера, пытаясь выявить специфичные ошибки:
Заключение
На основе вышеизложенной информации, подход к решению проблем с подключением сенсорного дисплея к серверной версии Ubuntu на Raspberry Pi требует последовательной отладки конфигурации программного и аппаратного обеспечения. Следует следить за обновлениями системы и патчами, которые могут решить проблемы совместимости. В случае дальнейших трудностей, рекомендуется обратиться к сообществу пользователей Raspberry Pi и Ubuntu, которые могут предоставить специфические для вашей ситуации решения и советы.