Obtenha resolução de exibição na linha de comando do Linux Desktop


Respostas:


37

Use o comando xrandr. Sem nenhum argumento, ele exibe as resoluções disponíveis e a atual (com um asterisco), por exemplo:

$ xrandr | fgrep '*'

Você poderia acrescentar um exemplo de saída à resposta? E eu estou supondo que xrandr |g grep \*faz o truque?
Ehtesh Choudhury

11

Solução alternativa: xdpyinfo | grep dimensions. xdpyinfoé mais antigo que xrandr, portanto, pode ser mais portátil se você usar uma distribuição muito antiga ou algum servidor X diferente.


2
De fato, mas algumas (todas?) Configurações de vários monitores aparecem como uma tela xdpyinfoenquanto xrandrenumera corretamente as telas e sua resolução. Isso pode ou não ser um problema, dependendo do contexto.
Stéphane Gourichon

Nota: embora xdpyinfopareça relatar dimensões corretas em pixels, ele informa a resolução incorreta (DPI). Por exemplo, no meu monitor com dimensões de 3840x2160 (nativas e reais) e tamanho 708mm x 399mm, conforme relatado por xrandr, xdpyinfodiz que a resolução é de 96x96 pontos por polegada.
Ruslan

7

Você pode obter as resoluções horizontal e vertical usando o seguinte comando:

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

ou, de forma mais compacta (como sugerido por Peter.O neste comentário):

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

Por exemplo, em uma tela de 1600x900, isso produzirá a seguinte saída:

1600 900

Você pode colocar os valores em variáveis ​​separadas usando o comando:

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

Exiba os valores das variáveis ​​acima usando o comando:

echo $RES_X, $RES_Y

Em uma tela de 1600x900, a saída é:

1600, 900

11
xdpyinfo | awk -F '[x] +' '/ dimensões: / {print $ 3, US $ 4}'
Peter.O

@ Peter.O, obrigado. Esta é uma boa forma compacta do comando. Eu atualizei a resposta.
precisa saber é o seguinte

De fato, mas algumas (todas?) Configurações de vários monitores aparecem como uma tela no xdpyinfo enquanto o xrandr enumera corretamente as telas e sua resolução. Isso pode ou não ser um problema, dependendo do contexto.
Stéphane Gourichon

5

Eu deveria ter olhado um pouco mais antes de postar. xrandrecoará as configurações de exibição atuais, se não houver outros argumentos.

Por padrão, isso irá despejar todas as configurações de exibição possíveis, e pode ser filtrado da seguinte maneira:

xrandr | egrep '^[^ ]|[0-9]\*\+'

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.