LINUX.ORG.RU
ФорумAdmin

xRDP - Один пользователь, одна сессия

 , ,


0

1

Приветствую всех заблудших на этот топик… Вообщем, требуется каким-то образом заставить работать xRDP на оболочке Cinnamon следующим образом:

Пользователь DeD вошёл в сессию локально, но при этом может подключиться с другого устройства к этой же сессии, причём, с нескольких разных устройств.

Пробовал мучать такие замечательные файлы, как xrdp.ini, sesman.ini, startwm.sh и даже до локального добрался, коим является .xsession (Но он максимально неинтересен). Максимум чего удалось добиться, это того, что xRDP создаёт новую сессию, причём, такое удавалось только истязание файла startwm.sh с добавлением таких специй, как: export $(dbus-launch) или же unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR. Собственно… Так как же добиться желаемой цели, ибо уж слишком маловероятно что xRDP в такое не умеет?



Последнее исправление: VrDrakon (всего исправлений: 4)

ибо уж слишком маловероятно что xRDP в такое не умеет?

Как раз очень вероятно. xrdp при подключении запускает отдельный экземпляр xorg с конфигом /etc/X11/xrdp/xorg.conf. Этот запущеный xorg и есть та самая сессия, к которой ты хочешь локально подключаться. Насколько я знаю, xorg не умеет на лету менять список задействованного железа (т.е. сначала выводил в xrdp а теперь подцепился к реальной видеокарте).

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

подключении запускает отдельный экземпляр xorg с конфигом /etc/X11/xrdp/xorg.conf

Шик конечно… Ладно, тогда есть возможность хотя бы поддерживать одну сессию для подключения с разных устройств? Как уже писал, частично удалось костыли применить для такого, но опять таки, каждое подключение = новая сессия, как-то не очень выглядит. Пробовал port (в файле xrdp.ini) с -1 менять на различные настройки, ставил ask и 5010 (Или что-то в этом роде), но в итоге, это ни к чему не привело, конечно подозреваю что вопрос куда глубже, но тем не менее, может есть сакральное знание…

VrDrakon
() автор топика
Ответ на: комментарий от VrDrakon

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

Это дефолтное поведение (по крайней мере в дебиановском xrdp), я даже не знаю как его отключить.

Возможно и у тебя так и было пока ты конфиги не начал менять.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

Когда то у меня была такая же проблема, года два назад. Хотел добиться такого же поведения, как на Windows. Даже написал разработчикам xRDP. Ответ от разработчиков - такое поведение невозможно в принципе. Подключиться к локальному сеансу с xRDP просто нельзя.

Здесь в комментах тебе уж предложили:

1 вариант:
настраиваешь, что бы локально у тебя запускался xRDP и подключался сам к себе. Когда, непосредственно находясь за ПК, у пользователя складывается впечатление, что он работает за локальным сеансом. Отключившись, пользователь может подключиться к той же самой сессии удаленно.

2 вариант:
использовать другие инструменты удаленного подключения, например NoMachine, VNC или что то еще, но не xRDP.

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

Когда то у меня была такая же проблема, года два назад.

Даже четыре года назад:
AltLinux xRDP подключение к консольной сессии

Официальный ответ разработчиков xRDP:

Ни при каких обстоятельствах невозможно получить доступ к сеансу запущенному локально посредством xrdp.

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

Ни при каких обстоятельствах невозможно получить доступ к сеансу запущенному локально посредством xrdp.

Зато вот wayland:

https://planet.kde.org/arjen-hiemstra-2023-08-08-remote-desktop-using-the-rdp-protocol-for-plasma-wayland/

Turbid ★★★★★
()
Последнее исправление: Turbid (всего исправлений: 1)
Ответ на: комментарий от Turbid

Интересно, но альфа. Было бы время свободное, потестил бы. Особенно интересно, как пробрасываются всякие usb устройства, особенно рутокены.

И заявленных проблем:

Известно, что следующие клиенты не работают: Клиент удаленного рабочего стола Microsoft для Android. Хотя он должен поддерживать H.264, похоже, он его не включает.
Поддерживается только тип безопасности NLA RDP.

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

Начинание хорошее, но реализация дюбелями прибита к KDE.
Как мне кажется такие инструменты должны быть независимы от среды рабочего стола.
Мы живем в реалиях, когда часто ограничением использования полюбившихся нам инструментов - является стандартизация работодателя.
Если по стандарту в организации решили использовать Alt+Cinnamon, то ни о каком krdp речи быть не может.

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

ivanlex ★★★★★
()
Ответ на: комментарий от ivanlex

использовать другие инструменты удаленного подключения, например NoMachine, VNC или что то еще, но не xRDP.

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

VrDrakon
() автор топика
Ответ на: комментарий от ivanlex

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

Боюсь, что консервативность погубит этот мир… Тем не менее, может найдётся самоубийца, решивший допилить xRDP :>

VrDrakon
() автор топика
Ответ на: комментарий от ivanlex

Хотел добиться такого же поведения, как на Windows.

Кстать, а VNC заставить работать по протоколу RDP (Да, знаю, звучит как шиза) и порту 3389 (Знаю что порт менять можно) возможно ли, чтобы была возможность из под мягких систем подключаться стандартной утилитой?

VrDrakon
() автор топика
Ответ на: комментарий от VrDrakon

Нет. Протоколы VNC и RDP абсолютно различны. Заставить их работать на других портах можно, но протокол свою логику от смены порта - не изменит.

Можно лишь сделать, что бы xRDP принимал соединение от клиента по RDP, а сам подключался по другому протоколу куда то еще. Получится что то вроде прокси.

ivanlex ★★★★★
()
Последнее исправление: ivanlex (всего исправлений: 1)
Ответ на: комментарий от ivanlex

Ни при каких обстоятельствах невозможно получить доступ к сеансу запущенному локально посредством xrdp.

и это правильно - потому что xrdp - это менеджер своих собственных запущенных сессий. Если тебе нужен доступ на X11:0 по rdp запускай там вручную freerdp-shadow-cli

anonymous2 ★★★★★
()
Последнее исправление: anonymous2 (всего исправлений: 1)
Ответ на: комментарий от ivanlex

А, круто, VNC значит VNC… Тогда вопрос, а VNC умеет в двухсторонний буфер обмена, смена разрешения экрана и расшаривание папки, как это умеет RDP? Когда лазил в настройках сессии у Remmina - ничего подобного не нашёл, хотя справедливости ради, пробовал плагин ставить на VNC.

VrDrakon
() автор топика
Последнее исправление: VrDrakon (всего исправлений: 1)
Ответ на: комментарий от VrDrakon

VNC: Двухсторонний буфер обмена умеет, сам пользовался, но если кодировки не совпадают, то при вставке в удаленной сессии, вместо кириллический символов могут вставится квадратики (хотя может сейчас уже починили).
По умолчанию на локальном рабочем столе видно всё, что делает удаленный пользователь (хотя можно затенять экран), но параллельной работы при подключении к локальной сессии - нет.
По пробросу папок - не смотрел. По идее папки можно просто смонтировать по сети.
USB можно пробрасывать с помощью usbip или аналогов.
Разрешение экрана автоматом не меняется, можно только «сжимать»/«растягивать».

P.S.: Мое предпочтение - лучше уж использовать NoMachine.

ivanlex ★★★★★
()
Последнее исправление: ivanlex (всего исправлений: 1)