xrandr сценарий запуска

3

Я использую сервер ubuntu с xmonad. Я настраиваю настройку своего двойного монитора с xrandr , но я не могу заставить его запускаться при запуске. Мой .xinitrc выглядит следующим образом:

# WM
xmonad

# dual monitor
xrandr --output HDMI1 --auto
xrandr --output VGA1 --auto --left-of HDMI1

Настройки не применяются. Как мне это сделать?

    
задан ilia choly 23.10.2013 в 15:31
источник

2 ответа

1

Попробуйте использовать амперсанд ( & ) за xmonad . Таким образом, он будет выполнен в фоновом режиме. И две команды xrandr могут быть выполнены.

# dual monitor
xrandr --output HDMI1 --auto
xrandr --output VGA1 --auto --left-of HDMI1

# WM
xmonad
    
ответ дан chaos 23.10.2013 в 15:41
источник
4

ilia choly, Посмотрите, подходит ли это решение для вас: Как заставить несколько мониторов правильно принимать решения для LightDM?

Он включает в себя редактирование /etc/lightdm/lightdm.conf, чтобы экран входа в систему (протестированный на Ubuntu 12.04) вызывал сценарий. Файл первоначально выглядит следующим образом:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu

Добавление следующей строки заставляет его вызывать данный скрипт еще до входа в систему:

display-setup-script=/usr/share/lightdmxrandr.sh

И эта другая строка позволяет вызвать данный скрипт после входа в систему:

session-setup-script=/usr/share/lightdmxrandr.sh

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

#!/bin/bash

# connected external output
XCOM0='xrandr -q | egrep '(HDMI1|VGA1|DP1) connected' | egrep -o '(HDMI1|VGA1|DP1)''
# command to set external desktop
XCOM1='xrandr --output LVDS1 --primary --auto --output $XCOM0 --auto --right-of LVDS1'
# command to set normal desktop
XCOM2='xrandr --output LVDS1 --primary --auto'
# if the external monitor is connected, then we tell XRANDR to set up an extended desktop
if [ -n "$XCOM0" ] || [ ! "$XCOM0" = "" ]; then echo $XCOM1
# if the external monitor is disconnected, then we tell XRANDR to output only to the laptop screen
else echo $XCOM2
fi

exit 0;

Сохранить этот файл как lightdmxrand.sh Установить как исполняемый файл следующим образом:

$ sudo chmod +x lightdmxrand.sh

Переместите его в каталог / usr / share / следующим образом:

$ sudo mv lightdmxrand.sh /usr/share/lightdmxrandr.sh

Измените /etc/lightdm/lightdm.conf, добавив к нему заданную строку:

display-setup-script=/usr/share/lightdmxrandr.sh

Если вы хотите, чтобы этот скрипт также запускался после входа в систему, добавьте:

session-setup-script=/usr/share/lightdmxrandr.sh

Надеюсь, что это сработает для вас!

    
ответ дан samuelcersosimo 02.11.2013 в 07:58