No DE, podemos redimensionar o terminal (gnome-terminal, por exemplo) para nossa conveniência, como posso saber o tamanho do terminal em termos de pixels ou número de colunas e linhas?
13
Se você emitir o comando
stty size
retorna o tamanho do terminal atual em linhas e colunas. Exemplo:
$ stty size
24 80
Você pode ler as linhas e colunas em variáveis como esta (graças ao comentário de Janis ):
$ read myrows mycols < <(stty size)
Obter o tamanho em pixels requer conhecimento da resolução da tela e acho que não stty
tem acesso direto a essas informações.
bash
noecho
comando nesta resposta não verá as variáveis, uma vez que oread
no oleoduto será executado em um subshell. (Mas funcionaksh
.) Parabash
você pode querer usar, por exemploread myrows mycols < <( stty size )
,.Em um ambiente de área de trabalho , você está usando o X, e o
xwininfo
utilitário pode mostrar o tamanho da janela em pixels. Além disso, se você estiver executando na área de trabalho (e não, por exemplo, conectado remotamente), o emulador de terminal fornece uma variável$WINDOWID
que você pode usar como parâmetro paraxwininfo
, por exemplo,e obtenha uma lista listando isso:
Neste exemplo, as linhas com
Width
eHeight
são do tamanho em pixels . A última linha, com-geometry
fornece o tamanho em caracteres (bem como a posição do canto superior esquerdo - em pixels).Falando em redimensionar a janela, o
resize
programa mostra o número de linhas e colunas. Neste exemplo, mostraA pergunta não indicava como as informações podem ser usadas, mas, como a saída é texto, em um formato previsível, ela é prontamente roteirizada. Aqui está um exemplo simples usando o awk:
que imprime
fonte