web-dev-qa-db-ja.com

コマンドラインからモニターを切り替える

目的を達成するための別の方法を見つけたので、前の質問に回答が投稿されなかったので、見つけた回答に合わせて質問を変更しました。

コマンドラインからノートパソコンのモニターをオフにし、外部モニターを完全にオンにする方法はありますか?

22
Malabarba

コマンドで

xrandr --output VGA-0 --auto
xrandr --output LVDS --off 

画面が自動的に外部ディスプレイに転送されます。 Sudoのパワーすら必要ありません。ディスプレイの名前を確認するには、次のようにします。

xrandr -q

これは次のようになります:

VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
...
LVDS connected (normal left inverted right x axis y axis)
...

ディスプレイの拡張は、おそらく同様の方法で実現できます。

28
Malabarba

これは間違いなくあなたの質問に対する直接の答えではありません。しかし、私はそれが私のユースケースで役立つとわかりました。これは設定ファイルのエクスポートではありませんが、シェルスクリプトでディスパーを自動化する方法を示しています。私はこれをドッキング/ドッキング解除するたびに実行するように設定しており、ラップトップをドッキングおよびドッキング解除するときのディスプレイの問題を修正しているようです:

disper およびPythonがインストールされている必要があります。

#!/bin/sh
#
# Detect displays and move panels to the primary display
#

PYTHON=python2.6
DISPER=/usr/bin/disper

# disper command will detect and configure monitors
$PYTHON $DISPER --displays=auto -e -t left

# parse output from disper tool how many displays we have attached
# disper prints 2 lines per displer
lines=`$PYTHON $DISPER -l|wc -l`

display_count=$((lines / 2))

echo $display_count

echo "Detected display count:" $display_count

# Make sure that we move panels to the correct display based
# on the display count
if [ $display_count = 1 ] ; then
    echo "Moving panels to the internal LCD display"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "0"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "0"
    sleep 5
    pkill gnome-panel
else
    echo "Moving panels to the external display"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "1"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "1"
    sleep 5
    pkill gnome-panel
fi
4
JD Long