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

31

Estou procurando um método de relatório de resolução de exibição. Eu quero configurar scripts para iniciar o rdesktop , e eu quero lançá-lo em várias máquinas com diferentes resoluções, então eu quero uma maneira de determiná-lo dinamicamente.

    
por Barton Chittenden 30.04.2012 / 15:33

5 respostas

38

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

$ xrandr | fgrep '*'
    
por 30.04.2012 / 15:36
11

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

    
por 30.04.2012 / 16:17
6

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 em este comentário):

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

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

1600 900

Você pode então 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 um monitor de 1600x900, a saída é:

1600, 900
    
por 27.06.2013 / 23:10
5

Eu deveria ter parecido um pouco mais difícil antes de postar. xrandr ecoará as configurações de exibição atuais, se não for fornecido nenhum outro argumento.

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

xrandr | egrep '^[^ ]|[0-9]\*\+'
    
por 30.04.2012 / 15:37
1

Limpar xrandr de saída para uso do imagemagick

xrandr |grep \* |awk '{print $1}'
    
por 22.05.2016 / 12:57