Я запускаю Kubuntu 12.10. У меня есть видеокарта nVidia GT-430 с большим монитором 27 "2560x1550, подключенным с двухканальным DVI и меньшим монитором 21" 1920x1080, подключенным к HDMI. Прежде чем я войду в систему, диспетчер входа в систему, как представляется, использует оба монитора отдельно (список идентификаторов пользователей распространяется на оба монитора), но как только я вхожу в систему, он делает их клоны друг от друга. Мне нужно войти и изменить «Положение» меньшего монитора с «Клонирование» на «Слева». Неважно, нажимаю ли я кнопку «Сохранить как значение по умолчанию» или нет, мне все равно придется каждый раз перезагружать его.
Я смотрю в .kde/share/config/startupconfig, и я вижу, что выглядит как правильные команды:
# krandrrc Display ApplyOnStartup false
krandrrc_display_applyonstartup=true
# krandrrc Display StartupCommands ''
krandrrc_display_startupcommands='xrandr --output DVI-I-1 --pos 1920x0 --mode 2560x1440 --refresh 59.9506
xrandr --output HDMI-0 --pos 0x0 --mode 1920x1080 --refresh 60
xrandr --output DVI-I-1 --primary'
# krandrrc [Screen0]
# krandrrc [Screen1]
# krandrrc [Screen2]
# krandrrc [Screen3]
Обратите внимание на --pos 1920x0 для DVI-I-1, что верно. Аналогично, .kde/share/config/krandrrc также имеет правильное смещение большого экрана, чтобы поместить его вправо от маленького экрана:
[Display]
ApplyOnStartup=true
StartupCommands=xrandr --output DVI-I-1 --pos 1920x0 --mode 2560x1440 --refresh 59.9506\nxrandr --output HDMI-0 --pos 0x0 --mode 1920x1080 --refresh 60\nxrandr --output DVI-I-1 --primary
[Screen_0]
OutputsUnified=false
UnifiedRect=0,0,0,0
UnifiedRotation=1
[Screen_0_Output_DVI-I-1]
Active=true
Rect=1920,0,2560,1440
RefreshRate=59.9505500793457
Rotation=1
[Screen_0_Output_HDMI-0]
Active=true
Rect=0,0,1920,1080
RefreshRate=60
Rotation=1
[Screen_0_Output_HDMI-1]
Active=true
Rect=0,0,1920,1080
RefreshRate=60
Rotation=1
Как я могу заставить это работать так, как он должен? Я бы хотел, чтобы это работало, потому что через месяц или два я собираюсь купить второй GT-430 и второй 27-дюймовый монитор, и я бы хотел, чтобы все это работало.
Это мое решение.
nano ~/.kde4/Autostart/setupscreens.sh
заполнить следующим кодом
#!/bin/bash
foo=$(sed '3q;d' $HOME/.kde4/share/config/krandrrc)
${foo:16}
save (ctrl-o) и выйти (ctrl-x)
теперь делают его исполняемым
chmod +x ~/.kde4/Autostart/setupscreens.sh
Что он делает, это запустить команду xrandr, сгенерированную графическим интерфейсом системных настроек при настройке экрана. Я понятия не имею, почему для многих это неправильно выполняется при входе в систему, но для меня это было простое исправление, которое работает, если я изменю свою настройку в будущем, используя системные настройки.