Может ли сервер xrdp быть настроен для подключения к существующей сессии рабочего стола?

Вопрос или проблема

Я запускаю сервер xrdp с его стандартной конфигурацией Debian. После входа в систему он поддерживает виртуальную сессию, к которой я могу переподключиться. Но было бы намного удобнее, если бы я мог подключиться к существующей сессии :0 (если она существует и принадлежит тому же пользователю), чтобы мне не нужно было завершать и перезапускать свой браузер и другие приложения в виртуальной сессии. Возможно ли что-то подобное?

Это было бы похоже на то, как работает Windows: подключение с помощью RDP прикрепляется к существующей пользовательской сессии рабочего стола.

Ответ или решение

Настроить сервер xrdp для подключения к существующей сессии рабочего стола, чтобы не создавать каждый раз новую виртуальную сессию, действительно возможно. Однако это требует проведения ряда конфигурационных изменений и принятия некоторых ограничений. Рассмотрим, как это можно реализовать на примере операционной системы Debian.

Теория

Программное обеспечение xrdp по умолчанию создает новую виртуальную сессию для каждого удаленного подключения. Однако, с помощью дополнительных инструментов и настройки можно подключиться к существующей сессии рабочего стола пользователя, работающей на дисплее :0. Это подобно использованию удаленного рабочего стола в Windows, где пользователь может войти в свою текущую сессию.

Основная цель — перенаправить подключение xrdp к текущей графической сессии Xorg. Для этого существует несколько подходов, включающих манипуляции с x11vnc и корректировку конфигурационных файлов.

Пример реализации

Шаг 1: Установка x11vnc

Во-первых, вам необходимо установить x11vnc, который позволяет подключаться к существующей X сессии:

sudo apt-get update
sudo apt-get install x11vnc

Шаг 2: Настройка x11vnc

Затем необходимо настроить x11vnc. Этот инструмент сканирует дисплей :0 и позволяет подключаться к нему по VNC протоколу.

Для начала создайте пароль:

x11vnc -storepasswd

Пароль будет сохранен в файле ~/.vnc/passwd.

Далее, настройте запуск x11vnc:

x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared

Здесь:

  • -display :0 указывает на использование существующей сессии.
  • -forever позволяет сервису оставаться в режиме ожидания после отключения.
  • -auth guess автоматически определяет метод аутентификации.
  • -rfbauth ~/.vnc/passwd использует ранее созданный пароль для доступа.
  • -shared позволяет нескольким клиентам подключаться одновременно.

Предпочтительно настроить автоматический запуск x11vnc при старте системы. Это можно сделать через systemd или добавив скрипт в cron с параметром @reboot.

Шаг 3: Настройка xrdp для использования x11vnc

Следующий шаг — настроить xrdp для работы в качестве клиента VNC, чтобы перенаправлять запросы на работу с дисплеем через x11vnc.

Откройте файл /etc/xrdp/xrdp.ini и замените текущий секcия "xrdp1" следующим образом:

[xrdp1]
name=Existing session
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5900

Здесь:

  • lib=libvnc.so указывает xrdp работать с протоколом VNC.
  • ip=127.0.0.1 и port=5900 направляют соединение на локально запущенный x11vnc сервер.

Применение

После выполненных шагов, запуская RDP клиент, вам будет предложено выбрать сессию. При выборе "Existing session" вы подключитесь к существующему рабочему столу на дисплее :0. Таким образом, все ваши открытые приложения останутся неизменными, и необходимость в завершении процессов отпадает.

Заключение

Хотя такая настройка и позволяет достигнуть желаемого результата, следует учитывать, что использование x11vnc может внести некоторые ограничения в плане производительности и безопасности. VNC протокол не такой эффективный как оригинальный RDP в плане использования ресурсов. Тем не менее, для локальных или домашних сетей, где приоритетом является удобство, такой подход вполне оправдан.

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

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

Капча загружается...