Як я можу отримати роздільну здатність монітора за допомогою командного рядка?


51

Я хотів би знайти шпалери, які найкраще відповідають моїй роздільній здатності. Як я можу отримати дозвіл, просто записуючи команди в командний рядок?

Відповіді:


71

З цієї відповіді :

xdpyinfo | grep dimensions

Або отримати лише дозвіл:

xdpyinfo | awk '/dimensions/{print $2}'

АБО

xdpyinfo  | grep -oP 'dimensions:\s+\K\S+'

8
Він працює для встановлення одного монітора, але з двома моніторами підсумовує обидва розміри, для мене повертаються два мої екрани:3520x1200 pixels
Sylvain Pineau

3
Влучне зауваження. З іншого боку, це все-таки корисно, якщо він шукає одну шпалери, яку слід охопити на всіх моніторах.
aguslr

Дійсно, ти маєш рацію, +1;)
Сільвейн Пано

@aguslr Який би сенс у цьому? Маючи два монітора 2000x1000, якою користю буде зображення шпалер 4000х2000?
Жос

1
@Jos, я розумію, ця команда поверне 4000x1000, тобто вона поставить обидва монітора поруч. Наприклад, у Sylvain є два монітори (1600x900 та 1920x1200), і він отримує 3520x1200.
aguslr

30

Я просто використовую 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)

Тут у мене два екрани, роздільна здатність:

  • 1600x900 (ноутбук)
  • 1920x1200 (монітор)

Щоб отримати лише дозвіл вашого основного монітора, ви також можете використовувати цей python oneliner:

$ 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

xrandr + vesa = відсутність тривоги.
Джошуа

Просто дозвіл відображається:xrandr | grep " connected\|\*"
Pablo A

10

Запит був на резолюцію . Це дано

xdpyinfo | grep resolution

4
Зазвичай люди використовують роздільну здатність для позначення розмірів. DPI не викликає особливих проблем, ніж розміри.
муру

3

Ви також можете використовувати:

 xrandr | grep ' connected'

Приклад виходу на одну з моїх машин:

LVDS connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm

1

Для чого це варто, якщо використовувати декілька підключених дисплеїв та / або зміщення з TwinView, то xdpyinfo надасть вам дозвіл усього набору дисплеїв, як вони налаштовані. Якщо вам потрібна роздільна здатність одного монітора або монітора, підключеного до одного з портів дисплея, вам потрібно використовувати xrandr. Однак навіть у цій конфігурації xrandr може бути ненадійним і не показувати роздільну здатність. Дивіться цей приклад запису з мого конфігураційного файлу X windows:

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 не відображає роздільну здатність на лінії, що відображатиметься греп для "підключеного". Тож найкраща, найбільш послідовна та найнадійніша команда, яку я знайшов для визначення роздільної здатності будь-якого підключеного дисплея, це:

/usr/bin/xrandr --query|/usr/bin/grep -A 1 connected|grep -v connected

яка виробляє це:

   1440x900      59.89*+
--
   1440x900      59.89*+  74.98
--
   1440x900      59.89*+

У цей момент досить тривіально вибирати різні роздільні здатності або греп для лише одного порту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.