Подвійне налаштування монітора за допомогою xrandr: розширення без / з вимкненою прокруткою


11

Це не питання, а скоріше вирішення проблеми в Ubuntu.

Налаштування:
Дано екран ноутбука (наприклад, "LVDS-1-0") та другий екран (наприклад, "DP-1"), другий екран якого є вашим основним екраном, а монітор праворуч від вашого основного екрану ( або зліва) як розширення (див. малюнок). Перший екран завжди був практично розширений, незважаючи на чіткі вказівки xrandr не робити цього. Ввівши це, я зміг уникнути набридливої ​​прокрутки під час переміщення курсору миші праворуч на первинному моніторі.

xrandr --output LVDS-1-0 --off
xrandr --output DP-1 --mode 1920x1080 --primary --pos 0x0 --output LVDS-1-0 --mode 1920x1080 --pos 1920x0

Після цього він просто переходить від одного монітора до іншого, не прокручуючи екран.

Оновлення

Після переходу на дискретну відеокарту (nvidia дискретна, а інтегрований інтегрований для мого ноутбука) порядок виходів потрібно змінити:

output_DP=$(xrandr | grep " connected" | grep DP | awk '{print $1}')
output_LVDS=$(xrandr | grep " connected" | grep LVDS | awk '{print $1}')

xrandr --output $output_LVDS --off
xrandr --output $output_LVDS --mode 1920x1080 --pos 1920x0 --output $output_DP --mode 1920x1080 --pos 0x0  --primary

Для більшої зручності я зробив ці змінні для більшої гнучкості, оскільки перемикання між дискретними та інтегрованими відеокартами змінює призначення пристроїв виведення (наприклад, LVDS-1-0 проти LVDS-1).

Макет монітора

Відповіді:


6

Я зустрів ту саму помилку. Ваш спосіб подолання не працював для мене. Ваш трюк - це просто тригер, який змушує помилку не потрапляти. Я трохи перекопався і знайшов приємного хлопця з рішенням, яке може допомогти і іншим.

Основна проблема полягає в тому, що помилка, яку ми зустріли тут, викликає у монітора, який прокручується в інший, віртуальний екран з розміром обох екранів. Тож рішення може здатися вимкнути цей додатковий віртуальний простір на цьому екрані, щоб відповідати роздільній здатності моніторів. Зазвичай це робиться --panning AxBаргументом - ми використовуємо його для встановлення розміру віртуального простору.

Ось як ви могли це зробити:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary

(Нарізаний \додано для використання нових команд у команді.)

На жаль, проблема тут полягає в тому, що драйвер (тобто помилка), схоже, замінює панірування, яке ми встановили (або не встановили). Але це не так, щоб встановити іншу частину панорамування: область відстеження! Область відстеження насправді є тією частиною екрана, яку камера слід за курсором на цьому моніторі.

tl; dr: Отже, ідея полягає в тому, щоб встановити панорамування як драйвер, а обмежити область відстеження.

Це робиться за допомогою наступної команди:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary

"Перші чотири параметри [ panningаргументу] задають загальну область панорамування, наступні чотири області відстеження вказівника (яка за замовчуванням відповідає тій самій області). Останні чотири параметри задають межу та значення за замовчуванням до 0." [ людина xrandr ]


Останню команду я кладу в сценарій оболонки, який я дзвоню через клавіатуру (при переключенні апаратного забезпечення дисплея) і через кілька секунд після автоматичного входу.
Себастьян Барт

Налаштування області відстеження було також вирішальним у моїх налаштуваннях.
krlmlr

Зрештою, ваше рішення мені не допомогло, але я знайшов рішення, залишивши резолюції в спокої. Команда для дзеркала: xrandr --output HDMI1 --same-as Laptop1і для розширеного:xrandr --output Laptop1 --auto --output HDMI1 --auto --left-of Laptop1
Edenshaw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.