Страница 1 из 2

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 10:16
ravencrow
Чтобы получить по RDP локальную сессию, те же открытые приложения, а реальный сеанс блокировался, т.е. чтобы всегда был только один сеанс, а не создавались новые, как это сделано в клиентских ОС Windows.
Установлен xrdp, но в настройках я не нашёл как можно это включить. Всегда создается отдельная сессия, отдельный рабочий стол не зависящий от локальной сессии.
Linux Mint 17.2.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 10:29
Chocobo
ravencrow, интернет подсказывает что за сессию отвечает параметр port= в конфиге xrdp
1.в дефолтном значении -1 он всегда ищет свободное значение
2. при жестком указании числа здесь - можно как раз закрепиться к действующей ранее открытой сессии.
3. Если установить в ask - то при логине будет спрашивать куда тебе хочется зацепиться

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 10:42
ravencrow
Chocobo писал(а):
02 окт 2020, 10:29
ravencrow, интернет подсказывает что за сессию отвечает параметр port= в конфиге xrdp
1.в дефолтном значении -1 он всегда ищет свободное значение
2. при жестком указании числа здесь - можно как раз закрепиться к действующей ранее открытой сессии.
3. Если установить в ask - то при логине будет спрашивать куда тебе хочется зацепиться
А как узнать какой порт имеет реальная локальная сессия, чтобы к ней подключится? Нужно просто подключиться к компьютеру с Linux к имеющемуся реальному рабочему столу, который загружается вместе с системой и без создания новых сессий и новых удаленных рабочих столов.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 10:49
Chocobo
ravencrow, не уверен что xrdp смотрит в локальные сессии не заведенные им.
вот например пара наводящих сслыок из первых рук:
https://github.com/neutrinolabs/xrdp/issues/960
https://github.com/neutrinolabs/xrdp/issues/1303

поэтому похоже подключиться возможно только повторно и только к ранее созданной удаленной сессии.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 11:03
ravencrow
Chocobo писал(а):
02 окт 2020, 10:49
ravencrow, не уверен что xrdp смотрит в локальные сессии не заведенные им.
вот например пара наводящих сслыок из первых рук:
https://github.com/neutrinolabs/xrdp/issues/960
https://github.com/neutrinolabs/xrdp/issues/1303

поэтому похоже подключиться возможно только повторно и только к ранее созданной удаленной сессии.
В том то и костыль. x11rdp не умеет подключаться к локальной сессии.
Видимо нужно ковырять x11vnc, который умеет транслировать протокол VNC в протокол RDP. Т.е. x11vnc нужно заставить цепляться к локальной сессии.
Вот что нашел на просторах интернета:
1. Первым делом - проверьте, что tigervnc собран с поддержкой Xvnc.
2. Затем в секцию Module файла /etc/X11/xorg.conf добавьте:

Load "vnc"

3. В секцию Screen файла /etc/X11/xorg.conf добавьте:

Option "SecurityTypes" "VncAuth"
Option "UserPasswdVerifier" "VncAuth"
Option "PasswordFile" "/etc/vnc/vncpass"

4. От рута выполните:

# vncpasswd /etc/vnc/vncpass

оно спросит пароль, два раза (с подтверждением) - дайте то, чего просит.
5. Перезапустите X-сервер.
6. Проверяйте.
Если всё сделали верно - то к машине можно подключиться по VNC. Если не "взлетело" - смотреть в логи Х-сервера и системные.
7. Установите xrdp, в большинстве случаев при установке с дефолтными параметрами должно заработьа сразу.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 11:09
WWolf
ravencrow, так не проще VNC клиент поставить на эту винду и мозги не ковырять?...

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 11:19
ravencrow
WWolf писал(а):
02 окт 2020, 11:09
ravencrow, так не проще VNC клиент поставить на эту винду и мозги не ковырять?...
Всем не поставишь. А встроенный клиент RDP есть в любой ОС Windows из коробки.
Задача стоит в том, чтобы можно было подключаться к компьютеру с ОС Linux к локальной сессии с любого компьютера Windows не устанавливая дополнительных программ в Windows.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 14:15
Chocobo
ravencrow, а в чем сложность инициировать эту rdp-сессию разово после старта системы.
и затем просто ей пользоваться, представляя что она локальная)

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 15:28
ravencrow
Chocobo писал(а):
02 окт 2020, 14:15
ravencrow, а в чем сложность инициировать эту rdp-сессию разово после старта системы.
и затем просто ей пользоваться, представляя что она локальная)
А какой смысл плодить сессии с пустыми рабочими столами, которые после перезагрузки компьютера просто исчезнут?
Задача стоит в том, чтобы работать в локальной сессии как физически за компьютером с Linux, так и удаленно, т.е. чтобы пользователь видел свой рабочий стол с открытыми приложениями и документами на рабочем столе как локально так и удаленно.
Т.е., к примеру, сотрудник, уходя с работы, оставляет компьютер включенным с открытыми приложениями. Допустим вечером, срочно, что то понадобилось доделать. Сотрудник на любом доступном ему компьютере дома или где-то в гостях, подключается по RDP к своему рабочему компьютеру и доделывает работу, так как все приложения остаются открытыми, или скопировать кому-нибудь документы с рабочего стола.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 02 окт 2020, 16:49
Chocobo
ravencrow, Кейс с одной стороны понятный, но вероятно несколько натянутый. Навскидку:
ravencrow писал(а):
02 окт 2020, 15:28
Сотрудник на любом доступном ему компьютере дома или где-то в гостях, подключается по RDP
все воркстейшны в интернет на пабликах светятся по 3389? Или все же на своем или гостевом девайсе ему сперва придется поднять впн до закрытого контура корпоративной сети? А если дома, в гостях вокруг одни андроиды и MacOS?

