Узнать разрешение экрана
Потребовалось узнать разрешение экрана (в иксах) из скрипта. Можно дёрнуть xrandr, но проблема в том, что пакет xorg-xrandr или аналогичный может быть не установлен. Слишком крупная зависимость для такой мелочи.
Есть ли какой-нибудь другой, более переносимый (достаточно только GNU/Linux) способ получить эту информацию?

Psych218 ★★★★★
16.02.16 03:46:03 MSK
Как найти разрешение экрана рабочего стола из командной строки в Linux

Вы можете определить разрешение экрана рабочего стола Linux из командной строки, используя:
В этом кратком руководстве мы покажем вам, как использовать обе эти команды для отображения разрешения экрана в Linux.
Проверка разрешения экрана рабочего стола Linux с помощью команды xrandr
Утилита xrandr (расшифровывается как «X Resize and Rotate») – это инструмент командной строки, используемый в X Window System, которая является базовой графической системой, применяемой в большинстве Unix-подобных операционных систем, включая Linux.
Утилита xrandr позволяет настраивать и управлять различными параметрами дисплея, такими как разрешение экрана, частота обновления, поворот и т.д., непосредственно из командной строки.
С помощью xrandr можно выполнять такие задачи, как изменение разрешения монитора, настройка ориентации экрана (альбомная, книжная и т.д.), настройка мультимониторных конфигураций и диагностика проблем с дисплеем. Эта команда особенно удобна для тех, кто предпочитает работать с командной строкой или нуждается в автоматизации задач, связанных с дисплеем.
В целом, «xrandr» предлагает удобный способ управления настройками дисплея без необходимости навигации по графическим интерфейсам пользователя или конфигурационным файлам.
xrandr поставляется предустановленным в большинстве дистрибутивов Linux.
Чтобы найти разрешение экрана в Linux с помощью xrandr , просто выполните:
xrandr
В результате будет выведен список всех доступных настроек дисплея.
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 DP-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-1 disconnected (normal left inverted right x axis y axis) DP-3 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm 1920x1080 60.00*+ 50.00 59.94 1600x900 60.00 1280x1024 75.02 60.02 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 60.00 800x600 75.00 60.32 720x576 50.00 720x480 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 DP-4 disconnected (normal left inverted right x axis y axis)

Как видно из приведенного выше результата, текущее разрешение моего рабочего стола Debian составляет 1920×1080 пикселей.
Вы также можете использовать команду xrandr с командой grep для извлечения только разрешения и исключения других деталей.
xrandr | grep '*' | awk '< print $1 >' 1920x1080
Давайте разберемся, что делает каждая часть приведенной выше команды:
- xrandr : Эта команда используется для запроса и настройки параметров отображения в X Window System. При выполнении этой команды без каких-либо опций она выводит информацию о подключенных мониторах и их доступных разрешениях.
- | (Pipe): Символ pipe ( | ) используется для получения выходного сигнала от команды слева и его использования в качестве входного сигнала для команды справа.
- grep ‘*’ : В этой части кода используется команда «grep» для поиска строк, содержащих звездочку ( * ). В контексте вывода «xrandr» звездочка часто указывает на активное в данный момент разрешение экрана.
- awk ‘< print $1 >‘ : Эта часть кода использует команду «awk» для печати первого столбца текста из строк, отфильтрованных предыдущей командой «grep». В контексте вывода «xrandr» первый столбец обычно представляет собой разрешение экрана.
Соединив все это вместе, данная команда отфильтрует вывод команды « xrandr « для извлечения текущего активного разрешения экрана, которое часто отмечается звездочкой в выводе « xrandr «. Для поиска строк со звездочкой используется команда « grep «, а затем с помощью « awk « выводится первый столбец (содержащий разрешение).
Поиск разрешения экрана рабочего стола Linux с помощью команды xdpyinfo
Команда xdpyinfo – это утилита командной строки в системе X Window System, предоставляющая информацию о дисплее и возможностях X-сервера. Она расшифровывается как «X Display Information» и используется для получения различных сведений о X-сервере и подключенных дисплеях.
При выполнении команды xdpyinfo предоставляется полный набор информации о X-сервере и дисплее, на котором он работает. Эта информация может включать сведения о размере экрана, глубине цвета, доступных расширениях, шрифтах и т.д. Это особенно полезно для диагностики проблем, связанных с дисплеем, проверки возможностей X-сервера и сбора информации о подключенных мониторах.
Например, с помощью команды xdpyinfo можно узнать разрешение экрана, количество доступных экранов, текущую глубину цвета и другие важные сведения о настройке дисплея.
В целом, «xdpyinfo» является полезным инструментом для получения подробной технической информации о X-сервере и подключенных к нему дисплеях в Unix-подобных операционных системах, включая Linux.
Для получения разрешения экрана рабочего стола Linux-системы с помощью утилиты xdpyinfo можно использовать:
xdpyinfo | grep dimensions
Эта команда выводит информацию о размерах экрана в пикселях.
dimensions: 1920x1080 pixels (508x285 millimeters)

