11 de mar. de 2011

Como ajustar a resolução de vídeo do shell e como desativar o framebuffer (no Ubuntu)

Linux shell - imagem ilustrativa

Um usuário, auto intitulado "Entusiasta Linux", nos escreveu solicitando ajuda para resolver um "problema" de "acessibilidade" no Ubuntu Server. Segundo ele, desde a versão 9.10, a interface modo texto passou vir com uma resolução de vídeo maior, deixando a fonte muito pequena, o que dificulta a leitura. Também relatou que gostaria de encontrar uma maneira de deixar o shell do Ubuntu com o mesmo aspecto da interface de linha de comando do Debian.

A tal "resolução de vídeo maior" tem haver com o framebuffer. Logo, a solução envolve ou a configuração correta do mesmo (se possível) ou a sua desativação.

Mas antes de prosseguir, um aviso:

Desligar o framebuffer provavelmente irá desabilitar a tela de inicialização gráfica (graphical boot screen).

Solução 1 - tentar configurar uma resolução menor para o framebuffer

Execute (SOMENTE) os passos 1, 2, 4 e 5 desta dica: http://linuxlike.blogspot.com/2010/05/corrigindo-resolucao-do-plymouth-de.html

Solução 2 - desativar o framebuffer com os parâmetros de inicialização "vga=normal nomodeset"

Isto pode ser feito temporariamente, alterando o GRUB antes de iniciar o sistema, ou "definitivamente", editando o arquivo de configuração do GRUB (/boot/grub/menu.lst ou /etc/default/grub, dependendo da versão instalada).

Exemplo para o GRUB 2 (geralmente disponível nas Distribuições Linux atuais):

Execute o comando:
sudo gedit /etc/default/grub

Localize a linha GRUB_CMDLINE_LINUX="". Altere para:
GRUB_CMDLINE_LINUX="vga=normal nomodeset"

Salve e feche o arquivo. Execute:
sudo update-grub2 && sudo update-initramfs -u

Reinicie o sistema.

Solução 3 - desativar o framebuffer adicionando os módulos vgaarb e vga16fb ao blacklist (blacklist-framebuffer.conf)

Verifique se os módulos vgaarb e vga16fb foram carregados. Execute:
dmesg | grep -i vga

No hardware em que efetuamos os testes, o resultado do comando acima é este:
lynx@lynx-desktop:~$ dmesg | grep -i vga
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.32-28-generic root=UUID=73144f77-2719-45d7-82ea-213659228a77 ro vga=normal nomodeset quiet splash
[    0.000000] Console: colour VGA+ 80x25
[    0.194558] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.194570] vgaarb: loaded
[   20.085986] vga16fb: initializing
[   20.085991] vga16fb: mapped to 0xc00a0000
[   20.086064] fb0: VGA16 VGA frame buffer device

Para adicionar os módulos ao blacklist, execute;
gedit /etc/modprobe.d/blacklist-framebuffer.conf

No final do arquivo, adicione as seguintes linhas:
blacklist vgaarb
blacklist vga16fb

Salve e feche o arquivo. Reinicie o sistema.

Solução 4 - desativar o framebuffer na BIOS

Não vou entrar em detalhes, já que o menu da BIOS varia de acordo com o hardware. Mas vale a pena registrar a informação.

Referência / maiores informações: https://wiki.edubuntu.org/FrameBuffer

Complemento

O usuário que nos contatou resolveu o seu problema com a terceira solução apresentada.

Após aplicá-la, relatou que o sistema passou a exibir a seguinte mensagem de erro na inicialização:
piix4_smbus 0000:00:07.0: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr

Informações sobre a causa (e a solução) podem ser encontradas AQUI.

Em resumo, é um erro relacionado ao VirtualBox.

Para saná-lo, basta adicionar a linha blacklist i2c_piix4 ao arquivo /etc/modprobe.d/blacklist.conf.

E executar o comando:
update-initramfs -u -k all

É isso :)

Fique agora com uma mensagem do nosso "patrocinador":

1 comentários

Anônimo disse...

depois de atualizar o Mint Debian, o sistema abre a tela de login e senha mas não habilita o teclado e ou mouse. O que pode ser?
Ja tentei o dpkg --confige -a e nada