Возможный иметь xrandr не реагируют для отключения дополнительного монитора, удаления HDMI / кабель DisplayPort?

Я нахожусь в настольной системе Nvidia GTX 950 GPU с тремя присоединенными мониторами. Один монитор на HDMI порт, другие два на портах DisplayPort.

Поведение по умолчанию, это выключающее один из 'вторичных' мониторов заставляет xrandr изменять размер виртуального рабочего стола и перестраивать все окна для установки выживающим дисплеям.

Существует ли способ иметь xrandr, игнорируют удаление HDMI-кабели и/или связанного монитора так, чтобы это сохранило 'виртуальный рабочий стол' тем же (даже если окна являются внеэкранными и трудными к доступу), и не делают перестановку, которую это делает для консолидации всех активных окон в выживающие дисплеи? Далее, чтобы повторно вставить кабель и тот же монитор и свет это создает резервную копию?

Обе Ubuntu 16.04 и 16.10, кажется, имеют то же основное поведение. У меня есть оба как параметры загрузки.Спасибо.

РЕДАКТИРОВАНИЕ 2017: Я нашел, что некоторый удар и сценарии Python пытаются автоматизировать перестановку внеэкранных окон. Они могут быть несколько полезными для преодоления ситуации. Даже с Ubuntu 17.04 (формат новая установка) эта общая проблема все еще продолжается для меня. Обсуждения сценария: Как восстановить внеэкранное окно после разъединения второго монитора? и окна Move на определенные экраны с помощью командной строки

4
задан 30 June 2017 в 03:40

1 ответ

Это может работать порты HDMI/VGA, но не DP из-за некоторых стандартов для DP, который должен всегда передавать события обнаружения.

я мог протестировать это на Dell E6410 с VGA/DP. Удаление кабеля от VGA теперь не инициировало xrandr сбросы и перемещает окна.

  1. gksu nvidia-settings
  2. Переходят к X вкладкам конфигурации, затем экспортируют конфигурацию
  3. Копия только раздел устройства
  4. sudo mkdir /etc/X11/xorg.conf.d/
  5. sudo nano /etc/X11/xorg.conf.d/90_my_nvidia_hacks.conf
  6. Вставка, раздел устройства

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "NVS 3100M"
    EndSection
    
  7. Добавляет к нему эту строку Option "UseHotplugEvents" "false"

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "NVS 3100M"
        Option "UseHotplugEvents" "false"
    EndSection
    
  8. Перезагрузка или перезапускает lightdm

    sudo systemctl restart lightdm
    

, можно найти это полезным также Option "AllowEmptyInitialConfiguration" "true", которые создают пустой раздел монитора, даже никакой экран не соединен на X, запускаются.

Ссылка:

Мои дисплеи реконфигурированы неожиданными способами, когда я включаю или отключаю дисплей, или выключаю дисплей и затем включаю его снова.

Это - особый случай проблем, описанных в настройках дисплея “The, которые я настроил в настройках Nvidia, не сохраняются. ”. Некоторые настольные среды, которые включают усовершенствованные инструменты конфигурирования дисплея, автоматически настроят расположение дисплея в ответ на обнаруженные изменения конфигурации. Например, когда новый дисплей включается, такая настольная среда может попытаться восстановить предыдущее расположение, которое использовалось с набором в настоящее время подключенных дисплеев или может настроить раскладку по умолчанию, основанную на ее собственной политике.

На X-серверах с поддержкой RandR 1.2 или позже, NVIDIA X событий замены в горячем режиме дисплея отчетов о драйвере к X-серверу через RandR, когда дисплеи подключены и разъединены. Эти события замены в горячем режиме могут инициировать настольную среду с усовершенствованными возможностями управления дисплеем изменить конфигурацию дисплея. Эти изменения могут влиять на настройки, такие как набор активных дисплеев, их разрешений и располагающий друг относительно друга, настроек исправления на цвет отображения, и т.д.

, Кроме того, для заменения в горячем режиме событий, сгенерированных путем соединения или разъединения дисплеев, дисплеи DisplayPort генерируют горячее, отключают событие, когда они выключаются, и событие замены в горячем режиме, когда они включаются, даже если никакое физическое включение в или отключение не происходят. Это может привести к вызванным заменой в горячем режиме изменениям конфигурации дисплея без любого фактического действия замены в горячем режиме, происходящего.

, Если события замены в горячем режиме дисплея приводят к нежелательным изменениям конфигурации, попробуйте решения и обходные решения, перечисленные в настройках дисплея “The, которые я настроил в настройках Nvidia, не сохраняются. ”. Другое обходное решение должно было бы отключить NVIDIA создание отчетов X драйверов событий замены в горячем режиме с параметром конфигурации UseHotplugEvents X. Обратите внимание, что эта опция не будет иметь никакого эффекта на устройства DisplayPort, которые должны сообщить, что все события замены в горячем режиме гарантируют соответствующую функциональность.

<час>

Option "UseHotplugEvents" "boolean"

, Когда эта опция включена, NVIDIA, X драйверов генерируют дисплей RandR измененные события, когда дисплеи будут включены или отключаются от GPU NVIDIA. Некоторые настольные среды прислушаются к этим событиям и динамично реконфигурируют рабочий стол, когда дисплеи будут добавлены или удалены.

Отключение этой опции подавляет поколение этих событий RandR для дисплеев не-DisplayPort, т.е., соединенные через VGA, DVI или HDMI. События замены в горячем режиме не могут быть подавлены для дисплеев, подключенных через DisplayPort.

Примечание, что зондирование конфигурации дисплея (например, с xrandr или настройками Nvidia) может заставить дисплей RandR измененные события быть сгенерированным, независимо от того, включена ли эта опция или отключена. Кроме того, некоторые порты VGA неспособны к обнаружению замены в горячем режиме: на таких портах дополнение или демонтаж дисплеев могут только быть обнаружены путем перезондирования конфигурации дисплея.

Значение по умолчанию: на. Драйвер генерирует события RandR, когда дисплеи будут добавлены или удалены.

Option "AllowEmptyInitialConfiguration" "boolean"

Обычно, NVIDIA X драйверов не запустятся, если это не может найти дисплеи подключенными к GPU NVIDIA. AllowEmptyInitialConfiguration переопределяет то поведение так, чтобы X-сервер запустился так или иначе, даже если никакие дисплеи не будут подключены.

Включение этой опции имеет смысл в конфигурациях, когда запуск X-сервера без дисплеев, подключенных к GPU NVIDIA, ожидается, но можно было бы быть соединен позже. Например, некоторые мониторы не обнаруживаются, как соединено, когда они выключаются, даже если они физически подключены к GPU.

Другой сценарий, где это полезно, находится в Основанных на Optimus ноутбуках, где дисплей RandR 1.4 разгружается (см. Главу 33, Разгружая Графический дисплей с RandR 1.4), используется для отображения экрана на неNVIDIA внутренняя панель, но внешний дисплей мог бы быть соединен позже.

Значение по умолчанию: прочь. Драйвер откажется запускаться, если он не может найти по крайней мере один подключенный дисплей.

3
ответ дан 17 November 2019 в 04:59

Другие вопросы по тегам:

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