Вопрос или проблема
Я установил Xfce и Xrdp на своем Ubuntu Server 20.04, следуя этим шагам
$ sudo apt install xrdp
$ sudo apt install xserver-xorg-core
$ sudo apt install xserver-xorg-input-all
$ sudo apt install xorgxrdp
$ sudo adduser xrdp ssl-cert
$ sudo systemctl start xrdp
$ systemctl is-active xrdp
$ sudo systemctl enable xrdp
$ sudo reboot
После перезагрузки все казалось в порядке, и мне удалось войти на сервер без каких-либо проблем, но после закрытия RDP-окна ситуация немного изменилась. Прежде всего, мой сервер довольно мощный, но перезапуск xrdp
занимает около 20 секунд! Когда я вхожу на сервер, это занимает более 15 секунд, и буфер обмена RDP больше не работает. Когда я перезагружаю сервер, все работает нормально только при первом входе на сервер, а затем все испорчено. Также, когда я перезапускаю xrdp
, я не могу войти на сервер, так как окно исчезает сразу после нажатия кнопки login
Вещи, которые я пробовал до сих пор и которые не сработали
- Закрытие rdpclip.exe и повторное его открытие
- Добавление Дисков в разделе Локальные устройства RDP
cat /var/log/xrdp.log
Вывод перед перезапуском xrdp
[20220313-19:58:14] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:*.*.*.* port 27674
[20220313-19:58:14] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:*.*.*.* port 3389)
[20220313-19:58:14] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20220313-19:58:14] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20220313-19:58:14] [INFO ] Using default X.509 ключевой файл: /etc/xrdp/key.pem
[20220313-19:58:14] [DEBUG] TLSv1.3 enabled
[20220313-19:58:14] [DEBUG] TLSv1.2 enabled
[20220313-19:58:14] [DEBUG] Уровень безопасности: запрошено 11, выбрано 1
[20220313-19:58:14] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:*.*.*.* port 3389)
[20220313-19:58:14] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:*.*.*.* port 27675
[20220313-19:58:14] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:*.*.*.* port 3389)
[20220313-19:58:14] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20220313-19:58:14] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20220313-19:58:14] [INFO ] Using default X.509 ключевой файл: /etc/xrdp/key.pem
[20220313-19:58:14] [DEBUG] TLSv1.3 enabled
[20220313-19:58:14] [DEBUG] TLSv1.2 enabled
[20220313-19:58:14] [DEBUG] Уровень безопасности: запрошено 11, выбрано 1
[20220313-19:58:15] [INFO ] connected client computer name: V
[20220313-19:58:15] [INFO ] adding channel item name rdpdr chan_id 1004 flags 0x80800000
[20220313-19:58:15] [INFO ] adding channel item name rdpsnd chan_id 1005 flags 0xc0000000
[20220313-19:58:15] [INFO ] adding channel item name cliprdr chan_id 1006 flags 0xc0a00000
[20220313-19:58:15] [INFO ] adding channel item name drdynvc chan_id 1007 flags 0xc0800000
[20220313-19:58:15] [INFO ] TLS connection established from ::ffff:*.*.*.* port 27675: TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384
[20220313-19:58:16] [DEBUG] xrdp_00000c0f_wm_login_mode_event_00000001
[20220313-19:58:16] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20220313-19:58:16] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20220313-19:58:22] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip 127.0.0.1 port 3350
[20220313-19:58:22] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20220313-19:58:22] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20220313-19:58:22] [DEBUG] return value from xrdp_mm_connect 0
[20220313-19:58:22] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20220313-19:58:22] [DEBUG] xrdp_wm_log_msg: started connecting
[20220313-19:58:22] [INFO ] lib_mod_log_peer: xrdp_pid=3087 connected to X11rdp_pid=1084 X11rdp_uid=1000 X11rdp_gid=1000 client_ip=::ffff:*.*.*.* client_port=27675
[20220313-19:58:22] [DEBUG] xrdp_wm_log_msg: connected ok
[20220313-19:58:26] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:*.*.*.* port 56248
[20220313-19:58:26] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:*.*.*.* port 3389)
[20220313-19:58:26] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20220313-19:58:26] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20220313-19:58:26] [INFO ] Using default X.509 ключевой файл: /etc/xrdp/key.pem
[20220313-19:58:26] [DEBUG] TLSv1.3 enabled
[20220313-19:58:26] [DEBUG] TLSv1.2 enabled
[20220313-19:58:26] [DEBUG] Уровень безопасности: запрошено 3, выбрано 1
[20220313-19:58:26] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:*.*.*.* port 3389)
[20220313-19:58:26] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20220313-19:58:26] [DEBUG] Closed socket 20 (AF_UNIX)
[20220313-19:58:30] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20220313-19:58:30] [DEBUG] Closed socket 20 (AF_UNIX)
[20220313-19:58:34] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20220313-19:58:34] [DEBUG] Closed socket 20 (AF_UNIX)
[20220313-19:58:38] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20220313-19:58:38] [ERROR] xrdp_mm_connect_chansrv: error in trans_connect chan
[20220313-19:58:38] [DEBUG] Closed socket 18 (AF_INET6 ::1 port 43758)
Обновление
Отключил `channels` в `xrdp.ini`, и теперь проблема с медленным входом решена, но проблема с буфером обмена остается, так как канал отключен сейчас
allow_channels=false
Я знаю, что прошло уже несколько месяцев, но на случай, если кто-то наткнется на это:
Я нашел решение здесь в этом посте:
https://askubuntu.com/a/1367195/564580
Чтобы подвести итоги: вам нужно отредактировать файл
/etc/xrdp/xrdp.ini
прокрутить вниз до раздела
[Channels]
и убедиться, что эти два параметра установлены в True:
rdpdr=true
cliprdr=true
-> cliprdr (редирект буфера обмена) и rdpdr (редирект диска)
После перезапуска xRDP это сработало для меня, и я смог обмениваться данными через буфер обмена в обоих направлениях.
Ответ или решение
Проблема с работой буфера обмена в xRDP после первого входа на Ubuntu 20.04 может возникать по разным причинам, включая конфигурацию xrdp и настройки самого рабочего окружения. Вот подробное руководство по решению этой проблемы.
Шаги для устранения проблемы с буфером обмена
-
Убедитесь, что установлены необходимые пакеты:
Вы уже установили необходимые пакеты, но для полноты картины убедитесь, что у вас есть следующий список:sudo apt install xrdp xserver-xorg-core xserver-xorg-input-all xorgxrdp
-
Добавление пользователя xrdp в группу ssl-cert:
Это также было сделано в вашем случае:sudo adduser xrdp ssl-cert
-
Проверьте конфигурационный файл xrdp.ini:
В файле/etc/xrdp/xrdp.ini
найдите секцию[Channels]
и убедитесь, что следующие параметры установлены в значениеtrue
:[Channels] ... rdpdr=true cliprdr=true
Эти параметры отвечают за редирекцию дисков и буфера обмена соответственно.
-
Перезагрузите службу xRDP:
После внесения изменений в конфигурацию выполните перезагрузку службы xRDP:sudo systemctl restart xrdp
-
Проверьте настройки клиентского RDP:
Убедитесь, что метод подключения и локальные устройства, такие как «Дисководы» и «Буфер обмена», включены в настройках вашего RDP-клиента. Например, если вы используетеmstsc
на Windows, проверьте раздел «Локальные ресурсы». -
Проверьте использование процессов:
Иногда проблема с производительностью может быть вызвана большими нагрузками на CPU или память. Используйте командуtop
илиhtop
для мониторинга ресурсов системы во время подключения к xRDP. -
Логи xrdp:
Если проблема сохраняется, проверьте логи xrdp, чтобы увидеть, не возникает ли каких-либо ошибок. Логи находятся здесь:/var/log/xrdp.log
/var/log/xrdp-sesman.log
Ошибки, связанные с подключением каналов (как в предоставленных вами логах), могут указывать на то, что redirection канал не работает должным образом.
Дополнительные настройки и решение проблем
Если вы все еще сталкиваетесь с медленным временем входа или с тем, что буфер обмена не работает, попробуйте следующее:
-
Отключите автоматический запуск сеансов:
Иногда конфигурация автоматического запуска может вызывать задержки. Вы можете попробовать отключить сетевые разделы или другие особенности, временно редиректируя их. -
Обновление xRDP:
Проверьте, установлен ли у вас самый последний пакет xRDP. Используйте команду:sudo apt update sudo apt upgrade
-
Переустановка xRDP:
Если ничего не помогает, вы можете попробовать полностью удалить xRDP и установить его заново:sudo apt remove --purge xrdp sudo apt install xrdp
Заключение
Соблюдая эти шаги, вы сможете устранить проблемы с буфером обмена и медленным входом в систему при использовании xRDP на Ubuntu 20.04. Если после выполнения всех ваших действий проблема сохраняется, возможно, стоит рассмотреть альтернативные методы удаленного доступа, такие как VNC или другие решения, которые могут быть более подходящими для ваших нужд.