Gutsy Gibbon, che fine hanno fatto le TTY?
Ormai sono rimasti in pochi (o no?) ad utilizzare i terminali virtuali, e nella maggior parte dei casi si utilizzano in casi estremamente particolari, ma dopo l’aggiornamento ad Ubuntu 7.10 Gutsy Gibbon, per chi utilizza (fuori dal server X) una risoluzione video diversa da quella predefinita, ci si è trovati davanti a dei terminali che (seppur funzionanti), risultavano invisibili.
Ma esiste una soluzione ed io l’ho trovata…
Giusto per capirci, i cosiddetti terminali virtuali, sono quelle console che si aprono (se utilizzate un ambiente desktop) con le combinazioni Ctrl + Alt + F1…F6.
Sono chiamati così perché anche se girano fisicamente tutti sulla stessa macchina, sono indipendenti ognuno dall’altro, come se avessimo tanti terminali connessi al nostro PC, per cui per ognuno è necessario effettuare un diverso login.
Infine abbiamo il settimo terminale (Ctrl + Alt + F7) che è quello a cui è connesso il famosissimo X e che di fatto è quello che utilizziamo (spesso senza saperlo) per far funzionare il nostro DE preferito.
Tutti quelli che utilizzano una versione server di Ubuntu oppure coloro che per abitudine vogliono controllare le operazioni effettuate durante l’avvio del sistema, è penalizzante essere costretti ad utilizzare una risoluzione bassissima (640×480 con caratteri 8×16) che tra le altre cose è anche piuttosto bruttina da vedere.
E allora come fare?
Le operazioni che seguiranno sono molto delicate in quanto modificheremo il comportamento del sistema in fase di boot. Inutile dire che errori in questo caso potrebbero rendere il sistema inutilizzabile pertanto assicuratevi che i vostri dati siano al sicuro e di avere un CD live di Ubuntu. In caso di problemi io sono comunque a vostra disposizione
Per questa guida ho utilizzato l’editor di testi nano, se non vi ci trovate bene, vi sta antipatico o non sapete usarlo e ne preferite un altro (chessò vi, emacs o gedit), vi basterà sostituire all’occorenza nano con ciò che preferite. E ora andiamo a sporcarci le mani.
1. Togliamo il nostro modulo per il framebuffer dalla blacklist
sudo vi /etc/modprobe.d/blacklist-framebuffer
Dovreste vedere una cosa tipo questa
# Framebuffer drivers are generally buggy and poorly-supported, and cause
# suspend failures, kernel panics and general mayhem. For this reason we
# never load them automatically.
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
...
blacklist nvidiafb
...
blacklist vesafb
blacklist vfb
blacklist vga16fb
Come potete leggere dalle prime righe di questo file sono stati esclusi tutti i moduli per il supporto al framebuffer onde evitare bug.
Cercate il driver relativo alla vostra scheda video e commentate la riga relativa aggiungendo un #, lo si intuisce facilmente dal nome (quale sarà quello per una ATI Radeon? :P), potete tranquillamente scegliere vesafb o (nel caso non dovesse funzionare vga16fb) che sono driver generici, tanto avere il supporto al 3d o a chissà quali mirabolanti features è assolutamente inutile per un terminale di testo.
Se avete una scheda video Nvidia il discorso si complica leggermente:
- Controllate se state utilizzando un driver proprietario o opensource
cat /etc/X11/xorg.conf | grep Driver
Il risultato sarà più o meno così
Driver "kbd"
Driver "mouse"
Driver "wacom"
Driver "wacom"
Driver "wacom"
Driver "nvidia"
Driver "nvidia" - se tra le ultime righe compare nvidia, state usando i driver proprietari (come me), quindi commentate vesafb
- nvidiafb si usa nel caso stiate utilizzando i driver opensource (nv)
Salviamo e chiudiamo il file.
2. Aggiungiamo i moduli necessari tra quelli caricati all’avvio
Altro file di configurazione da modificare.
sudo nano /etc/initramfs-tools/modules
Aggiungiamo alla fine, uno per riga i moduli fbcon e quello decommentato pocanzi. Nel mio caso ottengo
# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
fbcon
vesafb
3. Aggiorniamo lo script di avvio (il grande init)
Niente dipiù facile grazie ad un’utility creata solo per questo
sudo update-initramfs -u -k all
4. Modifichiamo la configurazione di Grub
Se non lo abbiamo già fatto, ora possiamo scegliere la risoluzione che preferiamo durante l’avvio, modificando /boot/grub/menu.lst
sudo nano /boot/grub/menu.lst
scorriamo il file fino queste righe
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=vga=795 ro verbose nosplash locale=it_IT
Senza decommentare niente, possiamo ora aggiungere le opzioni che ci interessano separate da spazi. Per saperne di più potete consultare il wiki della comuinità di ubuntu.
Nel mio caso ho utilizzato le opzioni
- vga=795 per avere una risoluzione di 1280×1024 @ 32bit
- ro per accedere al filesystem di avvio in sola lettura (non è obbligatorio, ma è buona norma farlo)
- verbose per visualizzare tutti i messaggi del sistema durante il boot
- nosplash disattiva l’uso di usplash (la barra di caricamento grafica di ubuntu) che volendo ha una sua seppur limitata modalità verbose se lo preferite
- locale=it_IT imposta la localizzazione del sistema in modo da avere (quando possibile) i messaggi in italiano anche durante il boot
Salviamo, chiudiamo ed infine aggiorniamo grub:
sudo update-grub
Controlliamo che non ci abbia dato errori prima di riavviare. Al prossimo riavvio potremo verificare che tutti i cambiamenti abbiano avuto l’effetto sperato.
per vostra comodità aggiungo infine una piccola tabella con elencate tutte le risoluzioni video e i relativi valori da aggiungere all’opzione vga= . Potete indifferentemente mettere il valore decimale o esadecimale (0x…)
| 640×480 | 800×600 | 1024×768 | 1280×1024 | |
| 8bit | 769 (0×301) | 771 (0×303) | 773 (0×305) | 775 (0×307) |
| 16bit | 784 (0×310) | 787 (0×313) | 790 (0×316) | 793 (0×319) |
| 24bit | 785 (0×311) | 787 (0×314) | 790 (0×317) | 793 (0×31A) |
| 32bit | 786 (0×312) | 789 (0×315) | 792 (0×318 | 795 (0×31B) |
Gianluca S. @ 18:00 del 6 Gennaio 2008


Mi piace come guida! Snella e sintetica, complimenti
ciao, uso hardy e ho una nvidia 9500 Gs, ho seguito la procedura ma non ho risolto, ho commentato solo vesafb… da cosa può dipendere?
Mi sembra piuttosto strano che su hardy non funzionino le tty, dal momento che questo problema è stato corretto all’origine.
E’ probabile che passando alla 8.04 tramite aggiornamento, la cosa non venga sistemata.
Ti consiglio di rivedere tutti i passaggi dell’how-to, con particolare attenzione al n. 3.
Inoltre potresti provare ad usare il modulo vga16fb.
Fammi poi sapere come è andata