Для получения только разрешения можно также использовать команды grep и awk вместе с «xdpyinfo»:
xdpyinfo | grep dimensions | awk '' 1920x1080
Давайте разберемся, что делает каждая часть команды:
- xdpyinfo : Эта команда используется для получения подробной информации о X-сервере и подключенном дисплее (дисплеях). При выполнении этой команды выдается полный набор информации о конфигурации дисплея и возможностях X-сервера.
- | (Pipe): Символ pipe ( | ) используется для получения выходных данных от команды, расположенной слева, и их использования в качестве входных данных для команды, расположенной справа.
- grep dimensions : Эта часть кода использует команду «grep» для поиска строк, содержащих слово «dimensions». В контексте вывода «xdpyinfo» строки, содержащие слово «dimensions», обычно содержат информацию о размерах (разрешении) экрана.
- awk » : Эта часть кода использует команду «awk» для печати второй колонки текста из строк, отфильтрованных предыдущей командой «grep». В контексте вывода «xdpyinfo» второй столбец обычно содержит размеры экрана.
Соединив все это вместе, приведенная выше команда отфильтрует вывод команды « xdpyinfo « для извлечения размеров экрана (разрешения) текущего дисплея. Команда использует « grep « для поиска строк со словом «dimensions», а затем с помощью « awk « выводит второй столбец (в котором содержится разрешение). В результате выводится разрешение экрана текущего дисплея.
Инструмент xdpyinfo также предустановлен в большинстве дистрибутивов Linux. Если команда xdpyinfo по каким-либо причинам не найдена, ее можно установить с помощью менеджера пакетов для конкретного дистрибутива Linux.
Например, в Ubuntu или Debian используется:
sudo apt-get install x11-utils
А в Fedora, RHEL , AlmaLinux, Rocky Linux используется:
sudo dnf install xorg-x11-utils
В старых системах на базе RPM вместо dnf используйте yum , как показано ниже.
sudo yum install xorg-x11-utils
Не забывайте, что эти команды необходимо выполнять в терминале на рабочем столе Linux. Они не дадут правильных результатов, если их выполнить через удаленный сеанс SSH , если только вы не настроили X11 forwarding.
Какой метод следует использовать?
Команда xrandr является более мощной из этих двух методов, но она может быть сложна в использовании для новичков. Команда xdpyinfo проще в использовании, но она не предоставляет столько информации.
Если требуется только узнать разрешение экрана, то хорошим вариантом будет команда xdpyinfo . Если же необходимо изменить разрешение экрана или выполнить другие задачи, связанные с дисплеем, то лучше использовать команду xrandr .
Заключение
Умение определять разрешение экрана рабочего стола из командной строки в Linux – это навык, который стоит освоить. Это позволит вам контролировать, как все выглядит на вашем компьютере.
Независимо от того, являетесь ли Вы опытным энтузиастом Linux или любопытным новичком, использование команд типа « xrandr « и « xdpyinfo « поможет Вам найти важную информацию о Вашем экране.
Это поможет Вам улучшить внешний вид, устранить проблемы и настроить несколько экранов. Итак, воспользуйтесь этими знаниями и сделайте свой рабочий стол Linux таким, каким вы хотите его видеть!
Часто задаваемые вопросы
Как узнать разрешение экрана рабочего стола Linux с помощью командной строки?
У Вас есть два основных варианта: использование команды « xrandr « или команды « xdpyinfo «. Эти команды предоставляют подробную информацию о настройках Вашего дисплея, включая разрешение экрана.
Как использовать команду «xrandr» для поиска разрешения экрана?
Откройте терминал и введите xrandr без кавычек, затем нажмите Enter. Найдите строку, соответствующую вашему основному монитору, в которой обычно содержится информация о разрешении экрана.
Как определить разрешение экрана с помощью команды «xdpyinfo»?
Откройте терминал и введите xdpyinfo | grep dimensions без кавычек, затем нажмите Enter. Терминал отобразит разрешение экрана вашего текущего дисплея.

Зарубин Иван Эксперт по Linux и Windows
Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.
Как найти разрешение экрана в среде рабочего стола Linux
Одним из системных параметров, который вы часто проверяете или изменяете в среде рабочего стола Linux, является параметр дисплея, в частности разрешение экрана. Существуют различные способы получения информации о разрешении экрана в Linux: либо из командной строки, либо из настроек дисплея на основе графического интерфейса.
В этом руководстве я опишу, как найти разрешение экрана в среде рабочего стола Linux.
Способ первый: xdyinfo
Одним из способов определения разрешения монитора является использование xdpyinfo , утилиты командной строки для отображения информации о X-сервере, включая текущее разрешение экрана. Чтобы проверить текущее разрешение экрана из командной строки, просто запустите:
$ xdpyinfo | grep "dimensions" | awk '< print $2 >'
1366x768
Второй метод: xrandr
Вторая команда разрешения экрана — xrandr , интерфейс командной строки для RandR (сокращение от «X Resize, Rotate and Reflect Extension»). Команда xrandr может показать вам текущее разрешение экрана, а также все возможные настройки дисплея.
$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm 1366x768 60.0*+ 40.1 1360x768 59.8 60.0 1024x768 60.0 800x600 60.3 56.2 640x480 59.9 VGA1 disconnected (normal left inverted right x axis y axis) HDMI1 disconnected (normal left inverted right x axis y axis) DP1 disconnected (normal left inverted right x axis y axis)
Как вы можете видеть выше, если вы запустите команду xrandr без каких-либо аргументов, вы можете получить список всех доступных разрешений экрана. Текущее установленное разрешение экрана обозначается маркером * . Поэтому, чтобы найти только текущее разрешение экрана, используйте следующую команду.
$ xrandr | grep '*' | awk '< print $1 >'
1366x768
Способ третий: настройки дисплея
Каждая среда рабочего стола Linux поставляется со своими собственными системными настройками на основе графического интерфейса, включая настройки дисплея. Таким образом, вы можете использовать настройки дисплея на основе графического интерфейса для определения текущего разрешения экрана. Чтобы запустить параметры отображения на основе графического интерфейса, вы можете использовать интерфейс командной строки для рабочего стола, как показано ниже.
Чтобы запустить настройки отображения в среде рабочего стола GNOME, используйте одну из следующих команд:
$ gnome-control-center display
$ gnome-display-properties

Чтобы запустить настройки отображения в среде рабочего стола KDE, запустите:
$ kcmshell4 display

Чтобы запустить настройки отображения в среде рабочего стола LXDE, запустите:
$ lxrandr

Чтобы запустить настройки отображения в среде рабочего стола Xfce, запустите:
$ xfce4-display-settings

Все права защищены. © Linux-Console.net • 2019-2023
Как получить разрешение экрана пользователя?
В gtk никаких функций не вижу, может есть какой-то простой способ получить через системные функции разрешение экрана?
Отслеживать
задан 1 июл 2020 в 12:33
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
GdkRectangle workarea = ; gdk_monitor_get_workarea( gdk_display_get_primary_monitor(gdk_display_get_default()), &workarea); printf ("W: %u x H:%u\n", workarea.width, workarea.height)
Отслеживать
ответ дан 1 июл 2020 в 12:35
22.3k 2 2 золотых знака 33 33 серебряных знака 53 53 бронзовых знака
- linux
- c
- gtk
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.