[miniHOWTO] Il sistema grafico

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts
  • Nesquik
    Bodyweb Advanced
    • Jan 2003
    • 401
    • 3
    • 0
    • /home/nesquik
    • Send PM

    [miniHOWTO] Il sistema grafico

    Prendo spunto dal problema postato da Sergio per scrivere qualche riga riguardo la gestione della grafica su gnu/linux.
    Parto iniziando dalla gestione della grafica sui sistemi windows nota ai piu', per far capire la differenza sul pinguino, i pro e i contro...
    In windows l'ambiente grafico e' parte integrante del sistema operativo, gira in kernel-space e dispone di una serie di librerie di programmazione note come API.
    In gnu/linux l'ambiente grafico e' separato dal kernel, gira in user-space ed e' un software come un altro. La gestione della grafica si basa sull'architettura client/server: abbiamo quindi un server grafico noto come X-windows (o semplicemente X) che offre delle librerie di basso livello per permettere ai client ("programmi") di interagire con esso: le XLib, e una sessione grafica di base: Xsession che offre solamente l'interfaccia da terminale a /dev/pts/0.
    Vediamo quindi che X-windows, di per se', offre la grafica di base: la gestione delle finestre, lo sfondo, e una serie di funzioni di base racchiuse nelle XLib che fanno in modo che lo sviluppo di un programma direttamente dalle XLib risulti essere molto complesso e laborioso (di fatto le XLib offrono quasi solo semplici funzioni ideali per il 2d come 'disegna un punto', 'disegna un poligono', 'disegna un cerchio', ecc.).
    SOPRA X-windows girano, come abbiamo detto, i programmi che si appoggiano alle XLibs: i fondamentali sono ambienti desktop -desktop environments (DE) o gestori di finestre piu' semplici - windows managers (WM) che "vestono" X-windows e offrono un sacco di comodita' all'utente: alcuni di questi sono KDE, Gnome, Xfce, fluxbox, blackbox, windows maker, e molti molti altri (piu' di quanti pensiate!)...
    Esiste poi una serie di librerie di funzioni grafiche di livello piu' alto delle Xlib che si appoggiano su queste e semplificano la vita al programmatore facendo da tramite tra esso e le XLib: alcune di queste sono le Qt (distribuite con l'ambiente KDE per lo sviluppo di applicazioni per questo ambiente), le GTK (stessa cosa per Gnome), le SDL, le OpenGL, ecc.
    Una delle principali critiche fatte a questo sistema di gestione grafica e' la maggiore pesantezza rispetto a windows: vorrei subito premettere che molto e' in funzione del DE in uso..
    Tutto, cmq, sta nella grande differenza che l'ambiente grafico in windows e' in kernel-space e qui invece in user-space e sono fortemente convinto che quest'ultima soluzione sia geniale: sebbene possa essere meno veloce o fluido perche' fuori dal kernel, infatti, questo comporta un grande vantaggio parlando di sicurezza, non obbliga reboot del sistema in caso di crash dell'ambiente grafico, offre la liberta' di scelta del ambiente desktop, puo' non venire installato (ottimo per server, proxy, vecchi computer o portatili), possono venire aperti piu' display contemporaneamente, ecc... e scusate se e' poco !
    Due note infine sull'avvio di X e la scelta dell'ambiente: una sessione viene avviata attraverso lo script 'startx', una sorta di front-end all'inizializzatore vero e proprio di X-windows: xinit.
    Per determinare quale client far partire, startx cerca innanzitutto il file .xinitrc nella home utente e, in mancanza, legge il xinitrc di sistema. Stessa cosa vale per il server: .xserverrc locale oppure xserverrc di sistema (i files di sistema sono presente in /etc/X11/xinit/).
    Il windows manager d'avvio viene definito in /etc/rc.conf impostando la variabile XSESSION con uno degli script presenti in /etc/X11/Sessions; nello stesso file si imposta la variabile DISPLAYMANAGER se si vuole utilizzare un gestore di display come xdm, kdm, gdm per gestire il login grafico (la controparte X di programmi tipo getty) (questo non ha molto senso se il runlevel non e' impostato a proposito).
    Questo e' tutto...
    have fun


    ah, ultima cosa: sempre in /etc/X11/ si trova il file di configurazione del server che, nel caso di XOrg, si chiama xorg.conf; e' buona cosa tenerne una copia di backup di un sistema funzionante...
    Last edited by Nesquik; 07-05-2005, 22:54:45.
    .
    RFC Project aspetta il tuo contributo

    Originariamente Scritto da JPP
    io non sono umano, io sono l'ex Signore dei Bordelli e trascendo la materia fallace. In me alberga lo spirito di Lord Byron. Rassegnati, a me l'errore è negato
  • Sergio
    Administrator
    • May 1999
    • 88159
    • 2,199
    • 2,898
    • United States [US]
    • Florida
    • Send PM

    #2
    Originariamente Scritto da Nesquik
    Il windows manager d'avvio viene definito in /etc/rc.conf impostando la variabile XSESSION con uno degli script presenti in /etc/X11/Sessions; nello stesso file si imposta la variabile DISPLAYMANAGER se si vuole utilizzare un gestore di display come xdm, kdm, gdm per gestire il login grafico (la controparte X di programmi tipo getty) (questo non ha molto senso se il runlevel non e' impostato a proposito).
    Questo e' tutto...
    have fun
    Ok, questo lo avevo ripristinato, ma mi è cambiata l'interfaccia grafica che ora mi si presenta per il log utente.
    E' un interfaccia grafica strana che non mi permette di selezionare i diversi gestori (KDe, Gnome, etc...)
    Esiste un gestore finestre a metà strada tra console iniziale ed il KDE ?

    Se il post qui è OT poi lo spostiamo nell'altro thread.



    Commenta

    • Nesquik
      Bodyweb Advanced
      • Jan 2003
      • 401
      • 3
      • 0
      • /home/nesquik
      • Send PM

      #3
      non ho capito bene...
      ti e' cambiato il display manager di turno per il login grafico ?
      prova a postare uno screenshot
      .
      RFC Project aspetta il tuo contributo

      Originariamente Scritto da JPP
      io non sono umano, io sono l'ex Signore dei Bordelli e trascendo la materia fallace. In me alberga lo spirito di Lord Byron. Rassegnati, a me l'errore è negato

      Commenta

      • Sergio
        Administrator
        • May 1999
        • 88159
        • 2,199
        • 2,898
        • United States [US]
        • Florida
        • Send PM

        #4
        Argh... è un pò un problema fare uno screenshot.
        Tra l'altro ora ho fatto in modo che il KDE si logghi come winmanager di default e quando esco dal KDE ho solo opzione "SLOGGA" utent ee torno a quel winmanager strano.
        Per spegnere il pc devo aprire la console fare reboot, neanche TERM funziona....
        Stranooo....



        Commenta

        • Nesquik
          Bodyweb Advanced
          • Jan 2003
          • 401
          • 3
          • 0
          • /home/nesquik
          • Send PM

          #5
          se da kde dai un ctrl-alt-del vai alla shell o torni a quen wm ? mi descrivi quel wm ? er spegnere il pc non riesci a dare, previo 'su', uno shutdown -h now ? che runlevel hai impostato (boot testuale o grafico ?) se boot grafico che display manager usi/usavi ?
          .
          RFC Project aspetta il tuo contributo

          Originariamente Scritto da JPP
          io non sono umano, io sono l'ex Signore dei Bordelli e trascendo la materia fallace. In me alberga lo spirito di Lord Byron. Rassegnati, a me l'errore è negato

          Commenta

          • Sergio
            Administrator
            • May 1999
            • 88159
            • 2,199
            • 2,898
            • United States [US]
            • Florida
            • Send PM

            #6
            Originariamente Scritto da Nesquik
            se da kde dai un ctrl-alt-del vai alla shell o torni a quen wm ? mi descrivi quel wm ? er spegnere il pc non riesci a dare, previo 'su', uno shutdown -h now ? che runlevel hai impostato (boot testuale o grafico ?) se boot grafico che display manager usi/usavi ?
            Se faccio da kde dai un ctrl-alt-del non succede nulla.
            Descriverlo è un pò un casino, tutto grigio, grafico non testuale, con scritto Simply Change vicino al logo del Suse, con solo due caselle al centro dove inserire User e Pass. Appare anche una piccola finestra con scritto "xconsole"
            Shutdown -h now funziona, arresta il PC.
            Il boot è grafico.



            Commenta

            Working...
            X