LINUX.ORG.RU

Запоминание многомониторной конфигурации в Xfce

 , ,


1

1

После покупки второго монитора столкнулся с проблемой в Xfce 4.12 (Ubuntu GNU/Linux 18.04): заданная через штатные гуевые настройки конфигурация мониторов не сохраняется нормально. Мониторов у меня два одинаковых, один воткнут в DVI (#1), другой в HDMI (#2). В гуи настроек правильную конфигурацию можно выставить, но она не сохраняется при перезапуске (тогда просто дефолт появляется, на #1 весь десктоп, #2 не задействован). Сохранение сессии включено. Также пробовал написать скрипт с использованием xrandr для конфигурирования. Помещение в автозапуск Xfce или в .Xsessionrc не помогает, работает только при запуске вручную из терминала. Вот скрипт:

#!/bin/bash

LOG=monitor.log

export DISPLAY=:0
echo -n "[`date`] " >> $LOG
( xrandr --output HDMI-0 --auto --primary && xrandr --output DVI-D-0 --right-of HDMI-0 ; ) >> $LOG 2>&1
echo >> $LOG

В monitor.log видно, что скрипт на старте запускается с пустым выводом.

Как заставить Xfce применять настройки?

★★★

какой «диспетчер входа в систему»? если lightdm, то в /etc/lightdm/lightdm.conf, в секции «[Seat:*]», пропиши в параметр «display-setup-script» или «session-setup-script» (можно в оба сразу, там один отвечает за запуск скрипта во время логина, а другой после логина) путь до твоего скрипка, который будет настраивать xrandr
п.с. вроде в 4.14 обещают сохранение профилей настроек мониторов

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

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

Несколько удивлен маразмом ситуации с учетом того, что на более старой машине (Ubuntu 16.04, Xfce 4.10!) конфигурация мониторов вполне сохраняется между ребутами.

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

после прохода сессионного автостарта Xfce переконфигурирует

Поставь в своём скрипте sleep секунд на 10-20, для теста.

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

Слип и на 5 секунд помог, так что похоже на «мудрость» Xfce. Но хотелось бы более-менее нормального решения (если оно есть, конечно).

P.S. Забыл написать, но снятие/установка галки «Configure new displays when connected» в настройках ничего не меняет.

lu4nik ★★★
() автор топика

Вот так лог надо вести.

function output2log {
  exec 4>&1
  exec &>> $BUILD_LOG
}

function restore_output {
  exec 1>&4 4>&-
}

function msg {
  restore_output
  echo $1
  output2log
}
DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

Можно пояснить для тупых, что там происходит и почему просто 2>&1 плохой? Ну или по каким ключевым словам гуглить.

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

Когда дома буду, я это сто лет назад сочинял.

DELIRIUM ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.