Вопрос или проблема
Есть ли способ сказать xrandr
“это пространство намеренно оставлено пустым”?
У меня есть ноутбук, который работает на внутреннем дисплее с разрешением 1920×1080, но внешний монитор, который я использую, из-за другого соотношения сторон не имеет этого режима. Он работает на 1920×1200.
Таким образом, базовая настройка:
xrandr \
--output LVDS-1 --mode 1920x1080 \
--output DP-1 --mode 1920x1200 --same-as LVDS-1
[не в масштабе:]
┌─────────────────┬─────────────────┐
│ │ │
│ (ноутбук) │ (внешний) │
│ (LVDS-1) │ (DP-1) │
│ │ │
│ │ │
└─────────────────┤ │
(пусто...) │ │
└─────────────────┘
Как я могу указать, что область размером 1920×120 ниже LVDS-1 должна отображаться как черная полоса, на которую нельзя кликнуть мышью на DP-1?
Я пытался просто справиться с помощью --panning 1920x1200+0+0/1920x1080+0+0/0/0/0/120
, но движение экрана оказалось очень раздражающим.
Обновление:
Я нашел обходной путь. (Обновление 2: изменил это на ответ, согласно предложению — обходной путь не отвечает на основной вопрос о том, как оставить пространство пустым.)
Я нашел обходной путь в обсуждении соотношения сторон под Compiz (вариант варианта #2):
xrandr --fb 1920x1080 \
--output LVDS-1 --mode 1920x1080 \
--output DP-1 --mode 1920x1200 --scale 1x.9
Это заставляет внешний монитор масштабировать изображение. Я не уверен, что --fb 1920x1080
(который указывает размер виртуального экрана) здесь строго необходим. Возможно, --pos 0x0
мог бы заменить его.
Обходной путь все еще довольно неудовлетворительный — он просто работает, потому что это удобное, простое кратное, — было бы хорошо иметь более общее решение.
Ответ или решение
Для создания намеренной границы в настройках вашего дисплея с использованием xrandr
, вы столкнулись с задачей соединения двух экранов с различными аспектами. Это приводит к ситуации, когда необходимое разрешение для одного экрана не совпадает с разрешением другого. Ваша цель — обозначить область, оставшуюся пустой, как черную полоску на внешнем мониторе (DP-1), которая недоступна для ввода с мыши.
Понимание проблемы
В вашем случае, вы используете внутренний дисплей (LVDS-1) с разрешением 1920×1080 и внешний дисплей (DP-1) с разрешением 1920×1200. При попытке объединить эти два дисплея, как вы уже заметили, на внешнем дисплее будет демонстрироваться избыточное пространство на 120 пикселей, которое будет отображаться темно-серым (или другим цветом, в зависимости от фона) и будет доступно для ввода с мыши, что не является вашим предпочтением.
Решение
Вы можете использовать опцию --fb
для изменения виртуального экрана и тем самым ограничить доступное пространство. Ниже приводится команда с кратким описанием используемых параметров:
xrandr --fb 1920x1080 \
--output LVDS-1 --mode 1920x1080 \
--output DP-1 --mode 1920x1200 --scale 1x.9
Объяснение команды
-
--fb 1920x1080
: Определяет размер виртуального экрана, который будет ответственным за отображение. Это означает, что вся ваша графика будет ограничена границами 1920×1080, создавая «пустое» пространство, соответствующее размерам вашего внутреннего дисплея. -
--output LVDS-1 --mode 1920x1080
: Этот флаг устанавливает внутренний дисплей в необходимое разрешение. -
--output DP-1 --mode 1920x1200 --scale 1x.9
: Данное указание настраивает внешний монитор в запрашиваемом разрешении, но с использованием параметра масштабирования, который уменьшает высоту отображаемого изображения. Это связано с тем, что внешнее устройство может отображать улучшенное разрешение, но его фактическое использование будет соответствовать 1920×1080, что эффективно «заполняет» нижние 120 пикселей черным цветом (или фоном).
Альтернативные подходы
Если вы ищете более универсальное решение, попробуйте следующие возможные подходы:
-
Создание дополнительных виртуальных экранов: Можете рассмотреть возможность создания второго виртуального экрана, где вы захотите задать правую полосу. Это может быть полезно в случаях, когда вы хотите скомбинировать различные настройки дисплеев или изменить их расположение.
-
Обновление драйверов графической карты: Убедитесь, что у вас установлены последние версии драйверов для вашей графической карты. Иногда это работает лучше с настройками
xrandr
и может дать дополнительные опции.
Итак, используя вышеприведённый подход, вы можете эффективно настроить ваш рабочий стол так, чтобы ненужная область не мешала вам и не была доступна для ввода, создавая тем самым более комфортное пространство для работы.