Удаленный доступ для Linux по SSH не всегда позволяет решить все задачи. Например, запуск графических приложений под SSH не задействует графический ускоритель самого компьютера. В оболочку GNOME для ОС Linux был интегрирован модуль удаленного доступа, работающий по протоколу RDP (Remote Desktop Protocol) который используется для Windows систем. Протокол RDP позволяет переносить файлы, перенаправлять вывод звука, задействовать локальные печатающие устройства и т.д. Существует большое количество RDP клиентов как для Windows, так и для Linux. В публикации будет рассмотрена настройка удаленного доступа GNOME Remote Desktop (так же g-r-d) в Ubuntu 24.04 LTS (Noble Numbat), дистрибутив Armbian 24.8.1 Noble with Linux 6.6.44-current-rockchip64.
Оглавление
- Постановка задачи
- Начальная настройка и обновление ОС
- Настройка GNOME Remote Desktop
- Подключение к удаленному рабочему столу в Windows
- Тестирование функций удаленного доступа
- Подключение заглушки HDMI-адаптера для эмуляции работы монитора
- Литература
Постановка задачи
Выполнить настройку удаленного доступа GNOME Remote Desktop для пользователя anton к одноплатному компьютеру Orange Pi 4 LTS.
- Плата Orange Pi 4 LTS установлена версия Armbian 24.8.1 Noble Gnome MESA/VPU — Armbian_24.8.1_Orangepi4-lts_noble_current_6.6.44_gnome-kisak_desktop.img.xz, основана на Ubuntu 24.04 LTS (Noble Numbat), ядро Linux 6.6.44-current-rockchip64. uname: Linux orangepi4-lts 6.6.44-current-rockchip64 #1 SMP PREEMPT Sat Aug 3 06:54:42 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux. Graphics: Mali-T860 (Panfrost), OS Name: Armbian 24.8.1 noble, GNOME Version: 46, Windowing System: Wayland.
Начальная настройка и обновление ОС
Во время начального мастера по настройке Armbian зададим второго пользователя с именем anton . Затем выполним подключение к беспроводной сети или подключим кабель Ethernet. В новой версии образа подключение по Wi-Fi на 2.4 ГГц (чип CDW.20U5622-00 на плате) работает стабильно, но по прежнему подключение по 5 ГГц недоступно. Для лучшей связи и скорости рекомендуется воспользоваться USB Wi-Fi адаптером на 5 ГГц.
Отключение режима сна
В настойках GNOME по умолчанию включен режим засыпания, после которого невозможно вывести из сна одноплатный компьютер, такой как Orange Pi 4 LTS по причине отсутствия кнопки питания. Поэтому первым делом отключим полностью режим сна в файле конфигурации nosuspend.conf . Создадим каталог и конфигурационный файл:
sudo mkdir -p /etc/systemd/sleep.conf.d/ sudo mcedit /etc/systemd/sleep.conf.d/nosuspend.conf
В файл nosuspend.conf вставим следующий текст:
[Sleep] AllowSuspend=no AllowHibernation=no AllowSuspendThenHibernate=no AllowHybridSleep=no
Сохраним изменения <F2> , и выйдем из редактора <F10> .
Затем перезапустим ОС командой:
sudo reboot now
После настройки сетевого подключения выполним команды обновления ОС:
sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade
Перезапустим ОС.
И тут нас ожидает сюрприз, мы поломали систему. На экране появится надпись: «Oh no! Something has gone wrong».
Сообщение GNOME о поломке системы
Но все поправимо, просто обновление ломает зависимости пакетов. Для исправления необходимо зайти по SSH и выполнить команды:
sudo apt -f install sudo apt upgrade
Затем перезапустить ОС.
После перезагрузки, система штатно загрузится.
Настройка GNOME Remote Desktop
Для настройки GNOME Remote Desktop необходимо установить пакет gnome-remote-desktop , командой:
sudo apt-get -y install gnome-remote-desktop
Затем перезапустить ОС. Если не установить данный пакет, то в настройках удаленного доступа будет пустая страница без каких либо элементов.
Удаленный доступ GNOME Remote Desktop настраивается двумя способами:
- используя графическую консоль настройки ОС;
- в командной строке.
Как настроить в командной строке сказано в публикации
Удаленный рабочий стол в Ubuntu 22.04.
Включение GNOME Remote Desktop в Ubuntu 24.04
Управлять настройками удаленного рабочего стола можно с помощью консоли настройки ОС Ubuntu Settings или инструмента grdctl в командной строке.
Приложение Settings операционной оболочки GNOME для настройки параметров ОС
1) Включение автоматического входа
Если не включен автоматический вход, то его необходимо включить. Для этого необходимо запустить приложение Settings, выбрать раздел System, затем Users.
Приложение Settings, раздел System
Для пользователя с именем anton должна быть включена опция Automatic Login.
Приложение Settings, раздел System=>Users, настройки пользователя Anton
2) Отключение блокировки экрана
Во избежания проблем с входом рекомендуется отключить блокировку экрана, для этого необходимо перейти в раздел Privacy & Security, затем Screen Lock.
Приложение Settings, раздел Privacy & Security
Установить следующие настройки:
- Blank Screen Delay => Never
- Automatic Screen Lock => Off
Приложение Settings, раздел Privacy & Security=>Screen Lock
3) Включение удаленного доступа
Перейти в раздел System, затем Remote Desktop.
Приложение Settings, раздел System
В открывшемся окне доступно два режима удаленного доступа Desktop Sharing и Remote Login.
- Remote Login подразумевает вход как это работает в классической Windows, при подключение предоставляется список пользователей, который можно использовать для удаленного доступа;
- Desktop Sharing предоставляет доступ к текущей графической сессии, которая задействует видеовыход по умолчанию, в большинстве случаев это HDMI. Соответственно для использования этого режим обязательно должно быть подключено устройство видеовывода, например HDMI монитор или HDMI-адаптер заглушка имитации работы монитора.
Вариант Remote Login с выбором различных пользователей не работает, при попытки подключения появляется пустой черный экран и далее сессия через 5 секунд закрывается по истечению времени. Поэтому настроим только вариант Desktop Sharing.
На странице Desktop Sharing включим параметр Desktop Sharing и Remote Control для возможности управления экраном. Порт для подключения по умолчанию 3389. Имя пользователя anton . Пароль подключения по удаленному доступу установим такой же как и для пользователя с именем anton .
Настройки на этом закончены, теперь перейдем к Windows.
Подключение к удаленному рабочему столу в Windows
Для подключения к удаленному рабочему столу под Windows необходимо запустить программу, открыть меню Пуск — Все программы — Стандартные — Подключение к удаленному рабочему столу, или набрать в строке поиска mstsc.exe.
Или выбрать один из сторонних клиентов 5 лучших менеджеров RDP подключений к удаленному рабочему столу для Window.
В строке адреса указать IP-адрес одноплатного компьютера и нажать на кнопку Подключить. В появившемся окне указать имя пользователя и пароль для подключения.
Окно подключения приложения Подключение к удаленному рабочему столу
Подключение прошло успешно.
Удаленный рабочий стол GNOME в Ubuntu 24.04
Для отключения сеанса достаточно закрыть окно. Завершение сеанса Log Out как и блокировку Lock не выполняйте потому что повторно не отработает подключение к сеансу, придется перезапускать компьютер.
В сеансе RDP выключать и перезагружать компьютер следует из командной строки, а не используя графический интерфейс GNOME.
Тестирование функций удаленного доступа
Протокол RDP позволяет задействовать локальные ресурсы компьютера. Доступны следующие возможности:
- Перенаправление вывода звука;
- Перенаправление записи звука;
- Общий буфер обмена;
- Диски;
- Принтеры;
- Другие устройства.
Аудио
По умолчанию пакет gnome-remote-desktop собран с флагом -Dfdk_aac=false , который должен включать поддержку необходимых кодеков для передачи звука. Но из-за неясных проблем с уязвимостью пакета для Ubuntu, собирается без поддержки звука. Подробнее об этом в RemoteDesktop и [MIR] fdk-aac-free.
Буфер обмена
Общий буфер обмена в двунаправленном режиме работает отлично. Позволяет переносить текст, изображения и файлы.
Диски и Принтеры
На данный момент не работает.
Подключение заглушки HDMI-адаптера для эмуляции работы монитора
Для подключения к компьютеру в режиме удаленного доступа Desktop Sharing необходимо наличие устройства вывода видеосигнала, в противном случае не будет создан контекст вывода изображения.
Необходим монитор или можно воспользоваться недорогим HDMI-адаптером для эмуляции работы монитора. HDMI-адаптер представляет собой элементарную схему эмуляции работы монитора с поддержкой разрешения до 4K, питание осуществляется от HDMI порта.
Адаптер Виртуального дисплея VGA, HDMI-совместимый 1.4, стоимость ~1$. Продавец на Aliexpress — Ton-Top Store лот
Адаптер Виртуального дисплея VGA, 1 шт., HDMI-совместимый 1,4 DDC EDID фиктивный штекер, Безголовый Ghost эмулятор отображения, пластина блокировки видеокарты.
HDMI-адаптер для эмуляции работы монитора
Доступные разрешения в GNOME Ubuntu 24.04
Linux предоставляет концепцию framebuffer, виртуального устройства, с которого можно читать и записывать для отображения графики. Так например, при подключение HDMI-монитора в списке устройств появится устройство Framebuffer 0 по пути /dev/fb0 . Если к компьютеру подключить два монитора , то будет два устройства /dev/fb0 и /dev/fb1 , где /dev/fb0 — это первый HDMI-монитор, /dev/fb1 — второй HDMI-монитор.
Для просмотра доступных виртуальных устройств Framebuffer, необходимо выполнить команду:
$ ls -l /dev/fb*
Результат выполнения:
root@orangepi4-lts:~# ls -l /dev/fb* crw-rw---- 1 root video 29, 0 Sep 3 16:40 /dev/fb0
Как видим создано устройство видеовывода /dev/fb0 , значит функция Desktop Sharing доступна для использования.
Если при вызове команды будет ответ: «No such file or directory».
Результат выполнения:
root@orangepi4-lts:~# ls -l /dev/fb* ls: cannot access '/dev/fb*': No such file or directory
То устройство видеовывода не подключено и использовать Desktop Sharing невозможно. При попытки удаленного подключения появится окно авторизации, затем после авторизации сеанс удаленного доступа отключится.