Om Konsollfonter

Et LFS system kan brukes uten et grafisk skrivebord, og med mindre eller til du installerer et grafiske miljø må du jobbe i konsollen. De fleste, om ikke alle, PC-er starter opp med en 8x16 font - uansett hva den faktiske skjermstørrelsen er. Det er et par ting du kan gjøre for å endre skjermen på konsollen. De fleste av dem involverer endring av fonten, men den første endrer kommandolinjen brukt av grub.

Angi en mindre oppløsning i grub

Moderne skjermer har ofte mye flere piksler enn skjermene som ble brukt før. Hvis skjermen din er 1600 piksler bred, vil en font på 8x16 gi deg 200 kolonner med tekst - med mindre skjermen din er enorm, vil teksten være liten. En av måtene å omgå dette på er å fortelle GRUB og kjernen om å bruke en mindre oppløsning, for eksempel 1024x768 eller 800x600 eller til og med 640x480. Selv om skjermen ikke har et sideforhold på 4:3, bør dette fungere.

If you've followed the LFS book to configure your kernel with SimpleDRM enabled and the kernel driver dedicated for your GPU (for example i915 or AMDGPU) is built as a kernel module, before the dedicated driver is loaded, the SimpleDRM driver will be used for displaying. The SimpleDRM driver itself cannot change the resolution, so you need to tell GRUB to set the suitable resolution before loading the kernel by modifying the set gfxpayload=1024x768x32 line in the grub.cfg file.

Når den dedikerte GPU driveren begynner å fungere (når kjernen eller modulen lastes avhengig av om du har bygget den som en del av kjernebildet eller en modul), tar den skjermkontrollen bort fra SimpleDRM driveren og endrer skjermoppløsningen. For å få den til å bruke oppløsningen du ønsker, rediger igjen grub.cfg filen for å sette inn en video= parameter inn i kjernen sin kommandolinje, for eksempel root=/dev/sda2 video=DP-1:800x600 ro. Merk at det er nødvendig å spesifisere utdatanavnet DP-1 eksplisitt her: en video= parameter uten et utdatanavn gjenkjennes bare av GRUB (som en utdatert alias av set gfxpayload=) og fullstendig ignorert av kjernen. Innholdet i /sys/class/drm/ kan være nyttig for å finne ut utdatanavnet, for eksempel card1-DP-1 undermappe indikerer en utgang med navn DP-1. For å justere utgangsnavn med skjermen, installer edid-decode verktøyet og kjør edid-decode /sys/class/drm/card<card ID>-<output name>/edid kommandoen for å vise informasjonen (inkludert modellnavnet og støttede oppløsninger) om skjermen koblet til utgangen.

Hvis du bestemmer deg for at du ønsker å gjøre dette, kan du (som root bruker) redigere /boot/grub/grub.cfg.

Bruker standard psf fonter

I LFS kbd pakken er brukt. Fontene den gir er PC Screen Fonts, vanligvis kalt PSF, og de ble installert i /usr/share/consolefonts mappen. Hvor disse inkluderer en unicode tilordningstabell, endres filsuffikset ofte til .psfu selv om pakker som f.eks terminus-font (se nedenfor) ikke legger til "u". Disse skriftene er vanligvis komprimert med gzip for å spare plass, men det er ikke avgjørende.

De første PC-tekstskjermene hadde 8 farger, eller 16 farger hvis lyse versjoner av de originale 8 fargene ble brukt. En PSF-font kan inkludere opp til 256 tegn (teknisk, glyfer) mens det tillater 16 farger eller oppover til 512 tegn (i så fall vil de lyse fargene ikke være tilgjengelig). Disse konsollfontene kan tydeligvis ikke brukes til å vise CJK tekst - som vil trenge tusenvis av tilgjengelige glyfer.

