Я пытался настроить сервер терминалов RDP на точное использование xrdp, и у меня были значительные проблемы с получением рабочей конфигурации. Когда пользователь входит в систему, он должен подключиться к существующему сеансу этих пользователей, если он существует, в противном случае начинается новый сеанс, и любой запущенный сеанс должен запускать LXDE. Какие изменения в конфигурации по умолчанию мне нужно сделать, чтобы это работало?
Я столкнулся с этой проблемой на машине Debian. Используемый X11RDP-o-Matic для создания пакетов xrdp 0.7. До обновления до systemd, xrdp сессия снова соединяются, хорошо работал.
Рассмотрение дерева процесса я видел, что сессии больше не были детьми xrdp-sesman
лет. Оказавшийся полномочия выходят при использовании systemd. Google нашел патч , который решает проблему.
, Как Вы определяете, работа снова соединяется? Выполненный ps axf
и взгляд на дерево процесса для xrdp-sesman
. X11rdp, xrdp-chansrv, xrdp-sessvc
должен все работать как ребенок. Если они не будут, [то 114] не будет знать, как снова соединиться с сессией.
Вот то, на что это похоже при работе:
на журнале на экране с xrdp полем, когда Вы сначала соединяетесь с удаленным рабочим столом, должно быть выпадающее поле, отсюда выбрать, "vnc-любой" тогда ввел IP-адрес компьютера и пароля, но оставляет порт в том, каково это, это должно помочь:)
У меня была эта та же проблема, и я просто нашел легкое решение. Я первоначально просто установил 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 всегда снова соединяется с существующей сессией всегда с помощью того же порта.
Этот поток UbuntuForum полезные взгляды - я не протестировал это сам - однако я скопировал решение, данное здесь для завершения этого ответа.
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) и удаленно войдите в систему на Ваш рабочий стол.
Я очень не хочу быть парнем, который просто отбрасывает ссылку, но я следовал руководству здесь , и она работала действительно хорошо. Я могу теперь войти в сессию RDP из Linux, и Windows размещает и повторно подключает меня к моей старой сессии, если я вошел в систему прежде. Это - лучшее руководство по установке, которую я нашел. К сожалению, стандартная установка пакета вызывает намного больше проблем, чем выполнение его из источника.
автор той ссылки также сделал автоматический инструмент , чтобы установить и настроить его, но я не попробовал его, так быть осторожным.
Hope, которая выручает Вас.
Проблема состоит в том, что xrdp не всегда соединяется с тем же портом. В случае, если это не сделало и Вы забыли номер порта, Вы могли войти в ssh сессию и узнать число
netstat -tulpn | grep vnc
, и Вы получите что-то как следующий
tcp 0 0 127.0.0.1:5911 0.0.0.0:* LISTEN 5365/Xvnc
, и затем Вы знаете 5911, был порт, с которым Вы соединились.
Я хотел бы изменить к лучшему существующий ответ. Вершина голосовала за то, чтобы ответ должен был отредактировать xrdp.ini
файл для изменения порта на фиксированное значение вместо -1
подстановочный знак для нахождения открытого порта.
Я попробовал это, но получил ошибку при соединении в первый раз, поэтому законченный переключиться назад на -1
значение. Разочарование быстро началось, хотя с проблемой, остающейся не возобновление, таким образом, я посмотрел на ini файл снова.
То, что работало на меня и было действительно просто чем-то, на предмет чего мне было любопытно, было этим:
Отредактируйте /etc/xrdp/xrdp.ini
Под [xrdp1]
где port=-1
Я заметил, что имя пользователя и пароль было установлено на ASK. Если Вы устанавливаете port=ask
Вам дадут опцию при приглашении ко входу в систему с именем пользователя и паролем для выбора порта.
Вместо того, чтобы устанавливать дополнительные пакеты, я нашел, что самая легкая фиксация была, чтобы установить спросить опцию, соединить ПЕРВУЮ сессию (если у меня нет того уже, работающего) на порте-1 при входе в систему с именем пользователя и паролем.
После разъединения сессии, для возобновления существующей сессии всегда входят в систему на порте по умолчанию: 5910 и Вы возобновите свою существующую сессию, пока Вы не перезапустите удаленный компьютер или закончите сессию, выходя из системы.
Подводить итог:
xrdp.ini
файлport = ask
-1
5910
Вот то, что я сделал. Удостоверьтесь, что 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
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
<час> , необходимо видеть следующее изображение, когда Вы входите в систему удаленным рабочим столом.
1. При первом входе в систему Вы видите этот номер порта. Example:5912:
, Если Вы забываете этот номер порта, Вы можете с помощью следующей команды для проверки:
netstat -peant | grep 59 | grep Xvnc
2. Можно повторно подключить последнюю сессию номером порта.
<час>Касательно: http://c-nergy.be/blog/?p=5305
При обнаружении с проблемой "пароля, отказавшего" Вы могли бы смотреть на две проблемы в GitHub
Снова соединитесь со старой vnc сессией - отказавший пароль VNC
Пароль VNC перестал работать при выборе существующей сессии
Короче говоря, они упоминают, что определение номера порта больше не работает в последней модели.
Если для подключения к сеансу Linux используется клиент удаленного рабочего стола Windows, я обнаружили, что сохранение той же конфигурации дисплея и глубины цвета приведет к повторному подключению пользователя к тому же сеансу. Эти параметры можно настроить, выбрав «Показать параметры» в левом нижнем углу начального экрана, а затем выбрав вкладку «Дисплей».
Если вы не знаете, какие параметры отображения были у вашего существующего сеанса, запустите новый сеанс, а затем из окна терминала запустите ps axf | grep vnc
. Ваши параметры отображения ваших существующих и новых сеансов rdp будут показывать что-то вроде -геометрия 1920x1080-глубина 16. Запишите эти значения, выйдите из нового сеанса, а затем попробуйте еще раз войти в xrdp, используя обнаруженные значения.
Начиная с Linux Mint/Ubuntu 20, для решения общих проблем с xrdp
я всегда находил полезным избегать установки предварительно скомпилированных пакетов и вместо этого собирать их из исходного кода.
Не все функции включены в стандартных пакетах: например, звук и каналы буфера обмена должны быть явно включены с помощью переключателей configure
, плюс файлы сопоставления клавиатуры часто устарели, а некоторые клавиши, такие как фигурные скобки не работали для меня. Большинство проблем волшебным образом исчезли, когда я установил специально скомпилированную версию.
Возможно, вы захотите скомпилировать и установить xrdp
и xorgxrdp
(менеджер сеансов xrdp, аналогичный x11rdp), следуя инструкциям здесь и здесь , затем настройте файлы /etc/xrdp.ini
и /etc/xrdp/sesman.ini
, последний используется Xorg(xrdp)
. Я рекомендую отключить динамические каналы в первом, чтобы снизить потребление процессора клиентом и сервером.
На всякий случай я также использую скомпилированную версию клиента (Remmina), просто чтобы убедиться, что обе подходят к моим машинам как влитые.