SlideShare a Scribd company logo
1 of 34
Download to read offline
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
                                                                               LUG Trieste
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
                                                                          LUG Trieste
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
                                                                            LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                            LUG Trieste
“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
                                                                              LUG Trieste
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
                                                                          LUG Trieste
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
                                                                         LUG Trieste
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
                                                                             LUG Trieste
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
                                                                         LUG Trieste
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
                                                                            LUG Trieste
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
                                                                           LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
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
                                                                            LUG Trieste
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
                                                                                LUG Trieste
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
                                                                         LUG Trieste
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
                                                                         LUG Trieste
Performance RDP vs VNC
    me!




      (measuting multimedia performance...)


Università degli Studi di Trieste   copyleft 2007 – Romano Trampus
    Sabato 27 ottobre 2007                   trampus@units.it
                                                                     LUG Trieste
Dimostrazione funzionamento
    me!




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

More Related Content

Similar to La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Romano Trampus

Similar to La rivincita di Linux: da MS Windows TS ai client Linux embedded e xrdp. - Romano Trampus (20)

Back to Mainframe
Back to MainframeBack to Mainframe
Back to Mainframe
 
X La Gui
X La GuiX La Gui
X La Gui
 
Elio Tondo - Linux In Azienda
Elio Tondo - Linux In AziendaElio Tondo - Linux In Azienda
Elio Tondo - Linux In Azienda
 
Una rete aziendale con Linux
Una rete aziendale con LinuxUna rete aziendale con Linux
Una rete aziendale con Linux
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Linux nelle PMI
Linux nelle PMILinux nelle PMI
Linux nelle PMI
 
Linux
LinuxLinux
Linux
 
Linuxday2007
Linuxday2007Linuxday2007
Linuxday2007
 
Tecnologie di rete
Tecnologie di reteTecnologie di rete
Tecnologie di rete
 
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobiliFunzionalità e portabilità dei sistemi operativi per piattaforme mobili
Funzionalità e portabilità dei sistemi operativi per piattaforme mobili
 
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 200300 Servizi It Con Prodotti Open 10 11 12 Nov 2003
00 Servizi It Con Prodotti Open 10 11 12 Nov 2003
 
Sistemi lezione-ii
Sistemi lezione-iiSistemi lezione-ii
Sistemi lezione-ii
 
this = that
this = that this = that
this = that
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
LTSP
LTSPLTSP
LTSP
 
Modulo 1 Concetti Generali
Modulo 1 Concetti GeneraliModulo 1 Concetti Generali
Modulo 1 Concetti Generali
 
Slide trentin
Slide trentinSlide trentin
Slide trentin
 
Dal computer ad un sistema informativo
Dal computer ad un sistema informativoDal computer ad un sistema informativo
Dal computer ad un sistema informativo
 
prova
provaprova
prova
 

More from Daniele Albrizio

Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Daniele Albrizio
 

More from Daniele Albrizio (10)

Va sui miei siti web
Va sui miei siti webVa sui miei siti web
Va sui miei siti web
 
Dns e bind
Dns e bindDns e bind
Dns e bind
 
free radius 201106
free radius 201106free radius 201106
free radius 201106
 
Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi Rete di casa e raspberry pi - Home network and Raspberry Pi
Rete di casa e raspberry pi - Home network and Raspberry Pi
 
Lightning saml
Lightning samlLightning saml
Lightning saml
 
Un tesoro nascosto nella linea di comando
Un tesoro nascosto nella linea di comandoUn tesoro nascosto nella linea di comando
Un tesoro nascosto nella linea di comando
 
E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?E va bene, passo a Linux. Da dove inizio?
E va bene, passo a Linux. Da dove inizio?
 
Metasploit3 - David Calligaris
Metasploit3 - David CalligarisMetasploit3 - David Calligaris
Metasploit3 - David Calligaris
 
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
Le esperienze Insiel nell'Open Source - Margherita Forcolin, Sergio Barletta
 
Un approccio scalabile e robusto per il mail filtering. - Simone Marzona
Un approccio scalabile e robusto per il mail filtering. -  Simone MarzonaUn approccio scalabile e robusto per il mail filtering. -  Simone Marzona
Un approccio scalabile e robusto per il mail filtering. - Simone Marzona
 

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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 27. Dimostrazione funzionamento me! Università degli Studi di Trieste copyleft 2007 – Romano Trampus Sabato 27 ottobre 2007 trampus@units.it LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste
  • 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 LUG Trieste