Tamanho resolução da tela no shell

1. Tamanho resolução da tela no shell

Marcos Vinícius Dunguel Nunes
mdunguel

(usa Debian)

Enviado em 12/02/2022 - 04:19h

Boa madrugada, pessoal!
Eu estou querendo saber qual ou quais comandos terei que executar na linha de comandos dentro de uma instância do shell script no linux para fazer alteração do número de linhas e colunas na tela?
Não quero fazer isso no GRUB, pois este fixa em uma determinada resolução, eu quero poder de dentro de um programa em shell script dimensionar de forma dinâmica essa resolução da tela, exemplo:
Minha tela está como 80 x 25 quero poder colocar ela em 160 x 50 por exemplo, depois voltar para 80 x 25, após o script ter terminado!
Pergunto isso pois quando executamos a instalação de qualquer distribuição linux esta dimensiona a tela para um número maior de linhas e colunas e vice-versa!
Alterar também o tipo de fonte seria outra dica legal!
Obs: não estarei utilizando interface gráfica em nenhum momento, trata-se de um servidor!!!!



  


2. Re: Tamanho resolução da tela no shell

Paulo
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)


3. Re: Tamanho resolução da tela no shell

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 15/02/2022 - 21:46h


mdunguel escreveu:

Boa tarde!
Andei realizando mais algumas pesquisas referente de como descobrir o total de colunas e linhas de uma tela de terminal, não estou usando interface gráfica, apenas modo texto do shell e o comando tput me retorna essa informação.
Sendo assim meu terminal tem 170 colunas por 48 linhas comando tput cols e tput lines.
Agora estou querendo colocar em 80 x 25 na tela do terminal,
não estou usando interface gráfica.

É um ubuntu server sem interface gráfica!!!


Com esse comando você consegue obter o número de linhas e o número de colunas, mas não consegue colocar. Ou melhor, para não dizer que não consegue, você pode tentar fazer algo como
tput cols # resultado na minha máquina = 169
export COLUMNS=10 # "configurando" o número de colunas para 10
tputs cols # resultado = 10
O que aconteceu no exemplo anterior foi que em vez de tputs pegar o valor do ambiente, apenas pegou de uma variável, mas não fez nada.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts