Как установить настройки xrandr по умолчанию?

17

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

https://wiki.ubuntu.com/X/Config/Multihead/

Как и в случае метода конфигурации GNOME XRandR, установка слишком большого значения для Virtual может привести к потере аппаратного ускорения и, следовательно, невозможности использования Compiz и его эффектов рабочего стола.

Когда я использую апплет монитора GNOME или конфигурацию Monitors в системном меню, настройки xrandr по умолчанию помещают второй монитор справа от первого, и, как я обнаружил с этой ошибкой , для большинства мониторов это создает виртуальный рабочий стол большего размера. чем максимальное разрешение по горизонтали 2048, необходимое для аппаратного ускорения на моем нетбуке.

Таким образом, похоже, что если я смогу изменить настройки по умолчанию для xrandr, чтобы новый рабочий стол располагался выше или ниже (север или юг) основного дисплея LVDS, тогда аппаратное ускорение и, следовательно, compiz будут продолжать работать. Может кто-нибудь сказать мне, как проще всего это сделать?

ОБНОВИТЬ:

Я подтвердил, что поддержка нескольких головок с эффектами рабочего стола и аппаратным ускорением работает, когда я перемещаю дисплей внешнего монитора к северу от основного дисплея LVDS. Прямо сейчас это включает в себя следующий процесс: подключение внешнего монитора, запуск меню конфигурации мониторов, эффекты рабочего стола отключаются автоматически (и все окна в моих рабочих пространствах перемещаются в первое рабочее пространство), перемещая внешний дисплей так, чтобы он был к северу от LVDS отобразится и щелкните «Применить», а затем перейдите в меню «Внешний вид» и укажите включенные эффекты рабочего стола. Есть ли более простой способ сделать это?

ОБНОВЛЕНИЕ 2:

Хорошо, поэтому я подумал, что, возможно, экран конфигурации мониторов GNOME пытается быть умным и может мешать эффектам рабочего стола. Итак, я просто попытался использовать клиент командной строки xrandr следующим образом:

xrandr --output VGA1 --above LVDS1

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

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

ОБНОВЛЕНИЕ 3:

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

second-monitor.sh

xrandr --output VGA1 --above LVDS1
sleep 3
compiz --replace &

Заявление о сне может быть необязательным.

Если есть лучший способ сделать это, пожалуйста, дайте мне знать.

ОБНОВЛЕНИЕ 4:

Это Dell Mini Inspiron 1012.

Вот мои технические характеристики системы:

lspci -vv

00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller
    Subsystem: Dell Device 041a
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 29
    Region 0: Memory at f0b00000 (32-bit, non-prefetchable) [size=512K]
    Region 1: I/O ports at 18d0 [size=8]
    Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
    Region 3: Memory at f0900000 (32-bit, non-prefetchable) [size=1M]
    Capabilities: <access denied>
    Kernel driver in use: i915
    Kernel modules: i915

00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller
    Subsystem: Dell Device 041a
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0
    Region 0: Memory at f0b80000 (32-bit, non-prefetchable) [size=512K]
    Capabilities: <access denied>

lsmod | grep i915

i915                  287458  2 
drm_kms_helper         29329  1 i915
drm                   162409  3 i915,drm_kms_helper
intel_agp              24375  2 i915
i2c_algo_bit            5028  1 i915
video                  17375  1 i915
jbeard4
источник
Возможно, это связано с картой Nvidia?
Виндиго
Точно нет. Я обновил информацию с соответствующими спецификациями.
jbeard4
Можете ли вы опубликовать вывод ошибок, которые происходят, когда вы испытываете это? Это помогло бы изолировать проблему. Спасибо.

Ответы:

3

Выкладывание их слева направо - не значение по умолчанию для xrandr, а значение по умолчанию для демона gnome-settings-daemon. Начиная с версии gnome-settings-daemon 2.32, последняя конфигурация должна быть загружена из monitors.xml; так что если вы сделали вертикальный макет один раз, то в следующий раз он автоматически подберет его, не выбивая Compiz.

Так вы случайно не запускаете 10.04 Lucid? В этом случае вы можете следовать этим инструкциям, чтобы включить эту функцию в gnome-settings-daemon 2.30.1.

1) открыть терминал

2) получить источник:

mkdir src
cd src
apt-get source gnome-settings-daemon

3) отредактируйте src / gnome-settings-daemon-2.30.1 / plugins / xrandr / gsd-xrandr-manager.c, в строке 1349, измените

#if 1

в

#if 0

4) в терминале установите зависимости сборки:

sudo apt-get install build-dep gnome-settings-daemon

5) дайте вашему пакету новый номер версии:

dch -i "enable monitor.xml default values"

6) соберите и установите ваш пакет:

debuild
cd ..
sudo dpkg -i gnome-settings-daemon*.deb

Пожалуйста, дайте мне знать, если это работает для вас, я воспроизвел шаги по памяти. Кроме того, дайте мне знать, если вам пришлось делать дополнительные шаги, чтобы я мог обновить этот ответ.

Тимо клак
источник
1

Или вы можете просто получить значок Compiz Fusion, он позволяет вам легко перейти к перезагрузке Compiz. Большое спасибо, у меня были те же проблемы, я никогда не думал, что нужно перезагрузить compiz, просто думал, что мне придется жить с этим в двойном режиме. Только что попробовал с иконкой фьюжн, вуаля! Куб, все снова нормально.


источник
Сладкий! Я видел сообщения здесь на askubuntu.com, и многие вопросы связаны с этим. Спасибо за указание на это!
Фарон
0

Разве «умная» программа - это просто сбой компиза, возвращающийся к резервному оконному менеджеру? Вашcompiz команда перезапускает 3D Window manager после исправления ошибочных настроек.

Вместо того, чтобы спать, вы, вероятно, можете связать команду ;(вторая ожидает завершения первого), чтобы получить желаемый эффект.

xrandr --output VGA1 --above LVDS1 ; compiz --replace &
Kriss
источник