Altera o número de linhas e colunas no TTY [duplicado]

9

Eu quero redimensionar o terminal que aparece quando você pressiona Ctrl Alt F1 (ou F2 , F3 , ...). 25x80 é pequeno para uma tela de 24 ".

Tentei usar stty, mas os comandos stty columns 200 e stty rows 50 não funcionam diretamente. Estou faltando alguma coisa OU esta é uma abordagem errada.

O ideal é procurar uma solução generalizada, mas estaria contente com algo que funciona no RHEL5 e no Ubuntu. Seria melhor se fosse possível usar alguns comandos que eu poderia colocar em um arquivo de script em vez de alterar algumas coisas no nível de inicialização.

    
por BiGYaN 16.08.2013 / 09:15

1 resposta

9

Existem dois tipos principais de console de vidro no Linux: modos gráfico e de texto.

Você obtém consoles gráficos se o seu subsistema de vídeo é suportado diretamente pelo kernel do Linux e você ativou / não desabilitou isso (depende da distribuição). Se houver um driver, sua tela será autodetectada e você obterá (por padrão) texto de 9 × 16 pixels em sua resolução nativa. Então você terá o problema oposto: texto minúsculo. Se CONFIG_FONTS e CONFIG_FONTS_* estiver ativado no kernel, você poderá alterar a fonte de tempo de inicialização para algo maior ou poderá carregar apenas uma fonte maior após a inicialização do sistema. Existem duas maneiras de alterar a resolução em si, caso não consiga autodetectar:

  • O modo 'deuses, me sinto tão velho', com o argumento de linha de comando do kernel vga= , como detalhado neste postagem no fórum . Você precisaria reconfigurar seu gerenciador de inicialização para isso, é claro. A opção vga= permite obter os modos de texto (modos < 256) e gráficos compatíveis com VESA (modos ≥ 256). O último será gráfico, mas não acelerado, portanto, a rolagem de um framebuffer muito grande pode parecer interessante, para valores lentos de "interessante".
  • A nova maneira, usando Configuração do Modo Kernel . Se você aprender um desses, aprenda este, a menos que esteja fazendo muito trabalho incorporado ou retro. O método vga= pode desaparecer em algum momento.

Se a sua placa de vídeo não for suportada, o driver não estiver carregado, etc, você se encontrará com um console em modo de texto. Consoles de modo de texto são limitados pelo intervalo de modos de texto da sua placa gráfica. 80 × 25, 80 × 43 e 80 × 50 são os padrões VGA. As placas VGA e SVGA não-IBM originais sempre tiveram bons modos de texto adicionais, mas as placas modernas geralmente não ("quem quer um texto?"). Há uma solução aqui: você pode manipular os registros VGA diretamente para reprogramar a parte CRTC do chip para obter resoluções mais altas. Um programa dos anos 90 chamado SVGATextMode poderia fazer isso sem a reconfiguração do kernel. Foi um pouco como xrandr , mas para consoles de texto, e ainda pode funcionar para você. Eu adorei: eu poderia conseguir algo bizarro como 100 × 37 na minha porcaria 14 "CRT. Tornou-se decente para o desenvolvimento em 1994. Para definir um modo no momento da inicialização, seu único recurso é usar vga= e usar um Modo VESA.

Sobre o comando stty : ele informa ao kernel sobre seu terminal, mas não pode alterar o próprio terminal. stty rows 200 dirá ao kernel que seu terminal de vidro conectado remotamente tem 200 linhas por tela. Por que esse é o caso é explicado nas respostas a esta pergunta .

    
por 16.08.2013 / 11:00