====== Console: video mode e keymap ====== ===== console-setup ===== Si installa il pacchetto **console-setup**, si configura il file **''/etc/default/console-setup''**, ad esempio: FONTFACE="Terminus" FONTSIZE="32x16" Perché funzioni bisogna che il kernel riconosca la scheda video (caricando il modulo opportuno) e ne sappia sfruttare le caratteristiche. Per la configurazione del pacchetto si può anche usare: dpkg-reconfigure console-setup ===== Scelta del modo video in GRUB2 ===== **NOTA:** L'impostazione video effettuata da GRUB viene probabilmente reimpostata da **console-setup** (vedi paragrafo precedente), che viene eseguito dopo. Vedere l'articolo **[[http://yeban.github.com/2010/02/21/debian-console-framebuffer-grub2.html|Debian Console, Framebuffer, Grub2]]**. In **''/etc/default/grub''** si imposta la risoluzione grafica usata da GRUB: GRUB_GFXMODE=1024x768 Eseguendo **''update-grub''** questa impostazione si traduce in **''/boot/grub/grub.cfg''** nel comando set gfxmode=1024x768 Per scoprire le risoluzioni supportate si può avviare GRUB in modalità comandi ed eseguire: insmod vbe vbeinfo GRUB a sua volta avvia il kernel, la modalità video viene determinata dal comando **''set gfxpayload''**: set gfxpayload=1024x768 per mantenere durante il bootstrap lo stesso modo video selezionato con ''set gfxmode'' da GRUB si usa il comando: set gfxpayload=keep Il comando deve essere aggiunto in **''/boot/grub/grub.cfg''**, per ottenere questo in Debian Squeeze bisogna aggiungere una riga in **''/etc/default/grub''**: GRUB_GFXPAYLOAD_LINUX=keep ed eseguire ''update-grub''. Una altro parametro utile da passare al kernel è **''nomodeset''**, questo impedisce al kernel di modificare il modo video settato dal BIOS. In Debian si può aggiungere in **''/etc/default/grub''**, nel parametro **''GRUB_CMDLINE_LINUX''**. ===== Keymap ===== La mappatura della tastiera (es. italiana piuttosto che usa) può essere impostata in diversi modi. In **Debian Lenny** con il pacchetto **console-data**, riconfigurabile con ''dpkg-reconfigure'', che crea il file **''/etc/console/boottime.kmap.gz''**. In **Debian Squeeze** con i pacchetti **console-setup** e **keyboard-configuration**, entrambi riconfigurabili con ''dpkg-reconfigure''. Bisogna configurare prima //keyboard-configuration// e poi //console-setup//: con il primo viene generato il file **''/etc/default/keyboard''**, con il secondo viene generata la keymap **''/etc/console-setup/cached.kmap.gz''**. Dopo aver cambiato la keymap bisogna eseguire **''update-initramfs''** in modo che la stessa keymap venga copiata nella initramfs. Per caricare temporaneamente una keymap diversa si utilizza **''loadkeys''**. Come argomento si passa il percorso completo della keymap: loadkeys /etc/console/boottime.kmap.gz loadkeys /etc/console-setup/cached.kmap.gz oppure si passa come argomento il codice internazionale. In questo caso la keymap viene cercata nella directory ''/usr/share/keymaps/i386/qwerty/'', quindi servono i file installati dal pacchetto //console-data//: loadkeys it Loading /usr/share/keymaps/i386/qwerty/it.kmap.gz ===== Blank della console ===== === Debian 7 Wheezy === Un pacchetto utile da installare è **console-tools** che consente ad esempio di impostare il timeout di oscuramento della console. Ad esempio, per disabilitarlo, si mette in **''/etc/console-tools/config''**: BLANK_TIME=0 === Debian 8 Jessie === Nelle versioni più recenti di Debian (es. Jessie) non esiste più il pacchetto console-tools, la direttiva può essere messa in un file eseguito da **''/etc/init.d/kbd''**: mkdir /etc/kbd/config.d echo "BLANK_TIME=0" >> /etc/kbd/config.d/local === Debian 9 Stretch === Si utilizza un kernel Linux 4.9. Per verificare l'impostazione corrente (default 600 secondi): cat /sys/module/kernel/parameters/consoleblank Per disabilitare il blank è sufficiente aggiungere il parametro kernel **consoleblank=0**, ad esempio in **/etc/default/grub** (ricordarsi di eseguire ''update-grub''): GRUB_CMDLINE_LINUX="fsck.repair=yes consoleblank=0 ===== Messaggi kernel sulla console ===== Potrebbe essere che i messaggi del kernel vengano stampati sulla console anche dopo il login, di fatto rendendo molto difficile lavorare. Questa impostazione è controllata dallo pseudo file **/proc/sys/kernel/printk** cat /proc/sys/kernel/printk 4 4 1 7 Ogni parametro indica un loglevel. La scala va dai messaggi di priorità più bassa a quelli di priorità più alta. Un loglevel comprende quelli di valore inferiore, quindi aumentando il loglevel aumenteranno i messaggi mostrati perché verranno inclusi anche quelli di minore importanza. Questa la scala: ^ 0 | emerg | emergenze | ^ 1 | alert | interventi immediati | ^ 2 | crit | condizioni critiche | ^ 3 | err | errori | ^ 4 | warning | avvisi | ^ 5 | notice | condizioni normali ma importanti | ^ 6 | info | informazioni | ^ 7 | debug | messaggi di debug | I quattro valori sono associarti rispettivamente a: ^ console_loglevel | Massimo livello di severità dei messaggi che vengono mostrati sulla console. | ^ default_message_loglevel | Livello assegnato ai messaggi del kernel che non specificano esplicitamente un livello. | ^ minimum_console_loglevel | Limite inferiore al quale si può abbassare il primo parametro (impedisce di silenziare completamente la console). | ^ default_console_loglevel | Valore usato come livello iniziale della console al boot. | Per impostare i quattro valori si può utilizzare ''sysctl'': sysctl -w kernel.printk="4 4 1 7" Oppure rendere l'impostazione peramente con un file (ad esempio **/etc/sysctl.d/99-printk.conf**): kernel.printk = 4 4 1 7 Per impostare il primo valore (''console_loglevel'') si può usare in alternativa il comando **dmesg**: dmesg --console-level 4 oppure l'equivalente dmesg -n 4 Per **non visualizzare** i messaggi di Shorewall è sufficiente impostare ''dmesg --console-level 6'' o inferiori, poiché Shorewall logga a livello DEBUG.