Cambiare l’usplash e avere la TTY a risoluzione piena

Mi piace configurare ogni dettaglio della distribuzione. Ho cercato quindi dopo avere installato Ubuntu, come cambiare l’usplash (cioè il caricamento in fase di boot) e come impostare le TTY (cioè le console virtuali raggiungibili con i tasti Ctrl+Alt+F[1-6]) perché avessero la risoluzione del mio monitor (un amplissimo 1680×1050). Se volete sapere come fare, continuate a leggere.

Cambiare l’usplash e impostarne la risoluzione

Una cosa per volta. Usplash è ciò che rappresenta graficamente il boot in moltissime distribuzioni Linux (compresa Ubuntu). Non è la tecnologia migliore, infatti pare Ubuntu cambierà nella versione 9.10 (o 10.4) seguendo le orme di Fedora. In ogni caso per ora funziona ed è bella la possibilità di cambiarne l’aspetto. Oltre a ciò, si può anche impostarne la risoluzione (che quasi sempre non è corretta, viene tenuta a 1024×768 o 800×600 per questioni di compatibilità).

La prima cosa da fare è procurarsi un bel tema usplash. Su GNOME Look ce ne sono moltissimi (basta cercare il termine usplash), e bisogna assicurarsi che il tema supporti la risoluzione che vogliamo, in caso contrario dovremmo usarlo ad una risoluzione inferiore. Io ho scelto Hardy Colors usplash che fornisce temi in colorazioni differenti. In generale comunque un tema usplash viene distribuito come una libreria in formato .so. Per l’esempio, userò il tema human-ubuntu.so presente nell’archivio di cui sopra.

Da terminale, una volta entrati nella cartella che lo contiene, provvedete a copiarlo dove deve andare:

sudo cp human-ubuntu.so /usr/lib/usplash

Ora dovete creare il nuovo collegamento allo splash screen. Pertanto il comando da dare sarà:

sudo ln -sf /usr/lib/usplash/human-ubuntu.so /etc/alternatives/usplash-artwork.so

Prima di terminare, modificate il file responsabile della risoluzione del vostro usplash:

sudo nano /etc/usplash.conf

Inserite i valori appropriati (la vostra risoluzione, o quella supportata dal tema) e poi premete F2, Invio, F3. Non resta altro che aggiornare l’initramfs:

sudo update-initramfs -u

Impostare la risoluzione delle TTY

Per ricavare le informazioni utili che adopererete, dovrete installare il pacchetto hwinfo. Fatelo col gestore di pacchetti. Nel terminale date quindi il comando:

sudo hwinfo --framebuffer

Tra le ultime righe c’è quello che interessa, in particolare nel mio caso:

Mode 0x0368: 1680x1050 (+1680), 8 bits
Mode 0x0369: 1680x1050 (+6720), 24 bits

Ricordate che se il vostro è un monitor economico (molti di quelli nei portatili lo sono) allora non avrete la possibilità di impostare la piena risoluzione che usate. Potete sceglierne comunque una maggiore di quella che state usando in quel momento per le TTY. Io ho la possibilità di ottenere la risoluzione 1680×1050 a 24 bit usando la modalità 0x0369. Mi segno pertanto il numero, dimenticandomi dello zero dopo la x. Ciò che mi serve pertanto è 0x369. Voi segnate il vostro numero e poi modificate il file di avvio di GRUB:

sudo nano /boot/grub/menu.lst

Cercate la riga delle kopt, probabilmente sarà simile alla seguente:

# kopt=root=UUID=********-****-****-****-************ ro

Voi limitatevi ad aggiungere in fondo il parametro vga come segue, sostituendo naturalmente il valore trovato (ricordate che è tutto su una riga):

# kopt=root=UUID=********-****-****-****-************ ro vga=0x369

Ora l’ultima cosa da fare è aggiornare GRUB:

sudo update-grub

Per ora è tutto. Dal prossimo avvio della macchina (lo spegnimento potrebbe vedersi male, tranquilli) sarà tutto perfetto. Godetevi il vostro boot a tema ed a risoluzione piena, e la vostra nuova immensa console. 🙂

Fonti e spunti:

