- Вопрос или проблема
- Кабель DisplayPort на HDMI
- Ответ или решение
- Игнорирование включения/выключения экранов в Xubuntu с Xfce
- 1. Настройка Xorg для игнорирования событий подключения/отключения
- 2. Настройка поведения через дисплейные настройки
- 3. Использование различных интерфейсов подключения
- 4. Обновление драйверов и системы
- Заключение
Вопрос или проблема
Я использую 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 для игнорирования событий, связанных с горячим подключением/отключением экрана. Для этого выполните следующие шаги:
-
Создание или редактирование файла конфигурации Xorg:
Откройте терминал и выполните команду:sudo nano /etc/X11/xorg.conf.d/99-monitors.conf
Если директория
/etc/X11/xorg.conf.d/
не существует, создайте её:sudo mkdir -p /etc/X11/xorg.conf.d/
-
Добавление конфигурации:
Вставьте следующий текст в файл:Section "Monitor" Identifier "HDMI" Option "Ignore" "true" EndSection
Замените
"HDMI"
на идентификатор вашего монитора, если это необходимо. Для этого вы можете использовать командуxrandr
, чтобы получить список подключенных мониторов. -
Сохраните изменения и перезапустите Xorg:
После внесения изменений, перезапустите вашу сессию Xfce или перезагрузите компьютер.
2. Настройка поведения через дисплейные настройки
Если создание конфигурационного файла не дало желаемого результата, попробуйте следующие шаги в настройках:
-
Откройте Настройки > Экран (Settings -> Display).
-
Перейдите на вкладку Дополнительно (Advanced).
-
Создайте новый профиль и примените его, установив опцию "Когда новые дисплеи подключены:" на "Расширение" (Extend).
-
Включите опцию "Автоматически включать профили при новом подключении дисплея".
Эта настройка может помочь сохранить ваше текущее состояние, когда вы отключаете и затем включаете монитор обратно.
3. Использование различных интерфейсов подключения
Судя по вашему описанию, использование кабеля DisplayPort к HDMI вызывает неожиданное поведение системы. Вы отметили, что подключение через HDMI ведет к более желаемому поведению. Если это возможно, постарайтесь использовать дополнительные HDMI-порты или Переходniki, чтобы гарантировать, что система не будет реагировать на отключение.
4. Обновление драйверов и системы
Убедитесь, что ваши драйверы Nvidia и сама система Xubuntu обновлены до последних стабильных версий. Вы можете проверить и обновить драйвера следующим образом:
sudo apt update
sudo apt upgrade
Заключение
Ваша проблема — распространенное явление в мире многомониторных конфигураций, и, к сожалению, гибкость работы с различными интерфейсами подключения не всегда позволяет избежать неудобств. Пользуясь предложенными выше методами, вы сможете оптимизировать работу вашего многомониторного окружения так, чтобы оно соответствовало вашим требованиям. Если у вас остались вопросы, не стесняйтесь обращаться за дополнительной поддержкой!