Il desiderio di ridurre il "total cost of ownership" (TCO) ha portato molte realt ad utilizzare sistemi "terminal server" (TS). Anche se il concetto di "terminale" 竪 nato da Unix gli ultimi 15 anni hanno visto la casa di Redmond protagonista del mercato. Oggi si intravvede un'inversione di tendenza, dovuta al netto miglioramento di applicazioni desktop opensource, al minor costo dei sistemi Linux Embedded e - paradossalmente - alla necessit di riportare lato client applicativi multimediali e di comunicazione (SkyPe, VOIP, etc.) che si accompagna a hardware per i client decisamente performante. L'intervento mostra come installare un sistema TS basato su xrdp per realizzare desktop di lavoro assolutamente comparabili con altre soluzioni commerciali.
1 of 34
Downloaded 56 times
More Related Content
La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Romano Trampus
1. me!
La rivincita di Linux: da MS Windows
TS ai client Linux embedded e xrdp.
Romano Trampus - trampus@units.it
(Univ. Trieste, Servizi Informatici per le Biblioteche)
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
2. Outline
me!
Contesto, concetti ed idee
Sistemi TS e MS Terminal Services
Vantaggi sistemi TS (accentramento, riduzione del TCO, ...)
Spostamento applicazioni (es skype, firefox, ... ) lato client
Il protocollo rdp
Alternative a rdp
Vantaggi / svantaggi rdp
Xrdp (distro di riferimento Ubuntu 704)
Disegno architetturale
Installazione
Configurazioni
Dimostrazione pratica del funzionamento
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
3. AVVERTENZA
me!
Le idee di questo intervento non sono mirate a stabilire una compara-
zione valutativa assoluta tra due prodotti (uno, maturo, commerciale e
uno in via di sviluppo opensource).
La scelta di una soluzione tecnologica in un ambiente di lavoro reale
deve tener conto di molteplici fattori che la rendono unica in ciascun
contesto applicativo e temporale.
Le due soluzioni (Microsoft Terminal Services e Linux + xrdp) non sono
messe direttamente a confronto in questo intervento.
Esistono molte alternative possibili per la realizzazione di sistemi central-
izzati, sia commerciali che non.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
4. Concetti preliminari
me!
Per sistema terminal server si intende in questo intervento un sis-
tema centralizzato a cui i client si collegano. Il client possiede il
software necessario per visualizzare un desktop remoto ad uso es-
clusivo dell'utente (definizioni un po' pi湛 precise pi湛 avanti). Nell'in-
tervento possono essere usati nomi alternativi per indicare
soluzioni tecnologiche simili (a volte per indicare uno specifico
prodotto, ad esempio xrdp).
RDP 竪 un protocollo (proprietario) per la comunicazione tra client e
server.
Per linux embedded si intende un sistema hardware su cui 竪 instal-
lato Linux configurato in modo da:
Occupare spazio disco limitato
Di norma non essere modificabile e non venir modificato durante
il funzionamento.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
5. Concetti ed idee
me!
Anni '80 esplosione del mercato desktop computing e inizia l'asce-
sa di MS Windows
Anni '90 nasce Linux
Sul mercato desktop Microsoft Windows ha sempre fatto il ruolo del
leone
Utenti finali dichiarano di aver maggior feeling con l'interfaccia di
Microsoft
Spesso gli utenti non distinguono l'applicazione dal sistema opera-
tivo
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
6. Idee
me!
Aziende di diverse dimensioni utilizzano soluzioni centralizzate
(terminal services) per molte ragioni (riduzione del TCO, ...).
Esistono molte alternative (commerciali e non) per la realizzazione
di sistemi TS.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
7. Vantaggi TS
me!
L'utente non usa pi湛 un PC ma un thinclient
L'utente non ha il completo controllo della macchina
Sicurezza
Controllo remoto della sessione di lavoro
Ubuquit
Telelavoro
...
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
8. Svantaggi TS
me!
La user experience con un sistema TS 竪 influenzata dal contesto:
potenza di calcolo del sistema centrale, larghezza di banda
disponibile tra client e server, tipologia di applicazioni utilizzate.
Single point of failure
Per applicazioni multimediali e di telefonia bisogna veicolare l'audio
Pagine web con animazioni consumano banda anche quando l'u-
tente non sta guardando
...
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
9. Shift di applicazioni da server a client
me!
I thinclient spesso sono basati su sistemi linux embedded con
rdesktop
Spostamento di applicazioni da server a client per ovviare al single
point of failure, esigenze di voip, web browsing, colli di bottiglia nel-
la banda, ...
Aumento delle performance dei thinclient dovute al calo dei costi
hardware
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
10. Divario tra le applicazioni
me!
Riduzione del divario tra le applicazioni proprietarie e le appli-
cazioni FLOSS
In alcuni casi molti utenti finali preferiscono l'alternativa FLOSS
proprio per l'usabilit (ad es. MS IE 7.0 vs. Mozilla Firefox)
In molti casi l'alternativa FLOSS ha raggiunto le potenzialit propri-
etarie per tutte le funzioni richieste dalla maggioranza degli utenti
(ad esempio MS Office vs. OpenOffice)
Aumento della capacit di utilizzo delle applicazioni da parte degli
utenti e maggiore flessibilit.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
11. Sistemi Terminal Server
me!
Un sistema terminal server 竪 un computer che ha la particolarit di ag-
gregare canali di comunicazione multipli. Siccome ciascuno di quesi
canali 竪 bidirezionale sono possibili due modelli di funzionamento:
Diverse entit si collegano ad una singola risorsa
Una singola entit si collega a diverse risorse
Il sistema pu嘆 mettere a disposizione risorse sia fisiche che virtuali
Quando il sistema permette l'accesso contemporaneo a diversi utenti si
parla di centralized computing.
(wikipedia)
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
12. Centralized Computing
me!
Il sistema terminal server rende disponibile un desktop di lavoro
per ciascuno dei terminali (utenti) connessi.
Le applicazioni per il collegamento ai sistemi terminal server sono
spesso chiamati anche remote desktop application.
I terminali che hanno prevalentemente lo scopo di rendere disponi-
bile una remote desktop application vengono spesso chiamati thin-
client.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
13. RDP History
me!
E' un protocollo proprietario (Microsoft) basato sull'ITU T.share protocol
(aka T.128).
La prima versione del RDP (versione 4.0) 竪 stata introdotta con le Ter-
minal Services in Windows NT 4.0 Server, Terminal Server Edition.
La versione 5.0, introdotta con Windows 2000 Server ha aggiunto il sup-
porto per la gestione di molte risorse (local printing, miglioramento dell'u-
tilizzo della banda)
La versione 5.1, rilasciata con Windows XP Professional, supporta audio
e colori a 32 bit.
Di default, tutti i sistemi Windows XP e Vista includono il Remote Desk-
top Connection (RDC) client, un'applicazione per il collegamento ad un
sistema terminal server con il protocollo RDP.
I client RDP sono disponibili per tutti i sistemi operativi (Microsoft Win-
dows, Mac OSX, Linux, ...)
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
14. Obiettivo
me!
Creare un client embedded basato su linux con il client rdesktop per col-
legarsi a un terminal server RDP e tutte le altre applicazioni eventual-
mente desiderate.
Creare terminal server Linux che accetta connessioni con il protocollo
RDP in modo da fornire agli utenti un desktop remoto basato su Linux.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
15. Linux embedded
me!
Utilizziamo il tool Live-Helper realizzato da Daniel Baumann
nell'ambito del Debian Live project.
Live-Helper contiene script che automatizzano la creazione di
un Live Linux CD o USB.
Ipotizziamo di voler creare una versione live da eseguire da
una memoria flash o da una pendrive.
Non si pu嘆 installare Linux direttamente su una memoria flash
perch竪 queste hanno un numero limitato di cicli
lettura/scrittura.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
16. Linux embedded
me!
vi /etc/apt/sources.list
deb http://live.debian.net/debian/ feisty main
apt-get install debian-unofficial-archive-keyring
apt-get install live-helper
Dare il comando
lh_config
per preparare l'ambiente preliminare per la creazione del sistema live
Cambiare i file di configurazione nella direcotry
debian-live/config/
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
17. Linux embedded
me!
Nel file
debian-live/config/chroot
Impostare il parametro LIVE_INTERACTIVE=quot;enabledquot;
(consente di effettuare modifiche alla configurazione prima che l'immag-
ine del sistema live sia compressa)
Specificare la lista dei pacchetti da installare, ad esempio:
LIVE_PACKAGES_LISTS=quot;gnome, rdesktop, tsclientquot;
Nel file
debian-live/config/binary
Impostare il parametro LIVE_BINARY_IMAGES=quot;usb-hddquot;
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
18. Linux embedded
me!
Avviare il processo di creazione con il comando
lh_build
Una volta che gli script hanno finito di installare l'ambiente base verr
avviata una shell (chroot) per l'installazione di software addizionale e
permettere ulteriori configurazioni.
Exit, per continuare il processo
dd if=binary.img of=/dev/sdX
Il sistema sulla memoria flash al boot verr caricato in ramdisk e Linux
non scriver alcun dato sul supporto fisico.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
19. VNC (Virtual Network Computing)
me!
VNC 竪 stato creato inizialmente nel laboratorio della Olivetti & Oracle
Research Lab, mantenuto poi dalla Olivetti e Oracle Corporation.
Nel 1999 AT&T ha acquistato il laboratorio, quindi nel 2002 ha chiuso
definitivamente la parte di laboratorio dedicata alla ricerca.
VNC RFB (Remote Frame Buffer) si basa semplicemente su regioni di
pixel dello schermo che vengono inviati al client in forma compressa.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
20. xrdp
me!
http://xrdp.sf.net
Xrdp 竪 un servizio che accetta connessioni dai client RDP. Xrdp imple-
menta il protocollo RDP, la sicurezza, i protocolli intermedi necessari al
funzionamento, un semplice window manager e alcuni controlli.
Il processo 竪 multi threaded.
RDP implementa 3 livelli di sicurezza per la trasmissione dei dati:
Low utilizza 40 bit, vengono cripttati solo i dati dal client al server.
Medium utilizza 40 bit in modo bidirezionale.
High utilizza 128 bit in modo bidirezionale.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
21. xrdp
me!
Xrdp supporta tutti e tre i livelli di sicurezza 3. I file di configurazione
sono normalmente in /etc/xrdp.
Xrdp 竪 modulare e i singoli moduli vengono caricati a runtime.
Il multi threading ottimizza le performance: i rallentamenti di un client
non hanno ripercussioni sugli altri.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
22. Moduli Xrdp
me!
Libvnc, un modulo VNC che permette di collegarsi a un server VNC.
Librdp, un modulo RDP che permette di collegarsi ad un server RDP.
Supporta solo connessioni RDP4.
Sesman, 竪 il session manager di xrdp. Xrdp utilizza sesman per verifi-
care le credenziali dell'utente e avviare il desktop remoto ramite il win-
dows manager installato.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
23. Xrdp architecture
me!
Xrdp 竪 un server
libvnc X11
RDP
xrdp libxrdp
client
...
sesman
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
24. Installazione XRDP
me!
Sistema di riferimento: Ubuntu Linux 7.04
sudo apt-get install build-essential
scaricare xrdp (http://xrdp.sf.net, v. 0.4.0)
compilare xrdp
make
make install
configurare il repository: /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ edgy universe
deb-src http://us.archive.ubuntu.com/ubuntu/ edgy universe
per risolvere un bug di vnc4server nel pacchetto della dis-
tribuzione di Ubuntu
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
25. Installazione xrdp
me!
apt-get install vnc4server/edgy
apt-get install kde
(o il desktop manager desiderato
Preparare gli script di startup
cp xrdp_control.sh /etc/init.d/xrdp
update-rc.d xrdp defaults
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
26. Performance RDP vs VNC
me!
(measuting multimedia performance...)
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
27. Dimostrazione funzionamento
me!
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
28. Alternative
me!
Linux Terminal Server Project (
http://www.ltsp.org/)
VNC
Citrix (ICA)
http://en.wikipedia.org/wiki/Comparison_of_remote_desktop_
software
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
29. Perch辿 RDP?
me!
Perch辿 竪 installato di default su tutti i sistemi
Microsoft Windows e il client per Linux e gli
altri S.O. 竪 molto piccolo, trasportabile e di
solito non richiede installazione (basta es-
eguirlo).
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
30. Conclusioni
me!
I sistemi terminal server nascono molto prima del protocolo RDP
(si veda come alternativa LTSP basato su bootp e collegamento diretto
a X11).
La diffusione di Microsoft Windows ha spinto verso determinate
soluzioni.
Vincoli tecnologici e costi di licenza hanno stimolato la creazione di thin-
client basati su Linux.
La riduzione del divario tra applicazioni proprietarie e FLOSS ha ridotto
le perplessit degli utenti nei confronti del FLOSS.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
31. Riferimenti
me!
XRDP: http://xrdp.sourceforge.net/
VNC protocol, http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/protocol.html
Wikipedia: http://www.wikipedia.org
J. Nieh, S. J. Yang, Measuring the Multimedia Performance of Server-Based
Computing, Proceedings of the 10 th International Workshop on Network and
Operating System Support for Digital Audio and Video, Chapel Hill, NC, June
2000. http://citeseer.ist.psu.edu/nieh00measuring.html
S. Jae Yang, Jason Nieh, Matt Selsky, and Nikhil Tiwari, The Performance of
Remote Display Mechanisms for Thin-Client Computing, roceedings of the 2002
USENIX Annual Technical Conference, June 10-15, 2002, Monterey Conference
Center, Monterey, California, USA.
http://www.usenix.org/events/usenix02/full_papers/yang/yang_html/
Create Your Own Live Linux CD or USB distribution,
http://www.pendrivelinux.com/2007/05/31/create-your-own-live-linux-cd-or-usb-
distribution/
Debian Live Project, http://debian-live.alioth.debian.org/
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
32. Riferimenti
me!
rdesktop, http://www.rdesktop.org
tsclient, http://sourceforge.net/projects/tsclient/
Skype, http://www.skype.com
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
33. Ack
me!
MS, Microsoft, Windows速 sono marchi regis-
trati di Microsoft Corporation.
I nomi dei prodotti indicati sono marchi regis-
trati dei rispettivi produttori o autori, dove ap-
plicabile.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste
34. Licenza d'uso
di questo documento
me!
Quest'opera 竪 stata rilasciata sotto la licenza Creative Commons At-
tribuzione-Condividi allo stesso modo 2.5.
Per leggere una copia della licenza visita il sito web
http://creativecommons.org/licenses/publicdomain/ o spedisci una
lettera a Creative Commons, 559 Nathan Abbott Way, Stanford, Cal-
ifornia 94305, USA.
Universit degli Studi di Trieste copyleft 2007 Romano Trampus
Sabato 27 ottobre 2007 trampus@units.it
LUGTrieste