Понимание вывода запроса xrandr --

Вы также можете использовать Gramma -это интерактивная команда -проверка грамматики строки, она написана на Node.js, но вы также можете загрузить отдельный бинарный файл для Linux:https://github.com/caderek/gramma

2
03.09.2021, 13:06
2 ответа

Если у вас несколько дисплеев, вы можете поставить их рядом друг с другом и/или друг под другом и представить, что таким образом вы получаете большую общую площадь, на которой отображаются вещи.

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

Строка с Screen 0относится к этой большой общей площади и указывает минимальный и максимальный размеры, которые может иметь эта большая общая площадь.Эти размеры зависят от аппаратного обеспечения компьютера, например. доступная память видеокарты (s ).

«обычное левое перевернутое правое» относится к тому, стоит ли дисплей, на который вы смотрите спереди, не повернутый, или повернутый на 90 градусов влево, или повернутый на 180 градусов (, перевернутый ), или повернутый 90 градусов вправо.

Для большой общей площади вы можете представить себе декартову систему координат, в которой ось x -идет вправо, а ось y -идет вниз, а начало оси находится в верхнем левом углу этой большая общая площадь.

Ось x и ось y указывают координаты, в которых верхний левый угол одного дисплея должен быть размещен на большой общей площади.

Например, если у вас есть два дисплея рядом, а левый дисплей имеет ширину 1366 единиц, как ваше устройство LVDS -, то левый верхний угол этого дисплея в большой общей области имеет координаты x -. ] ось 0 и y -ось 0. Если вы не хотите, чтобы левый и правый дисплей показывал частично одно и то же, то левый верхний угол правого дисплея должен быть смещен на 1366 единиц вправо на большой суммарной площади и иметь координаты по оси x -1366 и y -ось 0.

Если вы установили, например. В редакторе компоновки экрана ARandR вы можете сохранить командную строку xrandr для всех ваших текущих экранов, щелкнув меню «Макет» -> «Сохранить как» в виде файла.sh, т.е. в виде текстового файла, который должен содержать сценарий оболочки.

Просмотр этого текстового файла в текстовом редакторе может быть хорошей отправной точкой.

3
03.09.2021, 14:41

Терминология

Такие слова, как монитор , экран , дисплей и т. д. являются близкими -синонимами, но в данном техническом контексте они могут иметь разные значения.. К сожалению, одно и то же слово может иметь разное значение в разных сообществах. В этом ответе я буду использовать слово монитор для обозначения физического объекта, который отображает изображения на (обычно )прямоугольном холсте, обычно компьютерном мониторе (или чем-то подобном, например, видеопроектор ).

Что касается системы X Window, дисплей представляет собой логический объект, к которому могут подключаться приложения и на котором они могут отображать окна, получать ввод и выполнять некоторые другие действия. Дисплей может иметь несколько мониторов или может быть подключен к виртуальному «монитору», который не является физическим устройством, например к сетевому соединению для удаленных дисплеев.

Экран является устаревшей концепцией. Это оригинальный способ X управлять несколькими мониторами :: дисплей может иметь несколько экранов, каждый из которых представляет один монитор. Приложение должно было выбрать, на каком экране отображать окно; окно не могло охватывать несколько экранов и не могло перемещаться между экранами. Из-за этих ограничений от этой концепции в основном отказались, но операционная система все еще поддерживает ее, и терминология все еще встречается то здесь, то там. В настоящее время существует только один экран , который может охватывать несколько мониторов.

Выход — это термин, который Xrandr использует для обозначения порта на компьютере, к которому подключен монитор. «Подключенный» выход — это порт, на котором присутствует монитор (, или порт, на котором невозможно надежно определить наличие монитора ).

Вопрос 1 :размеры экрана

Дисплей (технически экран,но, как мы видели выше, в современном мире дисплей имеет один экран )— это прямоугольный холст, на котором могут отображаться окна. Размеры этого холста обычно меняются при изменении конфигурации монитора :он настроен на наименьший прямоугольник, в который помещаются все мониторы.

В первой строке указаны минимально возможные, текущие и максимально возможные размеры данного полотна. Каждый монитор показывает прямоугольную часть холста, выровненную по осям.

Минимальный и максимальный размеры актуальны только при изменении конфигурации монитора. Части холста, которые не отображаются ни на одном мониторе, фактически невидимы. Например, если у вас есть один крошечный монитор с разрешением 320 x 160, размер холста должен быть не менее 320 x 160, а нижняя половина холста должна быть невидимой.

В строке для каждого монитора числа после (dis)connectedуказывают размеры и положение монитора. Например, если у вас есть второй монитор того же размера справа от HDMI -0, на этом мониторе будет отображаться 1920x1080+1920+0. Если бы этот второй монитор был ниже HDMI -0, он бы показал 1920x1080+0+1080.

Вопрос 2 :преобразования монитора

Монитор обычно показывает пиксель (x=0,y=0)(относительно исходной точки монитора )вверху слева, пиксель (x=1,y=1 )сразу справа от него и т. д. Если ваша система поддерживает (, а большинство современных поддерживает ), монитору можно дать указание отображать вывод по-другому. Это можно настроить с помощью xrandr --rotate … --reflect …. Слова в скобках указывают на возможные преобразования.

Например, leftповорачивает изображение на 90° по часовой стрелке, а right— на 90° против часовой стрелки. Это полезно, если вы повернули монитор соответствующим образом,как правило, потому что ваш монитор шире, чем в высоту (пейзаж ), но вы хотите, чтобы отображаемая область была выше, чем в ширину (портрет ), поэтому вы поворачиваете ее. Например, после xrandr --output HDMI-0 --rotate leftсоответствующая строка изменится на

.
HDMI-0 connected primary 1920x1080+0+0 left (normal left inverted right x axis y axis) 521mm x 293mm

invertedпоказывает изображение, перевернутое -вниз.x axis(два слова представляют собой одно целое )показывает перевернутое изображение -вниз. y axisпоказывает изображение, перевернутое вокруг вертикальной оси (, если по какой-то причине вы хотите посмотреть на свой монитор в зеркале ). Вы можете комбинировать вращение и отражение. Вы даже можете указать --rotate inverted --reflect xy, который показывает изображение нормально, поскольку композиция двух ортогональных переворотов и поворота на 180° является тождественным преобразованием.

Включение одного выхода

I wish to have a command line where xrandr is called so that all displays except for this HDMI-0 display are turned off.

xrandr --output VGA-0 --off --output LVDS --off --output HDMI-0 --auto
  • --auto— это странный способ, которым xrandr пишет «включено» (, то есть «активно» ). Это противоположно --off.
  • --primaryбесполезен, когда есть один активный монитор.
  • --posпозволяет указать положение монитора на холсте. 0x0 — это значение по умолчанию, поэтому вам не нужно его указывать. Несколько необычно использовать --posявно; чаще всего вы используете один из --mirror, --right-of, --left-of, --aboveили --belowдля позиционирования мониторов относительно друг друга.
  • --modeбесполезен, если только вы не хотите выбрать режим, отличный от режима по умолчанию, или вернуться из режима, отличного от -по умолчанию. Значение по умолчанию обычно является лучшим выбором.
  • --rotateбесполезна, если вы не хотите выбрать поворот по умолчанию, отличный от -, или переключиться обратно с поворота, отличного от -по умолчанию. Поворот по умолчанию обычно является правильным, если только вы не повернули монитор в портретный формат, и в этом случае вам нужно --rotate leftили --rotate right.
1
03.09.2021, 17:46

Теги

Похожие вопросы