Noen fonter i kbd kan dekke mer enn 512 kodepunkter ('karakterer'), med varierende grad av troskap: unicode inneholder flere mellomromskodepunkter som alle kan tilordnes til et mellomrom, varianter av bindestreker kan kartlegges til et minustegn, smarte anførselstegn kan kartlegges til de vanlige ASCII-sitatene i stedet for til det som brukes for "kodepunkt ikke tilstede eller ugyldig", og de kyrilliske eller greske bokstavene som ser ut som latinske bokstaver kan kartlegges på dem, så 'A' kan også gjøre jobben for kyrillisk A og gresk alfa, og 'P' kan også gjøre jobben for kyrillisk ER og gresk RHO. Dessverre, hvor en font er opprettet fra en BDF-fil (metoden i terminus og Debian's console-setup ) slik kartlegging av ekstra kodepunkter på en eksisterende glyf er ikke alltid gjort, selv om terminus ter-vXXn-fontene gjør dette bra.

Det er over 120 kombinasjoner av font og størrelse i kbd: ofte er en font gitt på flere tegnstørrelser, og noen ganger dekker varianter forskjellige undergrupper av unicode. De fleste er 8 piksler brede, i høyder fra 8 til 16 piksler, men det er noen få som er 9 piksler brede, noen andre som er 12x22 og til og med en (latarcyrheb-sun32.psfu) som er oppskalert til 16x32. Å bruke en større skrift er en annen måte å gjøre tekst på en stor skjerm lettere å lese.

Teste forskjellige fonter

Du kan teste fonter som en vanlig bruker. Hvis du har en font som ikke har vært installert, kan du laste den med :

setfont /path/to/yourfont.ext

For fontene som allerede er installert trenger du bare navnet, så å bruke gr737a-9x16.psfu.gz som et eksempel:

setfont gr737a-9x16

For å se glyfene i fonten, bruk:

showconsolefont

Hvis fonten ser ut som om den kan være nyttig, kan du fortsette å teste den mer grundig.

Når du finner en font du ønsker å bruke, som root bruker) rediger /etc/sysconfig/console som beskrevet i LFS seksjon 9.6.5 ../../../../lfs/view/development/chapter09/usage.html. .

For fonter som ikke følger med kbd pakken må du eventuelt komprimere den/dem med gzip og installer den/dem som root bruker.

Redigering av fonter ved hjelp av psf-verktøy

Selv om noen konsollfonter er laget av BDF-filer, som er et tekst format med hex-verdier for pikslene i hver rad av tegnet, det er mer moderne verktøy tilgjengelig for redigering av psf-fonter. psftools pakken lar deg dumpe en font til en tekstrepresentasjon med en bindestrek for en piksel som er av (svart) og en hash for en piksel som er på (hvit). Du kan deretter redigere tekstfilen for å legge til flere tegn, eller omforme dem, eller kartlegg ekstra kodepunkter på dem, og lage deretter en ny psf-font med endringene dine.

Bruke fonter fra Terminus-font

Terminus Font pakken gir bitmap-fonter med fast bredde designet for lange (8 timer og mer pr dag) arbeid med datamaskiner. Under 'Tegnvarianter' på den siden er en liste over oppdateringer (i alt/ mappen). Hvis du bruker en grafisk nettleser for å se på den siden, kan du se hva patchene gjør, f.eks. 'll2' gjør 'l' mer synlig forskjell fra 'i' og '1'.

Som standard terminus-fonts vil prøve å lage flere typer fonter, og den vil mislykkes hvis bdftopcf fra Xorg Applikasjoner ikke er installert. Konfigurasjonsskriptet er bare veldig nyttig hvis du fortsetter å installere alle fontene (konsoll og X11 bitmap) til riktige mapper, som i en distro. Å bygge bare PSF-fontene og deres avhengigheter, kjør:

make psf

Dette vil lage mer enn 240 ter-*.psf fonter. 'b'-suffikset indikerer lys, 'n' indikerer normal. Du kan deretter teste dem for å se om de passer dine krav. Med mindre du lager en distro, er det lite poeng i å installere dem alle.

Som et eksempel, for å installere den siste av disse fontene, kan du gzippe den og deretter som root bruker:

install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts