LINUX.ORG.RU
ФорумAdmin

RemoteApp/RAIL в xrdp

 ,


0

2

Есть задачка настроить RAIL на xrdp. Гугление дало следующее: в 0.9 реализован некоторый несовместимый с MS вариант RemoteApp - без декораций окошек - который должен работать с клиентом NeutrinoRDP. Но документацию как это всё запускать, похоже, забыли: https://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg01781.html https://github.com/neutrinolabs/xrdp/wiki/RAIL-support-in-xrdp Вопрос: может быть кому-нибудь удавалось это поднять? Или если у кого-то есть опыт запуска xfreerdp в режиме rail с терминальным сервером от МС, поделитесь пожалуйста.

★★★★★

Ответ на: А почему именно этот клиент, а не Remmina? от Pepenez

FreeRDP - это, фактически, библиотечная реализация протокола RDP. NeutrinoRDP - это форк FreeRDP, позволяющий работать в режиме RAIL, когда удаленное приложение не рисует декорации окон (в стандартной реализации RemoteApp декорации окна приложения рисуются именно на удаленной стороне). Remmina - это просто софтина для работы по разным протоколам, написанная на GTK+, у которой поддержка протоколов реализована с помощью плагинов. Плагин для протокола RDP использует библиотеки FreeRDP: https://github.com/FreeRDP/Remmina/blob/next/remmina-plugins/rdp/CMakeLists.txt Поэтому она не лучше.

asaw ★★★★★
() автор топика

Также интересует этот вопрос. На практике пока не пробовал, только изучаю - задача только возникла. В теории - если приложение само занимается декорацией окна (например, Chromium) проблемы со стандартным мелкософтским rdp клиентом быть не должно?

nE0sIghT
()

В общем, с таким вот патчем (xrdp 0.9 git master) удалось запустить режим RAIL:

diff --git a/sesman/chansrv/rail.c b/sesman/chansrv/rail.c
index f377797..8b5bff2 100644
--- a/sesman/chansrv/rail.c
+++ b/sesman/chansrv/rail.c
@@ -335,6 +335,7 @@ rail_init(void)
 {
     LOG(10, ("chansrv::rail_init:"));
     xcommon_init();
+    rail_send_init();
 
     return 0;
 }
@@ -371,7 +372,7 @@ rail_startup()
 
     list_delete(g_window_list);
     g_window_list = list_create();
-    rail_send_init();
+//    rail_send_init();
     g_rail_up = 1;
     g_rwd_atom = XInternAtom(g_display, "XRDP_RAIL_WINDOW_DATA", 0);

Кроме этого, нужно либо в настройках sessman.ini выставить переменные UserWindowManager и/или DefaultWindowManager так, чтобы запускался xterm, либо по умолчанию достаточно прописать xterm в ~/.xsession

Приложение запускается командой вроде

xfreerdp -u user -p password --plugin rail --data "firefox" -- 192.168.56.111

Две вертикальные черты || в начале имени исполняемого файла при этом указывать не нужно. Таким вот образом приложение запускается и начинает работать, но очень криво. Декораций окон никаких нет даже с NeutrinoRDP; окно нельзя передвинуть или изменить размер; всплывающие подсказки двоятся; нажатия на кнопки менюшек и комбобоксов тоже как-бы двоятся: меню и выпадающие списки в firefox открывается и тут же закрывается (в некоторых других приложениях при этом всё нормально); правильно передаются только латинские заголовки окон; и т.п.

asaw ★★★★★
() автор топика
Последнее исправление: asaw (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.