Estou procurando um método para relatar a resolução da tela. Quero configurar scripts para iniciar rdesktop
e quero iniciá-lo em várias máquinas com resoluções diferentes, então quero uma maneira de determiná-lo dinamicamente.
Responder1
Use o comando xrandr
. Sem nenhum argumento mostra as resoluções disponíveis e a atual (com asterisco), por exemplo:
$ xrandr | fgrep '*'
Responder2
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.
Responder3
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 emesseComente):
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 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 uma tela de 1600x900, a saída é:
1600, 900
Responder4
xrandr
Saída limpa para uso do imagemagick
xrandr |awk '/\*/ {print $1}'
A /\*/
pesquisa pela linha que contém um asterisco *
.