Как настроить сеанс xrdp, который повторно использует существующий сеанс?

53

Я пытаюсь настроить сервер терминалов RDP на точный, используя xrdp, и у меня возникли серьезные проблемы с получением рабочей конфигурации. Когда пользователь входит в систему, мне нужно, чтобы он подключался к этому существующему сеансу пользователей, если он существует, в противном случае начинается новый сеанс, и любой начальный сеанс должен начинаться с LXDE. Какие изменения в конфигурации по умолчанию мне нужно сделать, чтобы это работало?

    
задан nloewen 07.05.2012 в 19:47
источник

8 ответов

43

У меня была такая же проблема, и я нашел простое решение. Я изначально только что установил xrdp, используя стандартную процедуру:

apt-get install xrdp

После этого все о файле xrdp.ini, который находится здесь:

/etc/xrdp/xrdp.ini

Чтобы открыть и отредактировать конфигурационный файл xrdp, используйте:

sudo nano /etc/xrdp/xrdp.ini

по умолчанию первый скрипт обработки xrdp выглядит следующим образом:

[xrdp1]
name=sesman-vnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Важной линией является port=-1 , поэтому xrdp всегда ищет свободный порт для подключения. Если вы установили фиксированный порт здесь, xrdp всегда вернется и подключится к тому же сеансу. Я изменил свое имя так, чтобы оно выглядело так:

[xrdp1]
name=customsessionname
lib=libvnc.so
username=myusername
password=ask
ip=127.0.0.1
port=5912

Вот это, я думаю, вам удастся просто сменить port=-1 на port=5912 . Мой xrdp всегда повторно подключается к существующему сеансу, всегда используя тот же порт.

    
ответ дан jeffery_the_wind 18.10.2013 в 09:39
13

Я бы хотел улучшить существующий ответ. Главный голосовой ответ состоял в том, чтобы отредактировать файл xrdp.ini , чтобы изменить порт на фиксированное значение вместо группового символа -1 , чтобы найти открытый порт.

Я попробовал это, но впервые получил сообщение об ошибке, поэтому в итоге вернулся к значению -1 . Разочарование быстро зашло, хотя проблема осталась не возобновленной, поэтому я снова посмотрел файл ini.

Что сработало для меня, и на самом деле я просто интересовался этим:

Отредактируйте /etc/xrdp/xrdp.ini

В разделе [xrdp1] , где port=-1 Я заметил, что имя пользователя и пароль установлены в ASK. Если вы установите port=ask , вам будет предложено ввести имя пользователя и пароль в приглашении для входа, чтобы выбрать порт.

Вместо того, чтобы устанавливать дополнительные пакеты, я нашел самое легкое решение: установить опцию ask, подключить ПЕРВЫЙ сеанс (если у меня его еще нет) на порт -1 при входе с именем пользователя и паролем.
После отключения сеанса для возобновления существующего сеанса всегда войдите в порт по умолчанию: 5910, и вы возобновите существующий сеанс до перезапуска удаленного компьютера или завершения сеанса при выходе из него.

Подводя итог:

  • Отредактируйте файл xrdp.ini
  • установить port = ask
  • подключиться с удаленного компьютера и при входе в систему, если у вас нет существующего сеанса, укажите порт -1
  • , чтобы возобновить сеанс, введите значение по умолчанию 5910
ответ дан QuestionReality 04.12.2015 в 05:46
7

Я ненавижу быть парнем, который просто снимает ссылку, но я следовал за гидом здесь , и это сработало очень хорошо. Теперь я могу войти в RDP-сеанс из Linux и Windows-хостов и подключить меня к моему старому сеансу, если раньше я входил в систему. Это лучшее руководство по установке, которую я нашел. К сожалению, стандартная установка пакета вызывает гораздо больше проблем, чем использование этого источника.

Автор этой ссылки также сделал автоматический инструмент , чтобы установить и настроить его, но я его не пробовал, поэтому будьте осторожны.

Надеюсь, что это поможет тебе.

    
ответ дан agc93 31.05.2012 в 14:04
3

