Come posso modificare in modo permanente il tipo di carattere TTY della console in modo che si conservi dopo il riavvio?


14

Sto eseguendo Ubuntu 15.04 64-bit Desktop Edition (un Linux basato su Debian).

Ho usato sudo dpkg-reconfigure console-setupdalla riga di comando per modificare il tipo di carattere predefinito della console in Terminus. Immediatamente dopo, i caratteri della console sono diventati più nitidi.

Tuttavia, dopo un riavvio Ctrl+ Alt+ F1mi porta a una finestra della console che ha la faccia del carattere di stile originale dall'aspetto più grosso, non la mia scelta selezionata.

Il /etc/default/console-setupfile sembra essere stato modificato nelle mie scelte.

# CONFIGURATION FILE FOR SETUPCON

# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="guess"
FONTFACE="Terminus"
FONTSIZE="8x16"

VIDEOMODE=

# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'

Come posso cambiare permanentemente il carattere della console per usare il mio carattere preferito?


Questa risposta su askuntu può aiutarti: askubuntu.com/a/396254/399775
toxefa,

Quindi sembra che sia un bug noto. Sfortunatamente nella domanda di askubuntu la risposta suggerita è quella di creare uno script upstart. Ubuntu 15.04 e Debian hanno ora adottato systemd e non usano più l'avvio.
Andy Fusniak,

Risposte:


6

Vedi /ubuntu/630118/ e /ubuntu/328463/ .

Questo problema sembra essere causato da una mancata corrispondenza nella denominazione dei caratteri che l'installazione della console prevede rispetto a ciò che si trova /usr/share/consolefonts/, e quindi copiata /etc/console-setup/quando si sceglie un carattere da usare (usando dpkg-reconfigure console-setup).

Se vai su una console e fai una strace /lib/udev/console-setup-tty fbcon, puoi vedere che sta cercando di aprire caratteri in questo modo:

/etc/console-setup/Lat15-TerminusBold11x22.psf

Ma se guardi dentro /etc/console-setup/, ci sono solo una manciata di caratteri (quelli che hai scelto), e sembrano più così:

/etc/console-setup/Lat15-TerminusBold22x11.psf.gz

Uno ha altezza x larghezza e l'altro ha larghezza x altezza.

Il problema può essere risolto in alcuni modi.

(1) /lib/udev/console-setup-ttypotrebbe essere risolto - Questa è la soluzione più permanente, a monte.

(2) È possibile modificare manualmente /etc/default/console-setup, invertendo l'altezza e la larghezza in FONTSIZE. Questo dovrà essere fatto ogni volta che cambi i caratteri usando dpkg-reconfigure console-setup. Ma quando la macchina si riavvia, tale preferenza viene mantenuta.

(3) È possibile installare i caratteri previsti dalla console-setup-tty. Questo è ciò che chiamo l'opzione "overkill". L'ho fatto così:

In /etc/rc.local:

# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon

Crea uno script chiamato /etc/console-setup/fonts.sh:

#!/bin/bash

action=$1

srcdir="/usr/share/consolefonts"
parent="/etc/console-setup"
subdir="fonts"

case "$1" in
    install)
        # console fonts are not named properly in Ubuntu 15.04, compensate
        [[ -d $parent/$subdir ]] || mkdir $parent/$subdir
        for x in $( cd $srcdir ; ls -1 ) ; do
           # rearrange the two numbers from HHxWW to WWxHH
           y=$(echo "$x" | sed -e 's/^\([^-]*\)-\([^0-9]*\)\([0-9]*\)x\([0-9]*\).psf.gz/\1-\2\4x\3.psf.gz/g')
           # whether the pattern above matches or not, we'll be uncompressing here
           z=${y/.psf.gz/.psf}
           [[ ! -f $parent/$subdir/$z ]] && zcat $srcdir/$x > $parent/$subdir/$z
           [[ ! -L $parent/$z ]] && ln -sv $subdir/$z $parent/$z
        done
        ;;
    uninstall)
        rm -rf $parent/$subdir
        # only remove broken links (links to the fonts we removed above)
        rm $(find -L $parent -type l)
        ;;
    *)
        echo "$(basename $0) install|uninstall"
        ;;
esac

exit 0

Per una rapida soluzione pragmatica, farei # 2, con un commento nel file che potrebbe essere necessario rifare se si sceglie un carattere diverso (supponendo che il commento non venga sovrascritto).

Ma # 3 funziona bene con confusione o disordine minimi.


6

Di recente ho riscontrato questo problema sulla mia casella Ubuntu 15.04 a 64 bit. Il setupconcomando ha impostato i caratteri su quello che avevo impostato dpkg-reconfigure console-setup.

Ho aggiunto setupconal mio rc.local, ma questo ha lasciato un vuoto in cui il font era ancora sbagliato (perché rc.local viene eseguito dopo l'installazione della console), quindi non è stato abbastanza buono per me.

Quindi, ho deciso di approfondire. Ho modificato il mio /lib/systemd/system/console-setup.servicefile e aggiunto ExecStart=/bin/setupconalla fine del file. Che chiamerà setupconquando la console è impostata, correggendo i caratteri all'avvio senza un intervallo di tempo.


2

La soluzione più semplice che ho trovato è stata modificare /etc/default/console-setupper impostare

FONT="Lat7-Terminus32x16.psf.gz"

e commenta tutto il resto tranne la ACTIVE_CONSOLESriga.

Puoi applicarlo immediatamente con setupcone verrà applicato anche dopo il riavvio.

Specificare il nome del carattere anziché i singoli componenti aggira la mancata corrispondenza dei nomi descritta da Alan Porter.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.