Как я могу заставить Xubuntu / Xfce игнорировать включение / выключение экрана?

Вопрос или проблема

Я использую Xubuntu Jammy 22.04.3 LTS с Xfce 4.

У меня система с несколькими мониторами, и мне не нравится поведение по умолчанию, когда я отключаю один из экранов. Когда я отключаю экран (используя кнопку на самом экране), система начинает перемещать окна и панели и ограничивает мою мышь только экранами, которые все еще включены. Я просто хочу, чтобы окна/панели оставались на месте и чтобы я мог взаимодействовать с ними с помощью мыши, как будто экран все еще включен.

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

Как я могу заставить Xubuntu рассматривать мониторы так, как будто они включены, даже когда они выключены? Нужно ли мне создавать файл xorg.conf или что-то подобное?

Настройка дисплея: (Монитор справа — это мой телевизор, обычно я не хочу его использовать)

Настройка дисплея

Информация о драйвере видеокарты:

$ lspci -k | grep -EA3 VGA
2b:00.0 VGA совместимый контроллер: NVIDIA Corporation GP104 [GeForce GTX 1070 Ti] (rev a1)
    Подсистема: Micro-Star International Co., Ltd. [MSI] GP104 [GeForce GTX 1070 Ti]
    Используемый драйвер ядра: nvidia
    Модули ядра: nvidiafb, nouveau, nvidia_drm, nvidia

$ nvidia-smi
Ср 30 авг 11:06:54 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05              Версия драйвера: 535.86.05    Версия CUDA: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| Название GPU                 Постоянство-M | Bus-Id        Disp.A | Нестационарная неуст. ECC |
| Вентилятор Темп   Перф          Потребл.:Исп./Макс |         Использование памяти | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1070 Ti     Выключен | 00000000:2B:00.0  Включен |                  N/A |
|  0%   60C    P2              37W / 180W |    290MiB /  8192MiB |      0%      По умолчанию |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Процессы:                                                                            |
|  GPU   GI   CI        PID   Тип   Имя процесса                            Использование памяти GPU |
|        ID   ID                                                             Использование      |
|=======================================================================================|
|    0   N/A  N/A      1221      G   /usr/lib/xorg/Xorg                          280MiB |
|    0   N/A  N/A      1522      G   xfwm4                                         6MiB |
+---------------------------------------------------------------------------------------+

$ dkms status
nvidia/535.86.05, 5.15.0-82-generic, x86_64: установлено

Связано: Вопрос на Superuser, Пост на Reddit, Проблема на GitHub Linux Mint

Кабель DisplayPort на HDMI

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

Я искал решение этой проблемы в интернете. У многих людей она есть, и она также возникает в Windows. Похоже, никто не нашел программного решения. Поскольку в моей видеокарте больше нет свободных HDMI портов, я использовал кабель DisplayPort на HDMI для подключения монитора. Это решило проблему: отключение кабеля от экрана приведет к перемещению окон, но выключение экрана — нет.

Мой вывод — это проблема с моим монитором.

У меня была такая же проблема. Я решил ее в Linux Mint 22 следующим образом:

  • Перейдите в Настройки -> Дисплей -> Дополнительно
  • Создайте профиль и примените его
  • Установите “Когда новые дисплеи подключены:” на Расширить
  • Включите “Автоматически включать профили при подключении нового дисплея”

Что произойдет, так это то, что когда монитор отключается, настройки дисплея изменяются, но как только монитор снова включается, настройки восстанавливаются.

Ответ или решение

Игнорирование включения/выключения экранов в Xubuntu с Xfce

Если вы используете Xubuntu 22.04.3 LTS с окружением рабочего стола Xfce и столкнулись с проблемой перемещения окон и панелей при выключении одного из экранов в многомониторной конфигурации, то это может быть связано с тем, что система интерпретирует действие как отключение монитора. Рассмотрим несколько предложений, как можно обойти эту проблему и сделать так, чтобы Xfce не реагировал на выключение экрана.

1. Настройка Xorg для игнорирования событий подключения/отключения

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

  1. Создание или редактирование файла конфигурации Xorg:
    Откройте терминал и выполните команду:

    sudo nano /etc/X11/xorg.conf.d/99-monitors.conf

    Если директория /etc/X11/xorg.conf.d/ не существует, создайте её:

    sudo mkdir -p /etc/X11/xorg.conf.d/
  2. Добавление конфигурации:
    Вставьте следующий текст в файл:

    Section "Monitor"
       Identifier "HDMI"
       Option "Ignore" "true"
    EndSection

    Замените "HDMI" на идентификатор вашего монитора, если это необходимо. Для этого вы можете использовать команду xrandr, чтобы получить список подключенных мониторов.

  3. Сохраните изменения и перезапустите Xorg:
    После внесения изменений, перезапустите вашу сессию Xfce или перезагрузите компьютер.

2. Настройка поведения через дисплейные настройки

Если создание конфигурационного файла не дало желаемого результата, попробуйте следующие шаги в настройках:

  1. Откройте Настройки > Экран (Settings -> Display).

  2. Перейдите на вкладку Дополнительно (Advanced).

  3. Создайте новый профиль и примените его, установив опцию "Когда новые дисплеи подключены:" на "Расширение" (Extend).

  4. Включите опцию "Автоматически включать профили при новом подключении дисплея".

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

3. Использование различных интерфейсов подключения

Судя по вашему описанию, использование кабеля DisplayPort к HDMI вызывает неожиданное поведение системы. Вы отметили, что подключение через HDMI ведет к более желаемому поведению. Если это возможно, постарайтесь использовать дополнительные HDMI-порты или Переходniki, чтобы гарантировать, что система не будет реагировать на отключение.

4. Обновление драйверов и системы

Убедитесь, что ваши драйверы Nvidia и сама система Xubuntu обновлены до последних стабильных версий. Вы можете проверить и обновить драйвера следующим образом:

sudo apt update
sudo apt upgrade

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...