1. описанные проблемы обычно решаются либо мобильностью самого рабочего девайса (ноутбук под мышку и ушел домой со своими приложухами в гибернации) или тонкие клиенты на рабочих местах для подключения к терминальному серверу или VDI

2. прямого решения в локальную сессию у RDP нет, он не очень родной протокол в линуксах. Установка vnc клиента же не самая сложная процедура для того кто сможет справиться с mstsc.
Если найти свободный клиент под венду (вероятно такие есть) - можно попробовать раскомпилять персонально преднастроенные пресеты подключения в приложении к нужному хосту после установки.
3. Тоже не без клиентского софта и не всегда фри с коммерческим использованием, но уже в целом условно SaaS - посмотрите в сторону AnyDesk/TeamViewer и подобных кроссплатформерных решений

4. Позаботтесь о работниках и переведите в конце концов офисные воркстейшны на Windows, раз указанные сложности превыше обеспечения именно прямого rdp

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 10:00
ravencrow
Оставим эти философские разговоры.
Лучше подскажите как tigervnc собрать с поддержкой Xvnc.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 10:11
symon2014
Tigervnc-сервер- это программа, которая запускает сервер Xvnc и запускает параллельные сеансы на рабочем столе VNC.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 11:01
rogoznik

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 11:13
ravencrow

Код: Выделить всё

sudo apt install tigervnc-standalone-server tigervnc-xorg-extension
E: Не удалось найти пакет tigervnc-standalone-server
E: Не удалось найти пакет tigervnc-xorg-extension
Пытался сделать по этой инструкции https://gist.github.com/plembo/87a429f3 ... ce8ce0a04d
Беру последний релиз 1.11.0
vncviewer устанавливает
а vncserver нет.
по команде which vncserver пусто.

Что я делаю не так?

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 12:07
symon2014
ravencrow писал(а):
03 окт 2020, 11:13
Что я делаю не так?
 ! Сообщение из: symon2014
Неправильно тему оформляешь. :evil:
Панель форматирования текста в темах/ответах

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 13:11
ravencrow
Оказывается в релизе TigerVNC 1.11.0 нет vncserver. Скачал релиз 1.9.0 там есть vncserver.
Теперь пытаюсь запустить его.
Судя по мануалу при запуске vncserver должен предложить установить пароль и создать файл с паролем.
Но этого не происходит.
Пишет:

Код: Выделить всё

You will require a password to access your desktops.

/usr/local/bin/vncpasswd: 1: /usr/local/bin/vncpasswd: Syntax error: ")" unexpected

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 16:29
ravencrow
Помогите кто-нибудь установить TigerVNC на LinuxMint 17.2 Mate чтобы он заработал.
vncpasswd и x0vncserver так же выдают:

Код: Выделить всё

/usr/local/bin/vncpasswd: 1: /usr/local/bin/vncpasswd: Syntax error: ")" unexpected

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 17:58
rogoznik
Где-то внутри файла
ravencrow писал(а):
03 окт 2020, 16:29
/usr/local/bin/vncpasswd
нежданчик в виде )

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 03 окт 2020, 20:16
ravencrow
Всё оказалось намного проще. TigerVNC вообще не нужен.
Достаточно иметь на борту xrdp и x11vnc.
В etc/xrdp/ в файле xrdp.ini указываем порт который отображается при запуске x11vnc. У меня x11vnc занимает порт 5900.

Код: Выделить всё

[xrdp0]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=5900
В etc/xrdp/ в файле sesman.ini меняем X11DisplayOffset=10 на 0.

Код: Выделить всё

[Sessions]
X11DisplayOffset=0
MaxSessions=10
KillDisconnected=1
IdleTimeLimit=0
DisconnectedTimeLimit=0
И всё работает. Стандартный клиент RDP Windows легко подключается к локальной сессии Linux. И все что на экране монитора видно через удаленный рабочий стол в реальном режиме времени без создания отдельных сессий.

Правда есть одно неудобство.
Нужно вручную запускать x11vnc через терминал.
А вот для автозапуска нужно найти файл Default, который находится в директории etc/mdm/Init/ и добавить перед строкой exit 0 строку запуска:

Код: Выделить всё

/usr/bin/x11vnc -dontdisconnect -noxfixes -shared -forever -rfbport 5900 -display :0 -rfbauth /etc/x11vnc.pwd  -bg -o /var/log/x11vnc.log
Но у меня почему то не заработало. x11vnc запускается автоматически при загрузке системы, но при подключении по RDP просто выкидывает без каких-либо ошибок.

Как из Windows встроенным RDP клиентом подключаться к реальной сессии Linux ?

Добавлено: 04 окт 2020, 12:00
ravencrow
Вообщем просто добавил строку /usr/bin/x11vnc в автозагрузку через Центр управления - Запускаемые приложения. И теперь x11vnc запускается автоматически при включении компьютера.