3 votes

Ubuntu Server ignore console-setup lorsqu'il redémarre dans VirtualBox

J'ai trouvé ce comportement étrange. Dans VirtualBox, Ubuntu Server 12.04 utilise cette police :

entrez ici la description de l'image

Je trouve cela difficile à lire. Maintenant, je peux exécuter dpkg-reconfigure console-setup correctement, et définir la police sur Fixed, alors cela ressemble à ceci :

entrez ici la description de l'image

C'est aussi ainsi que cela se présente par défaut dans VMware; beaucoup mieux à mon avis. Curieusement, la police du gestionnaire de démarrage ressemble également à cela (c'est-à-dire qu'elle se charge correctement).

dpkg-reconfigure console-setup met à jour correctement le fichier /etc/default/console-setup, mais après un redémarrage, tous les paramètres ont disparu. Pour une raison quelconque, il ne charge pas console-setup.

Quelqu'un a une idée d'où pourrait se trouver le problème? Ou encore mieux, par où pourrais-je commencer à chercher?

2voto

hello.wjx Points 136

C'est un bug : La police de la console n'est pas définie, et vous pouvez voir le correctif ici. Il a été corrigé dans 12.10, mais le correctif n'a pas été reporté dans 12.04 pour le moment.

Vous pouvez donc le corriger en créant le fichier de travail upstart /etc/init/console-font.conf avec le contenu suivant :

# console-font - définir la police de la console
#
# Définir la police de la console, au cas où la règle udev similaire entre en collision avec Plymouth
# et échoue donc à le faire.

description "définir la police de la console"

start on starting plymouth-splash

task

exec /lib/udev/console-setup-tty fbcon

1voto

AngelCervantes Points 11

Consultez ubuntu vivid disrgards-console-setup après le redémarrage et https://unix.stackexchange.com/questions/198791/.

Ce problème semble être causé par une discordance dans le nommage des polices auxquelles s'attend console-setup par rapport à celles se trouvant dans /usr/share/consolefonts/, et donc copiées dans /etc/console-setup/ lorsque vous choisissez une police à utiliser (en utilisant dpkg-reconfigure console-setup).

Si vous allez dans une console et exécutez strace /lib/udev/console-setup-tty fbcon, vous verrez qu'il essaie d'ouvrir des polices de la sorte :

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

Mais si vous regardez dans /etc/console-setup/, il n'y a qu'une poignée de polices (celles que vous avez choisies), et elles ressemblent plus à cela :

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

Une a la hauteur x la largeur, et l'autre a la largeur x la hauteur.

Le problème peut être résolu de quelques manières.

(1) /lib/udev/console-setup-tty pourrait être corrigé - C'est la solution la plus permanente et amont.

(2) Vous pourriez changer manuellement /etc/default/console-setup, en inversant la hauteur et la largeur dans FONTSIZE. Cela devra être refait à chaque fois que vous changez les polices en utilisant dpkg-reconfigure console-setup. Mais lorsque la machine redémarre, cette préférence est conservée.

(3) Vous pourriez installer les polices attendues par console-setup-tty. C'est ce que j'appelle l'option "excès". Je l'ai fait de cette façon :

Dans /etc/rc.local :

# installer les polices console puis configurer la console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon

Créez un script appelé /etc/console-setup/fonts.sh :

#!/bin/bash

action=$1

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

case "$1" in
    install)
        # les polices console ne sont pas nommées correctement dans Ubuntu 15.04, compensation
        [[ -d $parent/$subdir ]] || mkdir $parent/$subdir
        for x in $( cd $srcdir ; ls -1 ) ; do
           # réorganiser les deux nombres de HHxWW à WWxHH
           y=$(echo "$x" | sed -e 's/^\([^-]*\)-\([^0-9]*\)\([0-9]*\)x\([0-9]*\).psf.gz/\1-\2\4x\3.psf.gz/g')
           # que le motif ci-dessus corresponde ou non, nous allons décompresser ici
           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
        # supprimer uniquement les liens brisés (liens vers les polices que nous avons supprimées ci-dessus)
        rm $(find -L $parent -type l)
        ;;
    *)
        echo "$(basename $0) install|uninstall"
        ;;
esac

exit 0

Pour une solution pragmatique rapide, je choisirais #2, avec un commentaire dans le fichier indiquant qu'il peut être nécessaire de le refaire si vous choisissez une police différente (en supposant que le commentaire ne soit pas écrasé également).

Mais #3 fonctionne bien avec peu de tracas ou de désordre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X