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

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

57
задан 30 May 2012 в 08:10

12 ответов

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

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

, Как Вы определяете, работа снова соединяется? Выполненный ps axf и взгляд на дерево процесса для xrdp-sesman. X11rdp, xrdp-chansrv, xrdp-sessvc должен все работать как ребенок. Если они не будут, [то 114] не будет знать, как снова соединиться с сессией.

Вот то, на что это похоже при работе:

good xrdp session process

0
ответ дан 30 May 2012 в 08:10

на журнале на экране с xrdp полем, когда Вы сначала соединяетесь с удаленным рабочим столом, должно быть выпадающее поле, отсюда выбрать, "vnc-любой" тогда ввел IP-адрес компьютера и пароля, но оставляет порт в том, каково это, это должно помочь:)

2
ответ дан 30 May 2012 в 08:10

У меня была эта та же проблема, и я просто нашел легкое решение. Я первоначально просто установил 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

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

46
ответ дан 30 May 2012 в 08:10

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

установка RealVNC

1. Удаление Ubuntu по умолчанию сервер VNC (Винишко):

Переходят в: Система-> администрация-> Синаптический Поиск Диспетчера пакетов пакета "Винишка", Mark Для Удаления, Применяется.

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

, В то время как Вы используете Синаптический Диспетчер пакетов, seacrh для "tightvnc" пакета (быть осторожными, не" xtightvnc") и Mark Для Установки. Аналогично, ищите "xrdp" пакет и Mark также Для Установки. Подать заявку. 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, нажмите Connect!

Для соединения от машины на базе Windows используйте: Запустите-> Выполнение-> mstsc, введите IP своей машины VNC Ubuntu, нажмите Connect.

, Когда соединено, используйте свои учетные данные учетной записи пользователя Ubuntu (u/n и p/w) и удаленно войдите в систему на Ваш рабочий стол.

-1
ответ дан 30 May 2012 в 08:10

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

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

Hope, которая выручает Вас.

7
ответ дан 30 May 2012 в 08:10

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

netstat -tulpn | grep vnc

, и Вы получите что-то как следующий

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

, и затем Вы знаете 5911, был порт, с которым Вы соединились.

4
ответ дан 30 May 2012 в 19:10

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

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

То, что работало на меня и было действительно просто чем-то, на предмет чего мне было любопытно, было этим:

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

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

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

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

  • Отредактируйте xrdp.ini файл
  • набор port = ask
  • подключение от удаленной машины, и при входе в систему, если у Вас нет существующей сессии, указывает порт -1
  • для возобновления сессии вводят значение по умолчанию 5910
16
ответ дан 30 May 2012 в 19:10

Вот то, что я сделал. Удостоверьтесь, что tigervnc-сервер установлен так, мы можем использовать Xvnc. Запустите сессию VNC с конфигурацией по умолчанию (я на самом деле следовал за Дугой руководство по установке Linux для TigerVNC). Затем настройте свой Xrdp для использования этого сессия VNC каждый раз. Также установите TigerVNC для запущений на начальной загрузке или чем-то. Это - единственный раздел VNC в моем файле xrdp.ini:

[vnc-any]
name=vnc-any
lib=libvnc.so
ip=localhost
port=5901
username=na
password=YOURPASSWORD
#pamusername=asksame
#pampassword=asksame
#pamsessionmng=127.0.0.1
#delay_ms=2000
0
ответ дан 22 October 2019 в 18:02

1. Modifiy Вы xrdp.ini:

sudo vi /etc/xrdp/xrdp.ini

2. Измените параметр порта port=ask-1 в Вашем правиле соединения:

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

3. Перезапустите свой xrdp Сервис

sudo service xrdp restart
<час>

, необходимо видеть следующее изображение, когда Вы входите в систему удаленным рабочим столом. enter image description here

1. При первом входе в систему Вы видите этот номер порта. Example:5912: enter image description here

, Если Вы забываете этот номер порта, Вы можете с помощью следующей команды для проверки:

netstat -peant | grep 59 | grep Xvnc

2. Можно повторно подключить последнюю сессию номером порта. enter image description here

<час>

Касательно: http://c-nergy.be/blog/?p=5305

1
ответ дан 22 October 2019 в 18:02

При обнаружении с проблемой "пароля, отказавшего" Вы могли бы смотреть на две проблемы в GitHub

Снова соединитесь со старой vnc сессией - отказавший пароль VNC

Пароль VNC перестал работать при выборе существующей сессии

Короче говоря, они упоминают, что определение номера порта больше не работает в последней модели.

1
ответ дан 22 November 2019 в 23:42

Если для подключения к сеансу Linux используется клиент удаленного рабочего стола Windows, я обнаружили, что сохранение той же конфигурации дисплея и глубины цвета приведет к повторному подключению пользователя к тому же сеансу. Эти параметры можно настроить, выбрав «Показать параметры» в левом нижнем углу начального экрана, а затем выбрав вкладку «Дисплей».

Если вы не знаете, какие параметры отображения были у вашего существующего сеанса, запустите новый сеанс, а затем из окна терминала запустите ps axf | grep vnc. Ваши параметры отображения ваших существующих и новых сеансов rdp будут показывать что-то вроде -геометрия 1920x1080-глубина 16. Запишите эти значения, выйдите из нового сеанса, а затем попробуйте еще раз войти в xrdp, используя обнаруженные значения.

0
ответ дан 13 November 2020 в 16:28

Начиная с Linux Mint/Ubuntu 20, для решения общих проблем с xrdp я всегда находил полезным избегать установки предварительно скомпилированных пакетов и вместо этого собирать их из исходного кода.

Не все функции включены в стандартных пакетах: например, звук и каналы буфера обмена должны быть явно включены с помощью переключателей configure, плюс файлы сопоставления клавиатуры часто устарели, а некоторые клавиши, такие как фигурные скобки не работали для меня. Большинство проблем волшебным образом исчезли, когда я установил специально скомпилированную версию.

Возможно, вы захотите скомпилировать и установить xrdp и xorgxrdp (менеджер сеансов xrdp, аналогичный x11rdp), следуя инструкциям здесь и здесь , затем настройте файлы /etc/xrdp.ini и /etc/xrdp/sesman.ini, последний используется Xorg(xrdp) . Я рекомендую отключить динамические каналы в первом, чтобы снизить потребление процессора клиентом и сервером.

На всякий случай я также использую скомпилированную версию клиента (Remmina), просто чтобы убедиться, что обе подходят к моим машинам как влитые.

1
ответ дан 13 December 2020 в 18:56

Другие вопросы по тегам:

Похожие вопросы: