Połączenie RDP dla xwindow – XRDP
Dla tych którzy z jakiś względów chcą zarządzać sesjami X Window w Slackware 14.2 jednym z rozwiązań jest xrdp
Oferuje on połaczenia poprzez standardowego klienta pulpitu zdalnego znanego z Windows
Jest kilka możliwości konfiruracji xrdp, np wykorzystanie bibliotek vnc (libvnc). Nas jednak interesuje X11RDP biblioteka libxup
instalacje zaczynamy od zbudowania binarki dla x11rdp ( w załączonym archiwum) w tym celu musimy nanieść poprawkę w pliku /usr/include/X11/extensions/Printstr.h
fragment kodu poniżej, haszujemy /*PrivateRec *devPrivates;*/ i dopisujemy DevUnion *devPrivates;
typedef struct _XpContext {
XID contextID;
char *printerName;
int screenNum; /* screen containing the printer */
struct _XpClient *clientHead; /* list of clients */
CARD32 state;
VisualID pageWin;
/*PrivateRec *devPrivates;*/
DevUnion *devPrivates;
XpDriverFuncs funcs;
ClientPtr clientSlept;
int imageRes;
} XpContextRec, *XpContextPtr;
Pozwoli nam to bezproblemowo skompilować binarke X11RDp, w katalogu x11rdp_xorg71. Najnowsza wersja do pobrania poprzez git clone https://github.com/Magister/x11rdp_xorg71.git. ( zawarty w załączonej paczce) wykonujemy ./build.sh z parametrem wskazującym miejsce instalacji np. ./build.sh /opt/X11rdp
katalog musi wcześniej istnieć.
Po zakończeniu budowania należy przejśc do katalogu xorg-server-X11R7.1-1.1.0/hw/rdp i wykonać komendę make
następnie strip X11rdp oraz powstałą binarke skopiowac do katalogu /usr/bin np. komendą cp X11rdp /usr/bin
Teraz zbudujem paczke xrdp za pomocą Slackbuilda ( w załączonym archiwum)
Pozostaje nam tylko skonfigurować xrdp. Pliki konfiguracyjne znajdują się w katalogu /etc/xrdp
sesman.ini
AllowRootLogin=0 – 1 zezwala na logowanie roota
w sekcji [X11rdp} dopisać
param5=-depth
param6=24
Sekcje [Xvnc] można usunąc, nie będzie nam potrzebna
xrdp.ini
usunąc sekcje [xrdp1] do [xrdp6]
zmienić numer sekcji [xrdp7] na [xrdp1]
w pliku xrdb-xinitrc w zmiennej SESSIONS ustawić pierwszą pozycję na odpowiadajacy nam Window Manager np. startkde
Uruchmaimy deamona poprzez /etc/rc.d/rx.xrdp start
Uwaga !!!
Połaczenie nie jest szyfrowane a co za tym idzie nie jest bezpieczne.
Tunelowanie SSh poprzez PUTTY
Tworzymy połączenie ssh poprzez putty
w sekcji SSH –> Tunnels w polu Source port wpisujemy port tunelowania np. 6666
w polu Destination wpisujemy localhost:3389
Zapizujemy połaczenie
Po połaczeniu poprzez PUTTY łączymy sie klientem pulpitu zdalnego poprzez address localhost:6666
Dopisanie parametru address=127.0.0.1 w sekcji [Globals] pliku xrdp.ini spowoduje że możliwe bedzie jedynie połaczenie z sesją x11rdp poprzez tunel ssh lub localhost