Quelle est la bonne façon de changer la police de la console de manière non interactive?
J'ai un écran HiDPI et j'ai besoin d'une police de police plus grande. Je peux le régler interactivement très bien en utilisant:
$ Sudo dpkg-reconfigure console-setup
# Select UTF-8 -> Guess -> Terminus -> 16x32
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.130ubuntu3.5) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-43-generic
Cependant, si j'essaie de le définir de manière non interactive, comme suit:
$ Sudo debconf-set-selections <<EOF
console-setup console-setup/charmap47 select UTF-8
console-setup console-setup/codeset47 select Guess optimal character set
console-setup console-setup/codesetcode string guess
console-setup console-setup/fontface47 select Terminus
console-setup console-setup/fontsize string 16x32
console-setup console-setup/fontsize-fb47 select 16x32 (framebuffer only)
console-setup console-setup/fontsize-text47 select 16x32 (framebuffer only)
EOF
Cela ne fonctionne pas. Lancer setupcon
n'a aucun effet. Si je vérifie /etc/default/console-setup
, je vois que les informations sur la police sont mises à jour lorsque je lance dpkg-reconfigure
et dpkg-reconfigure
déclenche également update-initramfs
, de sorte qu'il semble qu'il se passe encore plus de choses avec dpkg-reconfigure
que mon debconf-set-selections
ne déclenche pas. Comment trouver ces actions et les déclencher après mon debconf-set-selections
?
Vous devrez le faire dans le fichier/etc/default/console-setup, par exemple, si nous devons utiliser les polices Terminus 16x32, la commande sera la suivante:
Sudo sed -i '/^FONTFACE/s/^/#/' /etc/default/console-setup # comment out the old value
Sudo sed -i '/^FONTSIZE/s/^/#/' /etc/default/console-setup # comment out the old value
echo 'FONTFACE="TER"' | Sudo tee -a /etc/default/console-setup # Set font to Terminus
echo 'FONTSIZE="16x32"' | Sudo tee -a /etc/default/console-setup # Set font size
Et enfin, appliquez votre modification avec Sudo update-initramfs -u
De plus, les noyaux Ubuntu (à partir de Xenial) prendront bientôt en charge FONT_TER16x32 pour l’affichage de la console au début de l’étape de démarrage [1].
Pour bénéficier de cette prise en charge des polices HiDPI, il suffit d’ajouter "fbcon = font: TER16x32" à GRUB_CMDLINE_LINUX dans/etc/default/grub et d’exécuter Sudo update-grub
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819881