web-dev-qa-db-ja.com

キーボードショートカットをマルチモニター構成に割り当てる

Ubuntu 10.10を使用します。外部スクリーンがあり、頻繁にコンピューターを部屋に出し入れします。

ラップトップを部屋から取り出す必要があるたびに、nvidia-settingsを介して手動で構成することを回避する方法はありますか?

プレスできるようになりたい Ctrl + 1 ノートパソコンの画面のみをアクティブにして、 Ctrl + 2 外部のみ、および Ctrl + 3 TwinViewの場合。

6
BorgDomination

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で見つかったモニターの名前です。

1
Wouter

私の答えは、ATIドライバーを使用しているため、あなたのケースに100%適切ではないかもしれませんが、外部モニターを検出し、その場合は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

スクリプトを何らかのディレクトリに保存し、実行権限を付与して、スクリプトを起動するキーボードショートカットを定義します。少なくともここではうまくいきます。

1
Oliver