Как определить соотношение сторон монитора?

Как вы определяете aspect ratio вашего монитора? Я пытался:

 root@malou-laptop:/home/liv# xrandr -q xrandr: Failed to get size of gamma for output default Screen 0: minimum 640 x 480, current 1680 x 1050, maximum 1680 x 1050 default connected 1680x1050+0+0 0mm x 0mm 1680x1050 60.0* 1280x1024 61.0 1280x800 0.0 1024x768 61.0 800x600 61.0 640x480 60.0 

И выяснили, что вы можете вычислить его на 1680:1050 = 1.6 = 16:10 , или путем проверки списка разрешений дисплея в Википедии.

Но есть ли команда, которая прекрасно выводит это? Я уже пробовал lshw и hardinfo , не повезло.

  • Достижение полного разрешения с помощью PowerVR SGX454 на Ubuntu 12.04
  • Как настроить параметры разрешения X
  • Разрешение Fedora 3200x1800 на небольшое - ничего не видно
  • Проблема с разрешением DNS с помощью OpenBSD
  • Как заставить vesa разрешить 1280x1024
  • Как использовать Xfig на высоком экране DPI?
  • Может изменять разрешение монитора графики SyncMaster SA850 и Intel HD
  • Как установить DPI на экране Hi-Res? Значение по умолчанию слишком маленькое
  • 2 Solutions collect form web for “Как определить соотношение сторон монитора?”

    Вы сами нашли команду, вам просто нужно ее разобрать. Например:

     $ xrandr -q | grep -Po 'current\s*\d+\s*x\s*\d+' | awk '{print $1/$3}' 

    Регулярное выражение ищет current , затем 0 или более символов пробела ( \s* ), затем одну или несколько цифр ( \d+ ), за которыми следуют \s* , затем x , затем \s* и, наконец, больше цифр. \K просто отбрасывает все, что было согласовано до этого момента:

     $ xrandr -q | grep -Po 'current\s*\K\d+\s*x\s*\d+' 1680 x 1050 

    Итак, вы передаете это gawk который будет разделен на поля в пробеле и распечатать результат второго поля, деленного на четвертое.


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

     $ cat resolutions.txt VGA 4:3 640 480 00.02 n/a SVGA 4:3 800 600 00.17 01.03 WSVGA ~17:10 1024 600 00.31 02.25 XGA 4:3 1024 768 05.53 18.69 XGA+ 4:3 1152 864 00.87 01.55 WXGA 16:9 1280 720 01.51 01.54 WXGA 5:3 1280 768 n/a 01.54 WXGA 16:10 1280 800 04.25 12.97 SXGA– (UVGA) 4:3 1280 960 00.72 00.72 SXGA 5:4 1280 1024 10.66 07.49 HD ~16:9 1360 768 02.36 02.28 HD ~16:9 1366 768 17.19 19.14 SXGA+ 4:3 1400 1050 00.18 n/a WXGA+ 16:10 1440 900 07.60 06.61 HD+ 16:9 1600 900 06.82 03.82 UXGA 4:3 1600 1200 00.53 n/a WSXGA+ 16:10 1680 1050 10.26 03.66 FHD 16:9 1920 1080 25.04 05.09 WUXGA 16:10 1920 1200 03.65 01.11 QWXGA 16:9 2048 1152 00.13 n/a WQHD 16:9 2560 1440 00.72 00.36 WQXGA 16:10 2560 1600 00.19 n/a 3:4 768 1024 n/a 01.93 16:9 1093 614 n/a 00.63 ~16:9 1311 737 n/a 00.35 Other 01.29 07.25 

    Теперь используйте этот файл, чтобы получить нужное значение:

     $ grep -Po 'current\s*\K\d+\s*x\s*\d+' a | sed 's/ *x */ /' | while read xy; do grep $x resolutions.txt | grep $y | awk -F"\t" '{print $2}'; done 16:10 

    Наконец, сделайте это в маленьком скрипте:

     #!/usr/bin/env bash ## The location of the file with the resolutions RESOLUTIONS="$HOME/resolutions.txt" xrandr -q | grep -Po 'current\s*\K\d+\s*x\s*\d+' | sed 's/ *x */ /' | while read xy; do grep "$x" "$RESOLUTIONS" | grep "$y" | awk -F"\t" '{print $2}'; done 

    Сохраните скрипт где-нибудь в вашей $ PATH, а затем запустите его, чтобы получить разрешение:

     $ get_resolution.sh 16:10 

    Если вам это понадобится для какого-то скрипта, не только для вашего любопытства вы можете вывести sed / awk xrandr для этого значения и рассчитать его с помощью наименее общего алгоритма.

    Однако, например, для. для 16:10 это будет 8: 5 (это математически правильно, но не так, как мы привыкли. Поэтому проще сопоставить его в какой-то ассоциативной таблице.

    Interesting Posts

    Amixer показывает, что линейный выход подключен, но Pulse Audio считает, что он отключен от сети?

    Печать регулярного выражения Sed в файл .txt

    Крошечный шрифт на Fedora 16

    Как я могу использовать .local имена хостов с Arch Linux?

    Список доступных услуг

    Можно ли запустить Live Linux на ноутбуке с неисправным жестким диском?

    регулярное выражение: с переменной

    Я вижу свой LVM, но я не могу его инициализировать. Отсутствует UUID одного из дисков

    Управление средой, переданной дочернему процессу bash

    Экран GNU, tmux, dvtm – никто не работает как обычный пользователь

    Не удается получить статус «Adaptec AAC-RAID (Rocket) (rev 02)» HW RAID-карта

    Пул нельзя импортировать, поскольку он форматируется с использованием несовместимой версии

    Wierd с использованием пасты с последовательным параметром

    Как сделать темы применимыми к окнам, а также к системным элементам?

    Разместить одиночную точку с Vim / Ex

    Linux и Unix - лучшая ОС в мире.