desarrollo-web-br-bd.com

¿Cómo cambio permanentemente el tipo de letra TTY de la consola para que se mantenga después del reinicio?

Estoy ejecutando Ubuntu 15.04 64-bit Desktop Edition (un Linux basado en Debian).

Solía ​​Sudo dpkg-reconfigure console-setup desde la línea de comandos para cambiar el tipo de fuente de la consola predeterminada a Terminus. Inmediatamente después, las fuentes de la consola cambiaron a la fuente más nítida.

Sin embargo, después de un reinicio Ctrl+Alt+F1 me lleva a una ventana de consola que tiene la fuente de estilo original con aspecto más grueso, no es mi elección seleccionada.

Los /etc/default/console-setup el archivo parece haber cambiado a mis elecciones.

# 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'

¿Cómo cambio permanentemente la fuente de la consola para usar mi fuente preferida?

14
Andy Fusniak

Ver https://askubuntu.com/questions/630118/ y https://askubuntu.com/questions/328463/ .

Este problema parece ser causado por una falta de coincidencia en el nombre de las fuentes que la configuración de la consola espera frente a las que están en /usr/share/consolefonts/, y por lo tanto copiado a /etc/console-setup/ cuando elige una fuente para usar (usando dpkg-reconfigure console-setup).

Si vas a una consola y haces un strace /lib/udev/console-setup-tty fbcon, puede ver que está intentando abrir fuentes como esta:

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

Pero si miras en /etc/console-setup/, solo hay un puñado de fuentes allí (las que elegiste), y se parecen más a esto:

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

Uno tiene alto x ancho, y el otro tiene ancho x alto.

El problema se puede solucionar de varias maneras.

(1) /lib/udev/console-setup-tty podría repararse: esta es la solución más permanente y ascendente.

(2) Puedes cambiar manualmente /etc/default/console-setup, invirtiendo la altura y el ancho en FONTSIZE. Esto deberá hacerse cada vez que cambie las fuentes usando dpkg-reconfigure console-setup. Pero cuando la máquina se reinicia, esa preferencia se mantiene.

(3) Puede instalar las fuentes que console-setup-tty espera. Esto es lo que yo llamo la opción "overkill". Lo hice así:

En /etc/rc.local:

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

Crea un script llamado /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

Para una solución pragmática rápida, haría el n. ° 2, con un comentario en el archivo que puede ser necesario volver a hacer si elige una fuente diferente (suponiendo que el comentario no se sobrescriba).

Pero el # 3 funciona bien con un mínimo de alboroto o desorden.

6
Alan Porter

Recientemente me encontré con este problema en mi Ubuntu 15.04 64 bit box. El comando setupcon estableció las fuentes a lo que había configurado con dpkg-reconfigure console-setup.

Agregué setupcon a mi rc.local, pero eso dejó un espacio donde la fuente todavía estaba mal (porque rc.local se ejecuta después de configurar la consola), por lo que no fue lo suficientemente bueno para mí.

Entonces, decidí ir más profundo. Edité mi /lib/systemd/system/console-setup.service archivo y adjunto ExecStart=/bin/setupcon al final del archivo. Eso llamará setupcon cuando la consola esté configurada, corrigiendo las fuentes en el arranque sin un intervalo de tiempo.

6
MeetTitan

La solución más simple que encontré fue editar /etc/default/console-setup para establecer

FONT="Lat7-Terminus32x16.psf.gz"

y comentar todo lo demás excepto el ACTIVE_CONSOLES línea.

Puede aplicar esto inmediatamente con setupcon, y también se aplicará después de reiniciar.

La especificación del nombre de la fuente en lugar de los componentes individuales evita la falta de coincidencia de nombres descrita por Alan Porter.

2
David Faure