Проблема заключается в том, что xrdp не всегда подключается к одному и тому же порту. Если это не так, и вы забыли номер порта, вы можете войти в ssh-сессию и узнать номер на

netstat -tulpn | grep vnc

, и вы получите что-то вроде следующего

tcp        0      0 127.0.0.1:5911          0.0.0.0:*               LISTEN      5365/Xvnc

, а затем вы знаете, что 5911 - это порт, к которому вы подключились.

    
ответ дан YH Wu 12.08.2016 в 22:18
2

на экране входа в систему с полем xrdp при первом подключении к удаленному рабочему столу должен быть раскрывающийся список, отсюда выберите «vnc-any», затем введите ip-адрес компьютера и пароль, но оставьте порт в том, что он есть, это должно помочь:)

    
ответ дан Dewi Jones 11.04.2013 в 10:47
0

Я столкнулся с этой проблемой на машине Debian. Использовать X11RDP-o-Matic для создания пакетов xrdp 0.7. До перехода на systemd перезагрузка сеанса xrdp работала нормально.

Посмотрев на дерево процессов, я увидел, что сеансы больше не являются дочерними элементами xrdp-sesman . Оказалось, что проблема с правами доступа при использовании systemd. Google нашел исправление , которое устраняет проблему.

Как вы определяете рабочее соединение? Запустите ps axf и посмотрите дерево процессов для xrdp-sesman . X11rdp, xrdp-chansrv, xrdp-sessvc должно работать как ребенок. Если они отсутствуют, xrdp-sesman не будет знать, как подключиться к сеансу.

Вот как это выглядит при работе:

    

ответ дан h0tw1r3 31.12.2013 в 23:20
0

Если вы столкнулись с проблемой «сбой пароля», вы можете взглянуть на две проблемы в GitHub

Подключиться к старому сеансу vnc - не удалось выполнить пароль VNC

Ошибка VNC-пароля при выборе существующего сеанса

Вкратце, они отмечают, что указание номера порта больше не работает в последнем дизайне.

    
ответ дан liwaiwai 03.07.2018 в 12:12
-1

Этот поток UbuntuForum выглядит полезным - я сам его не тестировал - однако я скопировал решение, данное здесь для завершения этого ответа.

Настройка RealVNC

1. Удаление стандартного VNC-сервера Ubuntu (Vino):

Перейдите к: System - > Администрирование - > Менеджер синаптических пакетов Найдите пакет «Vino», «Отметить для удаления», «Применить».

2. Установка TightVNC и XRDP:

Пока вы используете Synaptic Package Manager, seacrh для пакета «tightvnc» (будьте осторожны, а не « xtightvnc ») и «Отметить для установки». Аналогичным образом, найдите пакет «xrdp» и отметьте также «Для установки». Применять. PS: если вы хотите, вы можете отказаться от любого другого пакета «vnc», который вам не нужен!

3. Конфигурация XRDP (необязательно)

Откройте терминал и введите три следующие команды:

 cd /etc/xrdp
 cp xrdp.ini xrdp.ini.bak 
 sudo gedit /etc/xrdp/xrdp.ini

Удалите разделы Xrdp2-Xrdp6, оставьте только раздел Xrdp1. Ваш xrdp.ini должен выглядеть следующим образом:

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp1]
name=RDP_To_TightVNC
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

4. Подключение

Перезагрузите систему, и вы готовы к подключению.

Чтобы подключиться к другой машине Ubuntu, используйте: Приложения - > Интернет - > Клиент терминального сервера, введите IP-адрес вашего компьютера VNC Ubuntu, используйте RDPv5 или RDP, нажмите «Подключиться»

Для подключения с компьютера на базе Windows используйте: Start - > Run - > mstsc введите IP-адрес вашего компьютера Ubuntu VNC, нажмите «Подключить».

При подключении используйте учетные данные учетной записи пользователя Ubuntu (u / n и p / w) и удаленный вход на ваш рабочий стол.     

ответ дан Rahul Virpara 28.05.2012 в 05:40