Чистый xrandrвывод для использования imagemagick

Чистый xrandrвывод для использования imagemagick

Я ищу способ сообщения разрешения экрана. Я хочу настроить скрипты для запуска rdesktopи хочу запустить его на нескольких машинах с разным разрешением, поэтому мне нужен способ динамически определять его.

решение1

Используйте команду xrandr. Без аргументов она отображает доступные разрешения и текущее (со звездочкой), например:

$ xrandr | fgrep '*'

решение2

Альтернативное решение: xdpyinfo | grep dimensions. xdpyinfoстарше, чем xrandr, поэтому может быть более переносимым, если вы используете очень старый дистрибутив или какой-то другой X-сервер.

решение3

Вы можете получить горизонтальное и вертикальное разрешение с помощью следующей команды:

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

или, в более компактной форме (как предложил Peter.O вэтоткомментарий):

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

Например, на дисплее с разрешением 1600x900 будет выведен следующий результат:

1600 900

Затем вы можете поместить значения в отдельные переменные с помощью команды:

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

Отобразите значения вышеуказанных переменных с помощью команды:

echo $RES_X, $RES_Y

На дисплее с разрешением 1600x900 вывод будет следующим:

1600, 900

решение4

Чистый xrandrвывод для использования imagemagick

xrandr |awk '/\*/ {print $1}'

Поиск /\*/строки, содержащей звездочку *.

Связанный контент