Un système LFS peut être utilisé sans bureau graphique, et à moins ou jusqu'à avoir installé un environnement graphique vous devrez travailler dans la console. La plupart, sinon tous, des PC démarrent avec une police 8x16 - quelle que soit la taille de l'écran. Il y a plusieurs choses que vous pouvez faire pour modifier l'affichage en console. La plupart implique de changer la police, mais les premiers changent la ligne de commande utilisée par grub.
Les écrans modernes ont souvent beaucoup plus de pixels que les écrans utilisés par le passé. Si votre écran fait 1600 pixels de largeur, un police 8x16 vous donnera 200 colonnes de texte - à moins que votre moniteur ne soit énorme, le texte sera petit. Une manière de contourner ceci est de dire à GRUB et au noyau d'utiliser une résolution plus petite, comme 1024x768 ou 800x600 ou même 640x480. Même si votre écran n'est pas en 4:3, cela devrait fonctionner.
Si vous avez suivi le livre LFS pour configurer votre noyau en
activant SimpleDRM et que le pilote du noyau dédié à votre GPU (par
exemple i915 ou AMDGPU) est construit en tant que module do noyau,
alors avant le chargement du pilote dédié, le pilote SimpleDRM sera
utilisé pour l'affichage. Le pilote SimpleDRM lui-même ne peut pas
changer la résolution, donc vous devez dire à GRUB d'utiliser une
résolution convenable avant de charger le noyau en modifiant la
ligne set gfxpayload=1024x768x32
dans
le fichier
grub.cfg
.
Lorsque le pilote GPU dédié commence à fonctionner (une fois que le
noyau ou que le module est chargé suivant que vous l'ayez construit
dans le noyau ou en tant que module), il reprend le contrôle de
l'affichage à SimpleDRM et change la résolution de l'affichage.
Pour le faire utiliser la résolution souhaitée, modifiez de nouveau
le fichier grub.cfg
pour insérer un
paramètre video=
sur la ligne de
commande du noyau, par exemple root=/dev/sda2
video=DP-1:800x600 ro
. Remarquez qu'il est nécessaire de
spécifier explicitement le nom du périphérique comme DP-1
dans l'exemple : un paramètre
video=
sans nom de périphérique n'est
reconnu que par GRUB (comme un alias obsolète de set gfxpayload=
) et est complètement ignoré par le
noyau. Le contenu de /sys/class/drm
peut être utile pour déterminer le nom du périphérique, par exemple
le répertoire card1-DP-1
indique le
nom de DP-1
. Pour faire correspondre
le nom du périphérique à votre moniteur, installez l'utilitaire
edid-decode
et exécutez la commande edid-decode
/sys/class/drm/card<ID de la
carte>
-<nom du
périphérique>
/edid pour afficher les
informations (y compris le nom du modèle et les résolutions prises
en charge) sur le moniteur connecté à la sortie.
Si vous décidez que vous souhaitez le faire, vous pouvez ensuite
(en tant qu'utilisateur root
)
modifier /boot/grub/grub.cfg
.
Le paquet kbd est utilisé dans
LFS. Les polices qu'il fournit sont des polices d'écran PC,
habituellement appelées PSF, et sont installées dans /usr/share/consolefonts
. Lorsque celles-ci ont
une table de correspondance unicode, le suffixe du fichier est
souvent changé en .psfu
bien que les
paquets comme terminus-font (voir
plus bas) n'ajoutent pas le 'u'. Ces polices sont généralement
compressées avec gzip pour préserver l'espace, mais ce n'est pas
nécessaire.
Les premiers écrans textes des PC avaient 8 couleurs, ou 16 couleurs si les versions claires des 8 couleurs originales étaient utilisées. Une police PSF peut inclure jusqu'à 256 caractères (techniquement, glyphes) en permettant 16 couleurs, ou jusqu'à 512 caractères (auquel cas la versions claire des couleurs n'est plus disponible). Clairement ces polices ne peuvent pas être utilisées pour afficher des textes CJK - qui auraient besoin de milliers de glyphes.
Certaines polices dans kbd peuvent couvrir plus de 512 codes de points (caractères), avec différents degrés de fiabilité : unicode contient plusieurs codes de points pour des espaces qui peuvent tous être liés à un espace, différents tirets qui peuvent être liés à un signe moins, des guillemets qui peuvent tous être liés à des guillemets ASCII plutôt que ce qui est utilisé pour « le code de point n'est pas présent ou invalide », et les lettres grecques ou cyrilliques qui ressemblent à des lettres latines peuvent leur être liées, de sorte que 'A' ait aussi le rôle du A cyrillique et du Alpha grec, et 'P' peut avoir le rôle du ER cyrillique et du RHO grec. Malheureusement, lorsqu'une police a été créée depuis un fichier BDF (la méthode dans terminus et >console-setup de Debian), de tels liaisons de code de point supplémentaires sur des glyphes existants ne sont généralement pas effectuées, bien que les polices terminus ter-vXXn le fassent correctement.
Il y a plus de 120 combinaisons de polices et de tailles dans
kbd : en général, une police
est fournie avec plusieurs tailles, et parfois des variétés
couvrent différents sous-ensembles de l'unicode. La plupart sont
larges de 8 pixels, en hauteur de 8 à 16 pixels, mais il y en a un
peu qui font 9 pixels de larges, certaines qui font 12x22 et même
une (latarcyrheb-sun32.psfu
) qui a
été dimensionnée en 16x32. Utiliser une police plus grande est un
autre moyen de rendre le texte plus facile à lire sur de grands
écrans.
Vous pouvez tester les polices en tant qu'utilisateur normal. Si vous avez une police qui n'a pas été installée, vous pouvez la charger avec :
setfont /chemin/vers/votre/police.ext
Pour les polices déjà installées, vous n'avez besoin que du nom,
donc pour gr737a-9x16.psfu.gz
par
exemple :
setfont gr737a-9x16
Pour voir les glyphes dans la police, utilisez :
showconsolefont
Si la police a l'air d'être utilisable, vous pouvez ensuite la tester plus complètement.
Lorsque vous trouvez une police que vous souhaitez utiliser, en
tant qu'utilisateur root
, modifiez
/etc/sysconfig/console
comme décrit dans LFS
section 9.6.5 ../../../../lfs/view/12.3/chapter09/usage.html.
Pour les polices qui ne sont pas fournies par le paquet
kbd vous devrez éventuellement la
compresser avec gzip
puis l'installer en tant qu'utilisateur root
.
Bien que certaines polices de console soient créées depuis des fichiers BDF, qui sont un format texte avec des valeurs hexadécimales pour les pixels dans chaque ligne du caractère, il y a des outils plus modernes utilisables pour éditer des polices psf. Le paquet psftools vous permet de décharger une police en une représentation textuelle avec un tiret pour un pixel éteint (noir) et un dièse pour un pixel qui est allumé (blanc). Vous peuvez ensuite éditer le fichier texte et ajouter plus de caractères, changer leur forme ou leur lier plus de codes de points, puis créer une nouvelle police psf avec vos changements.
Le paquet Terminus Font fournit
des polices bitmap à largeur fixe destinées aux longs (8 heures ou
plus par jour) travaux avec des ordinateurs. Dans 'Character
variants' sur cette page se trouve une liste de correctifs (dans le
répertoire alt/
). Si vous utilisez un
navigateur graphique pour regarder cette page, vous peuvez voir ce
que les correctifs font, par exemple « ll2 » rend
« l » visiblement différent de « i » et
« 1 ».
Par défaut, terminus-font essaiera de créer différents types de polices, et cela échouera si bdftopcf de Applications Xorg n'est pas installé. Le script configure n'est seulement vraiment utile que si vous installez toutes les polices (bitmaps console et X11) dans les bons répertoires, comme dans une distribution. Pour construire uniquement les polices PSF et leur dépendances, lancez :
make psf
Cela créera plus de 240 polices ter-*.psf. Le suffixe 'b' indique clair, 'n' indique normal. Vous pouvez ensuite les tester pour voir si elles remplissent vos exigences. À moins de créer une distribution, il est peu utile de les installer toutes.
Par exemple, pour installer la dernière de ces police, vous pouvez
la gziper et ensuite l'installer en tant qu'utilisateur
root
:
install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts