Вопрос или проблема
Я использую сервер Ubuntu 22.04 с рабочим столом lubuntu (LXQT). Я установил последнюю версию XRDP с помощью чрезвычайно полезного скрипта, предоставленного c-nergy.be. Однако время от времени XRDP перестает передавать буфер обмена. Когда это происходит, я просто выполняю команду systemctl restart xrdp, и это решает проблему с буфером обмена. Однако при перезапуске xrdp я теряю свою сеанс RDP со всеми окнами и приложениями, которые работают.
Я обнаружил, что когда я начинаю сеанс RDP на сервере, xrdp настраивает сервер Xorg:
/usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
Когда я корректно закрываю свой RDP-клиент, Xorg :10 остается активным, что означает, что когда я снова запускаю свой RDP-клиент, я подключаюсь к своей последней сессии с открытыми окнами и приложениями. Но если мне нужно перезапустить XRDP с помощью systemctl, XRDP создает Xorg :11, несмотря на то что Xorg :10 все еще активен. Когда я запускаю свой RDP-клиент после перезапуска, я подключаюсь к Xorg :11.
Я потратил последние несколько дней, исследуя интернет и пробуя различные предложения, связанные с sesman.ini, xrdp.ini и xorg.conf. Это всего лишь некоторые из предложений, которые я попробовал. Я даже спрашивал chatGPT!!
- определение дисплея по умолчанию в xrdp.ini
- разрешение нескольких подключений на сервер в xorg.conf
- определение дисплея в sesman.ini: XorgParams=-config xrdp/xorg.conf -display :10 -auth .Xauthority -noreset
К сожалению, я не на шаг ближе к тому, чтобы заставить XRDP повторно использовать первоначальный сервер Xorg, который он создал. Надеюсь, кто-то здесь решил эту проблему и сможет поделиться своим решением. Спасибо
Я, возможно, нашел решение.
Хотя XRDP перезапускается, создаваемый им Xserver остается активным. Используя VNC-сервер, который поддерживает X11, можно к нему подключиться. Для меня использование DISPLAY=:10 vncserver-x11 SecurityTypes=None
, предоставляемое RealVNC, запустит VNC-сервер, который связывается с портом 5900. Затем я могу использовать режим Xvnc в XRDP, чтобы переподключиться к нему и продолжить свою предыдущую работу.
Ответ или решение
Для подключения XRDP к уже существующему Xorg серверу после перезапуска XRDP можно использовать несколько методов. Давайте рассмотрим наиболее эффективные практики, которые помогут вам избежать разрыва сессии и продолжить работу с уже открытыми окнами и приложениями.
Введение
Вы используете Ubuntu 22.04 с Lubuntu (LXQT) и сталкиваетесь с проблемой, когда после перезапуска XRDP система создает новый Xorg сервер, теряя активную сессию. Это распространенная проблема для пользователей XRDP, так как при перезапуске службы часто создаются новые экземпляры Xorg. Однако, существуют решения, которые позволяют переиспользовать уже запущенные сессии.
Решение проблемы
-
Использование VNC сервера:
Как вы уже упомянули, использование VNC сервера может быть эффективным способом соединения с уже запущенной сессией Xorg. Вы можете использовать команду:DISPLAY=:10 vncserver-x11 SecurityTypes=None
Эта команда запускает VNC сервер, который будет работать с уже активным Xorg сервером :10. Затем вы сможете подключиться к этой сессии через XRDP, выбрав режим Xvnc.
-
Настройки конфигурационных файлов XRDP:
Чтобы избежать создания нового Xorg сервера, вы можете попробовать настроить файлы конфигурации XRDP. В частности, обратите внимание на следующие параметры:-
sesman.ini:
В этом файле вы можете установить параметрыXorgParams
, чтобы указать Xorg сервер, который следует использовать.XorgParams=-config xrdp/xorg.conf -display :10 -auth .Xauthority -noreset
-
xrdp.ini:
Убедитесь, что указаны соответствующие настройки для переиспользования существующего Xorg:[Xorg] ; Задайте используемую сессию param=Xorg
-
-
Запуск нескольких соединений:
В файлеxorg.conf
убедитесь, что включены параметры, позволяющие подключение нескольких клиентов. Убедитесь, что у вас установлена опцияallowed_users
на равные значения данным настройкам. -
Использование сценариев:
Вы можете создать сценарий, который будет автоматически подключаться к существующему Xorg серверу после перезапуска XRDP. В этом сценарии можно использовать команды для автоматической проверки активного Xorg и подключения к нему через VNC.
Заключение
Перезапуск XRDP не должен означать потерю активной сессии Xorg. Использование VNC вместе с корректными настройками конфигурации XRDP может существенно упростить восстановление работы. Изучение тех изменений, которые позволяют сохранить активные сессии, также является ключом к решению данной проблемы. Надеюсь, что предложенные методы помогут вам эффективно продолжать вашу работу без прерываний. Если возникнут дополнительные вопросы, пожалуйста, не стесняйтесь обращаться за помощью.