paulo1205
(usa Ubuntu)
Enviado em 13/02/2022 - 00:18h
Isso não é uma propriedade do
shell, mas sim do terminal onde o programa/
script está rodando.
Se você estiver se referindo ao console de texto, o conjunto de modos de vídeo disponíveis pode depender da resolução da tela selecionada no momento do
boot, que pode depender da combinação da sua placa de vídeo e monitor e de parâmetros definidos na configuração do GRUB. Dada essa resolução fixada no momento do
boot, a quantidade de linhas e colunas de texto vai depender do tamanho da fonte selecionada, de modo que você vai ter um conjunto limitado de possíveis combinações. Você pode usar o comando
setfont para mudar a fonte ativa (e consequentemente o número de linhas e colunas).
Se você se referir a um dos emuladores de terminal que rodam no ambiente gráfico, normalmente é possível alterar as dimensões da janela sem mudar necessariamente o tamanho da fonte, ou vice-versa, mas essa disponibilidade e a forma de fazer vão depender de qual emulador de terminal você está usando.
Com o bom e velho
xterm é possível habilitar o reconhecimento de sequências de escape tanto para habilitar operações com janelas (que permitem, por exemplo, mudar as dimensões da janela) quanto operações de fontes (que permitem mudar o tipo e o tamanho das fontes). Se elas estiverem habilitadas, você pode usar a sequência de escape “
\e[8;nlinhas;ncolunast” (por exemplo: para mudar o tamanho do terminal para 100×50, você poderia usar “
printf '\e[8;50;100t'”). Já para trocar a fonte, a sequência de escape seria “
\e]50;especificação_fonte\7” (por exemplo: para mudar a fonte para Source Code Pro tamanho 18, você poderia usar “
printf '\e]50;source code pro-18\7'”).
O
gnome-terminal aceita a sequência de escape para mudar as dimensões do terminal, mas não aceita a de troca de fonte. O
konsole não aceita nenhuma das duas. Outros emuladores de terminal podem ter outros comportamentos.
Pode ser que dê para conseguir alguns dos efeitos através de interação com os programas emuladores de terminal usando o DBus (por exemplo: via
dbus-send,
qdbus ou
gdbus). Tentei brincar um pouco com isso no
konsole, mas não tive muito sucesso (consegui mudar a área visível, mas sem mudar o tamanho da janela; ficou horrível...).
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)