26 pensieri riguardo “Cambiare l’usplash e avere la TTY a risoluzione piena

  1. agrrrrrrrrr -.- ho perso una settimana dietro a framebuffer sul mio philips 22” e non sono mai riuscito a ottenere risultati decenti causa il refresh che non posso impostare (in modalità framebuffer) correttamente per lo specifico monitor. Alla fine della fiera utilizzo la TTY classica e non in modalità framebuffer 🙂 comunque bel post perchè è scritto bene, ne ho visti tanti altri sull’ argomento e questo è ben fatto 🙂

  2. Ci sono alcuni punti non chiari:

    > sudo update-grub
    Non dovrebbe essere necessario per cambiatre semplicemente la risoluzione del framebuffer; puoi spiegare perchè lo fai?

    >Ricordate che se il vostro è un monitor economico (molti di quelli nei portatili lo sono)
    > allora non avrete la possibilità di impostare la piena risoluzione che usate.

    Che vuol dire?
    Se il monitor sincronizza quella frequenza sotto X perchè non dovrebbe via framebuffer? Al più il problema è il driver framebuffer che non supporta tali refresh e che quindi ne va compilato staticamente uno specifico nel kernel…

  3. Ciao,
    modifico il file /boot/grub/menu.lst per aumentare la risoluzione di tty ma al reboot la risoluzione non è cambiata e nel file non è presente la modifica vga=0X323
    come da sudo hwinfo –framebuffer

    […]
    Mode 0x0323: 1024×768 (+4096), 24 bits
    Config Status: cfg=new, avail=yes, need=no, active=unknown

    come se venisse ricreato ad ogni reboot. Qualche idea?
    ciao e grazie

  4. @ Andy, per quanto riguarda la prima domanda, siccome si mette il parametro nelle opzioni che andranno aggiunte a tutti i kernel, bisogna poi aggiornare grub in modo che le applichi appunto ai kernel che sta usando in quel momento.
    Per la seconda: non ho mai parlato di frequenza, bensì di risoluzione. Purtroppo non ho salvato il link, ma ho letto chiaramente su un how-to che molto spesso i produttori di display/monitor (specie quelli presenti nei laptop) non supportano tutte le risoluzioni in framebuffer per risparmiare. Il mio display è quello più costoso che c’era per il mio portatile, quindi funziona alla grande. Sul portatile di un mio amico facendo la scansione con hwinfo infatti non vengono tutte le risoluzioni.
    @ Enrico, segui attentamente la guida, ed assicurati di salvare il file! Se non ti trovi bene con nano, modifica il file con gedit. In ciò che mi hai scritto c’è un errore: nel “vga=0X323” la “x” dev’essere minuscola. 😉

  5. @Lazza: il file l’ho modificato e salvato correttamente, ma dopo l’esecuzione di sudo update-grub la modifica sparisce, ancora prima di rebootare.. boh!

  6. Curioso il comportamente di update-grub in ubuntu…
    In sid, da cui deriva ubuntu, dandogli il comando, nn fa altro che aggiornare lui il menu.lst in base ad i file che trova in /boot, quindi ti elimina tutte le tue personalizzazioni. Io per avere semplicemente il framebuffer in console 1, ho aggiunto il vga=parametro ed ho riavviato la macchina.

  7. Si giusto. Per quanto concerne l’aggionamento di grub, in sid non devi assoltamente dare il grub-update, altrimenti ti annula le modifiche fatte tra le direttive:

    ### BEGIN AUTOMAGIC KERNELS LIST
    ### END DEBIAN AUTOMAGIC KERNELS LIST

    Al limite puoi inserirle dopo, ricompiando pari pari la sezione che ti interessa e modificandola. A quel punto pero’ in menu, hai una voce ridondante.

  8. Eh be’ grazie tante! 😯
    Le modifiche non vanno fatte lì! Vanno messe tra i parametri predefiniti (kopt=) e l’update-grub serve proprio ad applicarle dentro a quel blocco di direttive! 😐

  9. In sid, kopt NUN c’e’ 🙂 mentre in ubuntu si. Tanto e’ vero che nel mio menu.lst dopo ### END DEBIAN AUTOMAGIC KERNELS LIST ho le voci per ubuntu 8.04 installato su un disco usb esterno ed e’ presente kopt.
    Se vuoi ti posto il mio menu.lst

    Ciao

  10. Ciao! Bella guida, linguaggio molto chiaro e circonciso 😉
    Io però ho un problema con i temi usplash…ho seguito i comandi da digitare nel terminale della prima parte della guida, e non ho riscontrato nessun errore, ma nonostante ciò non riesco ancora a visualizzare il tema usplash MacX
    ( http://www.gnome-look.org/content/show.php/MacX+Usplash+Theme?content=73611 <—questo)
    Si vedono i processi che sta caricando il sistema nudi e crudi…praticamente l'unico tema che mi parte è quello di default di ubuntu… 🙁
    Potresti darmi una mano?

    Grazie in anticipo 🙂
    Saluti!

    1. …spero vivamente tu intendessi dire “conciso”. 😉
      Ad ogni modo ciò che mi dici mi fa sospettare che la tua risoluzione sia supportata da pochi temi. Che risoluzione usi? Col tema che ho indicato io nel post ti funziona?

  11. ooops, sì scusa..sono 4 ore che tra formattazione, reinstallazione di ubuntu e relativi programmi…sono un po’ fuso :P…
    Ho anche scordato di dirti la risoluzione…:S è su un portatile da 15,4″, 1280×800, che mi pare sia supportata da quel tema.
    Comunque non ho ancora provato quello che hai usato te nella guida, ora lo testo 😉

    p.s. mamma mia che tempestività :O

  12. Appena riavviato dopo aver dato i comandi per installare il tema human-ubuntu della guida…niente da fare…a 1024×768 non si vede la grafica 🙁 …

  13. Tempestività? Mah… non ho mai capito i blogger che se la tirano e fanno aspettare i lettori quando possono rispondere subito. 🙂
    Ad ogni modo mi pare abbastanza impossibile che tutto questo non funzioni. Hai seguito esattamente tutta la guida? Per favore, dammi l’output del comando:
    ls -l /usr/lib/usplash && file /etc/alternatives/usplash-artwork.so && cat /etc/usplash.conf

  14. Sisi, oh seguito tutto alla lettera…la questione dell’usplash è l’unica con cui sto combattendo da mesi senza venirne a capo..non ha mai funzionato!

    Questo è l’output del comando:

    davide@ubuntu-laptop:~$ ls -l /usr/lib/usplash && file /etc/alternatives/usplash-artwork.so && cat /etc/usplash.conf
    totale 17396
    -rwxr-xr-x 1 root root 10323946 2009-09-07 01:01 dark-ubuntu.so
    -rwxrwxr-x 1 root root 4462734 2009-09-07 00:37 macx-splash.so
    -rwxrwxr-x 1 root root 2512041 2009-09-07 00:14 macx-ubuntu-morph-splash.so
    lrwxrwxrwx 1 root root 36 2009-09-07 01:10 usplash-artwork.so -> /etc/alternatives/usplash-artwork.so
    -rw-r–r– 1 root root 505268 2009-03-20 00:45 usplash-theme-ubuntu.so
    /etc/alternatives/usplash-artwork.so: symbolic link to `/usr/lib/usplash/macx-splash.so’
    # Usplash configuration file
    xres=1024
    yres=768
    davide@ubuntu-laptop:~$

    Grazie ancora per l’aiuto 😉

    Davide

  15. Eccolo:

    davide@ubuntu-laptop:~$ file /usr/lib/usplash/*
    /usr/lib/usplash/dark-ubuntu.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
    /usr/lib/usplash/macx-splash.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
    /usr/lib/usplash/macx-ubuntu-morph-splash.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
    /usr/lib/usplash/usplash-artwork.so: symbolic link to `/etc/alternatives/usplash-artwork.so’
    /usr/lib/usplash/usplash-theme-ubuntu.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
    davide@ubuntu-laptop:~$

    1. Non so esattamente cosa possa essere. A volte può dipendere dal formato del binario che non va bene su Jaunty, ma non sono sicuro che sia questa la causa…

  16. sai per caso come si fa per avere la tty a risoluzione piena in Ubuntu 9.10?
    il comando gfxpayload non sembra funzionare e vga è deprecato inoltre di default c’è grub2 che non usa più il menu.lst

    grazie in anticipo

  17. Sì in teoria lo so, ma in pratica non mi funziona (invece della tty vedo una marea di pixel colorati a vanvera) perciò mi sa di non poterti aiutare… Dovrei prima capire come sistemare. 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *