Um sistema LFS pode ser usado sem uma área de trabalho gráfica e, a menos ou até que instale o um ambiente gráfico, você terá que trabalhar no console. A maioria, se não todos, dos PCs inicializa com uma fonte 8x16 - qualquer que seja o tamanho atual da tela. Existem umas poucas coisas que você pode fazer para alterar a exibição no console. A maioria delas envolve mudar a fonte, porém a primeira altera a linha de comando usada pelo GRUB.
As telas modernas frequentemente tem muito mais pixeis que as telas usadas no passado. Se a tua tela for da largura de mil e seiscentos (1.600) pixeis, uma fonte 8x16 te dará duzentas (200) colunas de texto - a menos que o teu monitor seja enorme, o texto será pequeno. Uma das maneiras de se contornar isso é a de se dizer ao GRUB e ao núcleo para usar uma resolução menor, tal como 1.024x768 ou 800x600; ou mesmo 640x480. Mesmo se a tua tela não tiver uma proporção de aspecto de 4:3, isso deveria funcionar.
Se você tiver seguido o livro LFS para configurar teu núcleo com
SimpleDRM habilitado e o controlador dedicado de núcleo para tua
GPU (por exemplo, i915 ou AMDGPU) for construído como um módulo de
núcleo, antes que o controlador dedicado seja carregado, o
controlador SimpleDRM será usado para exibição. O controlador
SimpleDRM em si não consegue mudar a resolução, de forma que você
precisa dizer ao GRUB para configurar a resolução adequada antes de
carregar o núcleo modificando a linha set
gfxpayload=1024x768x32
no arquivo
grub.cfg
.
Quando o controlador dedicado da GPU começa a funcionar (tão logo
que o núcleo ou o módulo seja carregado, dependendo se você o tiver
construído como parte da imagem do núcleo ou como um módulo), ele
tira o controle de exibição do controlador SimpleDRM e muda a
resolução de exibição. Para fazê-lo usar a resolução que você quer,
edite novamente o arquivo grub.cfg
para inserir um parâmetro video=
na
linha de comando do núcleo, por exemplo root=/dev/sda2 video=DP-1:800x600 ro
. Observe que
é necessário especificar explicitamente o nome de saída como
DP-1
aqui: um parâmetro video=
sem um nome de saída é reconhecido somente
pelo GRUB (como um apelido obsoleto de set
gfxpayload=
) e completamente ignorado pelo núcleo. O
conteúdo de /sys/class/drm/
pode ser
útil para descobrir o nome da saída gerada; por exemplo, o
subdiretório card1-DP-1
indica uma
saída gerada chamada DP-1
. Para
alinhar o nome da saída gerada com teu monitor, instale o
utilitário edid-decode
e execute o comando edid-decode
/sys/class/drm/card<ID da
placa>
-<nome da
saída gerada>
/edid para mostrar as
informações (incluindo o nome do modelo e as resoluções suportadas)
acerca do monitor conectado na saída.
Se decidir que deseja fazer isso, você pode então (como o(a)
usuário(a) root
) editar
/boot/grub/grub.cfg
.
No LFS o pacote kbd é usado. As
fontes que ele fornece são as Fontes de Tela do PC, geralmente
chamadas de PSF, e elas foram instaladas no /usr/share/consolefonts
. Onde essas incluem uma
tabela de mapeamento Unicode, o sufixo do arquivo frequentemente é
mudado para .psfu
, apesar de pacotes
tais como o terminus-font (veja-se
abaixo) não adicionarem o 'u'. Essas fontes geralmente são
comprimidas com o gzip para economizar espaço, porém isso não é
essencial.
As telas de texto iniciais do PC tinham oito (08) cores; ou dezesseis (16) cores se as versões brilhantes das oito (08) cores originais fossem usadas. Uma fonte PSF pode incluir até duzentos e cinquenta e seis (256) caracteres (tecnicamente, glifos) enquanto permite dezesseis (16) cores; ou até quinhentos e doze (512) caracteres (caso no qual, as cores brilhantes não estarão disponíveis). Claramente, essas fontes de console não podem ser usadas para exibir texto CJK - isso precisaria de centenas de glifos disponíveis.
Algumas fontes no kbd conseguem cobrir mais que quinhentos e doze (512) pontos de código ('caracteres'), com graus variantes de fidelidade: Unicode contém vários pontos de código de espaço em branco os quais podem todos serem mapeados para um espaço; variedades de traços podem ser mapeados para um sinal de menos; aspas inteligentes podem ser mapeadas para as aspas ASCII regulares em vez de para o que é usado para "ponto de código não presente ou inválido"; e aquelas letras cirílicas ou gregas que se parecem com letras latinas podem ser mapeadas nelas, de forma que 'A' também pode cumprir o dever para o A cirílico e grego Alfa; e 'P' também pode cumprir o dever para o cirílico ER e grego RHO. Infelizmente, onde uma fonte tenha sido criada a partir de um arquivo BDF (o método no terminus e no console-setup do Debian) tal mapeamento dos pontos de código adicionais em um glifo existente nem sempre é feito, apesar das fontes ter-vXXn do terminus fazerem isso bem.
Existem mais que cento e vinte (120) combinações de fonte e tamanho
no kbd: frequentemente uma fonte é
fornecida em vários tamanhos de caracteres; e, de vez em quando, as
variedades cobrem subconjuntos diferentes do Unicode. A maioria é
da largura de oito (08) pixeis, em alturas de oito (08) até
dezesseis (16) pixeis; porém, existem umas poucas que são da
largura de nove (09) pixeis; algumas outras são 12x22; e mesmo uma,
(latarcyrheb-sun32.psfu
), que foi
escalada até 16x32. Usar uma fonte maior é outra maneira de tornar
o texto mais fácil de ler em uma tela grande.
Você consegue testar as fontes como um(a) usuário(a) normal. Se tiver uma fonte que não tenha sido instalada, [então] você consegue carregá-la com:
setfont /caminho/para/sua_fonte.ext
Para as fontes já instaladas você precisa somente do nome; assim,
usando gr737a-9x16.psfu.gz
como um
exemplo:
setfont gr737a-9x16
Para ver os glifos na fonte, use:
showconsolefont
Se a fonte aparentar como se pudesse ser útil, você pode então ir em frente para testá-la mais minuciosamente.
Quando você encontrar uma fonte que desejar usar, como o(a)
usuário(a) root
edite o
/etc/vconsole.conf
conforme descrito na seção 9.6
do LFS ../../../../lfs/view/12.3-systemd/chapter09/console.html.
Para fontes não fornecidas com o pacote kbd, você precisará opcionalmente
comprimi-la(s) com o gzip e então instalá-la(s) como
o(a) usuário(a) root
.
Apesar de algumas fontes de console serem criadas a partir de arquivos "BDF", que é um formato de texto com valores hexadecimais para os pixeis em cada linha do caractere, existem ferramentas mais modernas disponíveis para editar fontes "psf". O pacote psftools te permite despejar uma fonte para uma representação de texto com um travessão para um pixel que esteja desligado (preto); e uma cerquilha para um pixel que esteja ligado (branco). Você consegue então editar o arquivo de texto para adicionar mais caracteres; ou remodelá-los; ou mapear pontos extras de código para eles; e, então, criar uma fonte "psf" nova com as suas mudanças.
O pacote Fonte Terminus fornece
fontes de mapa de bits de largura fixa projetadas para trabalho
longo (oito (08) horas ou mais por dia) com computadores. Sob
"Character variants" naquela página está uma lista de remendos (no
diretório alt/
). Se estiver usando um
navegador gráfico para olhar para aquela página, [então] você
consegue ver o que os remendos fazem; por exemplo, "ll2" torna o
"l" mais visivelmente diferente de "i" e "1".
Por padrão, terminus-fonts tentará criar vários tipos de fontes e falhará se bdftopcf oriundo do Aplicativos do Xorg não tiver sido instalado. O script configure somente é realmente útil se você for em frente para instalar todas as fontes (console e mapa de bits do X11) nos diretórios corretos, como em uma distribuição. Para construir somente as fontes PSF e as dependências delas, execute:
make psf
Isso criará mais que duzentas e quarenta (240) fontes ter-*.psf. O sufixo 'b' indica brilhante; 'n' indica normal. Você consegue então testá-las para ver se alguma se adéqua às suas exigências. A menos que esteja criando uma distribuição, parece não fazer sentido instalá-las todas.
Como um exemplo, para instalar a última dessas fontes, você pode
gzipá-la e, então, como o(a) usuário(a) root
:
install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts