Я хотел бы найти обои что лучшие иски мое разрешение. Как я могу получить разрешение только путем записи команд в командной строке?
Взятый от этот ответ :
xdpyinfo | grep dimensions
Или получить просто разрешение:
xdpyinfo | awk '/dimensions/{print $2}'
ИЛИ
xdpyinfo | grep -oP 'dimensions:\s+\K\S+'
Я просто использовал бы xrandr
:
$ xrandr
Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 32767 x 32767
LVDS1 connected 1600x900+1920+0 (normal left inverted right x axis y axis) 310mm x 174mm
1600x900 60.0*+
1440x900 59.9
1360x768 59.8 60.0
1152x864 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 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1920x1200 60.0*+
1920x1080 60.0 50.0 59.9 24.0 24.0
1920x1080i 60.1 50.0 60.0
1600x1200 60.0
1280x1024 75.0 60.0
1152x864 75.0
1280x720 60.0 50.0 59.9
1024x768 75.1 60.0
800x600 75.0 60.3
720x576 50.0
720x480 60.0 59.9
640x480 75.0 60.0 59.9
720x400 70.1
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Здесь у меня есть два экрана, разрешение:
Для получения только разрешения основного монитора можно также использовать эту остроту Python:
$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
geo = screen.get_monitor_geometry(screen.get_primary_monitor()); \
print(geo.width, "x", geo.height)'
1920 x 1200
Для получения разрешения существующего рабочего стола (для много установки монитора):
$ python3 -c 'from gi.repository import Gdk; screen=Gdk.Screen.get_default(); \
print(screen.get_width(), "x", screen.get_height())'
3520 x 1200
Запрос был для разрешение . Это дано
xdpyinfo | grep resolution
Если это имеет значение при использовании нескольких подключенных дисплеев и/или смещений с TwinView затем xdpyinfo даст Вам разрешение всего набора дисплеев путем, они настроены. При требовании разрешения единственного монитора или монитора, подключенного к одному из портов дисплея, необходимо использовать xrandr. Однако даже в той конфигурации xrandr может быть ненадежным и не показать разрешение. Посмотрите эту запись в качестве примера из моего файла конфигурации X-окон:
Option "MetaModes" "DP-1: 1440x900 +0+0, DP-3: 1440x900 +1568+0, DP-5: 1440x900 +3136+0"
вывод xrandr похож на это:
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 256mm
1440x900 59.89*+
1280x1024 60.02
1280x960 60.00
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 70.07 60.00
800x600 75.00 60.32 56.25
640x480 75.00 72.81 59.94
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
1440x900 59.89 + 74.98
1280x1024 60.02
1280x960 60.00
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 70.07 60.00
800x600 75.00 60.32 56.25
640x480 75.00 72.81 59.94
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 connected 1440x900+1568+0 (normal left inverted right x axis y axis) 410mm x 256mm
1440x900 59.89*+
1280x1024 60.02
1280x960 60.00
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 70.07 60.00
800x600 75.00 60.32 56.25
640x480 75.00 72.81 59.94
Вы видите, что DP-3 не показывает разрешение на строке, что grep для "связанного" показал бы. Так лучшая, самая последовательная, и надежная команда я нашел для идентификации разрешения любого человека, который подключенный дисплей:
/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected
, который производит это:
1440x900 59.89*+
--
1440x900 59.89*+ 74.98
--
1440x900 59.89*+
В той точке, это довольно тривиально для выбирания различных разрешений или grep только для одного порта.
Можно также использовать:
xrandr | grep ' connected'
Пример вывода на одной из моих машин:
LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
На Raspberry Pi без X мне удалось получить разрешение экрана, выполнив:
fbset -s
Еще одно решение — использовать xprop:
$ xprop -notype -len 16 -root _NET_DESKTOP_GEOMETRY | cut -c 25-
11520, 1080
Если кому интересно, на моей машине это было немного быстрее, чем поиск xdpyinfo
Или, если вас интересует только ширина:
$ xprop -notype -len 8 -root _NET_DESKTOP_GEOMETRY | cut -c 25-
11520
Проверено только на нескольких дисплеях, организованных через Xinerama .