Назначение сочетаний клавиш для конфигураций с несколькими мониторами

Использование Ubuntu 10.10. У меня внешний экран, и я часто перемещаю свой компьютер в комнату и из комнаты.

Есть ли способ избежать ручной настройки через nvidia-settings каждый раз, когда мне нужно вынести свой ноутбук из моей комнаты?

Хотел бы иметь возможность нажимать Ctrl + 1 и активен только экран ноутбука, Ctrl + 2 только для внешнего и Ctrl + 3 для TwinView.

6
задан 12 February 2011 в 12:18

2 ответа

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

Если xrandr также работает в вашей конфигурации, вы можете использовать его модифицированную версию. xrandr содержится в пакете «x11-xserver-utils», поэтому сначала вам может потребоваться запустить «sudo apt-get install x11-xserver-utils» в консоли.

Что нужно изменить в скрипте:

  • Сначала запустите «xrandr -q» в консоли, чтобы узнать, как называются ваш главный и внешний монитор. Мои "LVDS" и "DisplayPort-0".
  • Установите в скрипте EXT_DISPLAY имя вашего внешнего монитора
  • Установите в скрипте MAIN_DISPLAY на имя вашего основного монитора
  • Оставьте EXT_POS «правильным», чтобы иметь внешний монитор справа от основного монитора, замените его на «левый» (или фактически что-нибудь еще), чтобы он был слева

Скрипт:

#!/bin/bash

EXT_DISPLAY="DisplayPort-0"
MAIN_DISPLAY="LVDS"
EXT_POS="right"

EXT_OUTPUT="NONE"
xrandr -q > /var/tmp/xrandr.log

STATUS_DISPLAYPORT=$(xrandr -q | sed -n "s/${EXT_DISPLAY} \([a-z]*\).*/\1/p")

if [ "$STATUS_DISPLAYPORT" = "connected" ]; then
    echo "Detected external monitor on $EXT_DISPLAY"
    EXT_OUTPUT="$EXT_DISPLAY"
fi

if [ "$EXT_OUTPUT" = "NONE" ]; then
    echo "LCD only"

else
    echo "Enabling external monitor $EXT_OUTPUT"
    if [ "$EXT_POS" = "right" ]; then
        xrandr --output $MAIN_DISPLAY --pos 0x0 --preferred --output $EXT_OUTPUT --right-of $MAIN_DISPLAY --preferred
    else
        xrandr --output $EXT_OUTPUT --pos 0x0 --preferred --output $MAIN_DISPLAY --right-of $EXT_OUTPUT --preferred 
    fi
fi

Сохраните скрипт в некоторых каталогах дайте ему права на выполнение и определите сочетание клавиш, которое его запускает. Хорошо работает, по крайней мере, здесь.

0
ответ дан 12 February 2011 в 12:18

Я использую disper: https://launchpad.net/~disper-dev/+archive/ppa . Вы можете назначить команду disper -s для ярлыка только для вашего основного дисплея, disper -S только для вашего дополнительного монитора, disper -e для расширенного рабочего стола и disper -c для клона на обоих дисплеях. Мне пришлось немного подправить его, чтобы настроить основной монитор для расширенного рабочего стола. Я использую команду disper -d CRT-1,DFP-0 -e, где CRT-1 и DFP-0 - это имена мониторов, найденных с disper -l.

0
ответ дан 12 February 2011 в 12:18

Другие вопросы по тегам:

Похожие вопросы: