LINUX.ORG.RU

Приоритет мониторов и перебрасыванние окон

 , ,


0

1

Есть 2 монитора, один слева вторичный (secondary) и справа первичный (primary).

В домашней директории сделал файлик .xprofile с содержимым:

xrandr --output VGA-1  --mode 1360x768 --pos 1024x0 --primary
xrandr --output HDMI-2 --mode 1024x768 --pos 0x0

Левый вторичный монитор часто отключаю (физически на кнопку). После отключения, где-то секунд через 20, система, похоже, распознаёт его отключённым. После включения всё моргает и окна перемещаются на этот левый монитор. Как систему заставить принудительно считать правый первичным всегда (параметр primary не помог, хотя панель на вторичном скрыта) и запретить перекидывать окна автоматически?

OS KUBUNTU

Спасибо!


Тут дело не много не в том. Позиции окон отсчитываются от начала координат, которое находится в верхнем левом углу. Соответственно, когда ты включаешь левый монитор, начало координат уезжает на левый монитор, и все окна из-за этого смещаются. Тебе нужен оконный менеджер, который бы умел обрабатывать такие ситуации.

Khnazile ★★★★★ ()
Ответ на: комментарий от Zubok

Zubok, спасибо, но это абсолютно никак не помогает решить проблему.

Из интересного там - только лишь модель мониторов показывает, даже на стареньком через VGA. Раньше нигде у себя подобного не видел :)

Ещё один момент заметил. При выключенном мониторе все окна, которые были - остаются там. Но обновление окон и перенос туда происходит именно при включение. На основном экран моргает и окна убегают. То есть какой-то рефреш именно при включение.

BaN ()
Ответ на: комментарий от BaN

Zubok, спасибо, но это абсолютно никак не помогает решить проблему.

Проблему это может не решить, но там надо порыскать, есть ли какие-то параметры. Всю эту бадягу делает не xrandr - он вообще про окна ничего не знает. Это оконный менеджер получает информацию о выключении монитора и все окна перемещает, поэтому надо именно в нем искать, отключается ли это поведение. Поэтому свой ~/.xprofile можешь удалить, чтобы не было двух мест управления одним и тем же (потом забудешь 100%, что куда-то что-то помещал). Конфигурируй и располагай мониторы лучше через мониторы в KDE - эти настройки все равно используют RandR.

Из интересного там - только лишь модель мониторов показывает, даже на стареньком через VGA. Раньше нигде у себя подобного не видел :)

Ну так в из EDID прочел, которые из монитора получил.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

Интегрированное видео в Core i7

VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

Кстати, во время первой настройки такой фигни с перемещением не было, появилась после перезагрузки с активными двумя мониторами.

BaN ()
Ответ на: комментарий от BaN

Ещё один момент заметил. При выключенном мониторе все окна, которые были - остаются там. Но обновление окон и перенос туда происходит именно при включение.

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

System Settings -> Service Manager -> Startup and Shutdown - Background Services. Где-то там

И там где-то может быть Display Management change monitor или KScreen, что-то в этом роде (я цитирую по найденному, но у тебя может быть где-то в другом месте и по другому называться). Вот попробуй пока это.

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

Тоже читаю подобное :) https://github.com/linuxmint/Cinnamon/issues/5487

Там человеку помогло на Mitn, но как это сделать на kUbuntu?

dconf write /org/cinnamon/settings-daemon/plugins/xrandr/active false

Отключение «Энергосбережение монитора» вроде помогло, но это не вариант для меня. У меня основной монитор имеет призрачную память.

BaN ()
Ответ на: комментарий от BaN

dconf write /org/cinnamon/settings-daemon/plugins/xrandr/active false

Но там cinnamon. Это никакого отношения к тебе не имеет вообще. У тебя KDE. Зачем отключать xrandr, я не знаю. Надо отключить службу, которая следит за состоянием монитора и чтобы она молчала, когда монитор отключился. Это именно сервис KDE надо отключать. Говорю: зайди в Menu->Computer->System Settings->System Administration->Startup and Shutdown->Service Manager и найди там KScreen. Выключи его и перезапусти сессию на всякий случай.

Zubok ★★★★★ ()
Ответ на: комментарий от BaN

Интегрированное видео в Core i7

А драйвер какой: modesetting или intel (см. лог)?

В драйвере intel просматривается такая опция:

       Option "HotPlug" "boolean"
              This  option  controls whether the driver automatically notifies
              applications when monitors are connected or disconnected.

              Default: enabled.

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

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

Отключил службу.

Побочный эффект: теперь ОС стартуют в режиме клонирования. Но тут уже меньшая проблема, в автозагрузку sh скрипт кину

Может кому пригодится, где искать в KDE: https://i.imgur.com/CEOgJ85.png

Дополнительно поставил галочку https://askubuntu.com/questions/120725/open-new-windows-on-main-screen-in-kde...

Видео и драйвер https://i.imgur.com/qjcLY0T.png

Спасибо! Вопрос решён.

BaN ()
Ответ на: комментарий от BaN

Побочный эффект: теперь ОС стартуют в режиме клонирования. Но тут уже меньшая проблема, в автозагрузку sh скрипт кину

То есть настройка мониторов через KDE как бы перестает уже работать?

А этот KScreen, может быть, имеет какие-то более тонкие настройки, недоступные в GUI, но доступные через файлы конфигурации?

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от Zubok

То есть настройка мониторов через KDE как бы перестает уже работать?

Да. Там показан становится только один (клон). Через Xrandr включаешь и опять нормально там видны.

man kscreen
Нет справочной страницы для kscreen

Вот man вроде по ней https://www.opennet.ru/man.shtml?topic=screen&category=8&russian=0

Но мне, если честно, не хочется углубляться. Xrandr полностью устраивает. Пока проблем не выявил.

Спасибо за помощь!

BaN ()