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

Я верю, что в последних версиях Ubuntu многопользовательский репозиторий содержит большинство необходимых пакетов. Но некоторые усовершенствованные кодеки не включаются из-за проблемы с лицензированием. (Потому что они не свободны, как свобода). Эти пакеты поддерживаются medibuntu repostiory.

С этим я пожалею?

Нет, на самом деле. Если вы уже установили все необходимые кодеки. Потому что, репозиторий medibuntu обновляется один раз для одной версии. Посмотрите на это.

С этим я пожалею?

Теперь вещи теперь доступны в другом месте - как в Multiverse - достаточно сейчас, так что мне больше не нужен Medibuntu ?

53
задан 30 May 2012 в 09:10

64 ответа

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

RealVNC setup

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

Перейти к: Система -> Администрирование -> Synaptic Package Manager Поиск пакета «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-адрес ваш Ubuntu VNC-машина, используйте RDPv5 или RDP, нажмите Connect!

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

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

-1
ответ дан 15 August 2018 в 19:27
  • 1
    Вы действительно протестировали это? Похоже, вы только что скопировали и вставляли ссылку дословно. Если вы копируете и вставляете, пожалуйста, подтвердите источник в своем ответе. – fossfreedom♦ 28 May 2012 в 10:56
  • 2
    @fossfreedom нет, я не тестировал, но пытался помочь. Кстати, я уже упоминал источник в this may help you. – virpara 28 May 2012 в 12:24
  • 3
    Вы, возможно, должны быть более ясными в отношении вашего источника и правдивости ответа. См. Мое редактирование. – fossfreedom♦ 28 May 2012 в 13:28

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

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

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

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

good xrdp session process [/g2]

0
ответ дан 15 August 2018 в 19:27

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

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

Что сработало для меня, и это было действительно то, что мне было интересно:

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

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

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

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

  • Отредактируйте файл xrdp.ini
  • set port = ask
  • подключиться с удаленного компьютера и при входе в систему, если у вас нет существующего сеанса, укажите порт -1
  • , чтобы возобновить сеанс, введите значение по умолчанию 5910
13
ответ дан 15 August 2018 в 19:27
  • 1
    Работал для меня. Хотя я не буду помнить 5910 в будущем. – Vesanto 30 April 2016 в 22:04
  • 2
    Мне удалось успешно изменить запись: [xrdp1]. , , port = ask5910 Это значение по умолчанию для порта 5910, поэтому вам не нужно его запоминать, как сказал Vesanto (я бы никогда его не помнил, Vesanto!), но также дает вам возможность изменить его, если вы хотите создать новую сессию рабочего стола на, скажем, порт 5911. Я тестировал это на Ubuntu 16.04. – hoekma 28 November 2016 в 22:04
  • 3
    ^ Это лучшее решение, которое я нашел. – Nacht 6 January 2017 в 04:55
  • 4
    На недавно загруженном Rpi3 я начал новую сессию с портом -1, а затем я пришел с другим компьютером и использовал порт 5910 - он взял тот же сеанс. Когда вы перемещаете вещи на одном компьютере, вы можете видеть, как это происходит с другой. – SDsolar 30 January 2017 в 00:23
  • 5
    Если вы сделаете это снова, но дайте ему номер порта -1, он даст вам новый сеанс. – SDsolar 30 January 2017 в 00:24

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

netstat -tulpn | grep vnc

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

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

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

3
ответ дан 15 August 2018 в 19:27

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

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