際際滷

際際滷Share a Scribd company logo
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dimostrazione funzionamento
    me!




Universit degli Studi di Trieste   copyleft 2007  Romano Trampus
    Sabato 27 ottobre 2007                   trampus@units.it
                                                                     LUGTrieste
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
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
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
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
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
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
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

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