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


21

目標を達成するために別の方法を見つけ、以前の質問に回答が投稿されなかったため、見つけた回答に一致するように質問を変更しました。

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


私はまったく同じことをグーグルで探していましたが、たった7分前にあなたが尋ねたこの質問につまずきました。それは驚くべきことです。あなたが答えを得ることを願っています。
JDロング

リカバリモードで起動して実行(または同様)する場合xorg.conf、ルート(/root/yorg.conf.new)ディレクトリにベーシックをドロップできることを知っていますX --configure
ボビー

問題(少なくとも私にとって)は、xorg.confを手で書きたくないことです。現在の設定をxorg.conf形式にダンプし、GUIで設定を変更してから、それらをファイルにダンプします。その後、2つの設定を簡単に変更するスクリプトを作成できます。現在、GUIに移動し、半ダース回クリックして設定を変更する必要があります。
JDロング

@JD Long:それはまさに私がやろうとしていることです。方法を見つけたらここに書いてください。私のスクリプトに欠けているのは、xorg.confファイルと、現在の表示を更新するコマンド(gdm restartを実行せずに)だけです。
マラバルバ

今日、disperを実験しています(willem.engen.nl/projects/disper)。ヘルプファイルには、エクスポートすることになっている-pオプションが表示されます。そのスイッチのみが実装されていません。悲しいトロンボーン
JDロング

回答:


28

コマンドで

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

画面は自動的に外部ディスプレイに転送されます。sudo powersも必要ありません。ディスプレイの名前を見つけるには、次のようにします。

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)
...

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


xrandrを(フラグを指定して)実行すると、「ディスプレイを開けません」というメッセージが表示されます。理由は何ですか?
-brandizzi

4
xrandr -qが与えられる場合:外部のみ:。拡張左、内部プライマリ:。拡張左、外部プライマリ:。内部のみ:。LVDS1VGA1xrandr --output VGA1 --auto --output LVDS1 --offxrandr --output VGA1 --auto --left-of LVDS1 --output LVDS1 --auto --primaryxrandr --output VGA1 --auto --left-of LVDS1 --primary --output LVDS1 --autoxrandr --output VGA1 --off --output LVDS1 --auto

いい答えだ!VGAとLVDSの間で通常は内部と外部のどちらになるかを初心者向けに説明する価値があるでしょうか?
マティフォー

4

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

ディスパーと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

Disperは便利なツールのようです。調べて、自分のケースに合うようにできるかどうかを確認します。唯一の違いは、ラップトップのモニターを拡張するのではなく、無効にすることです。ローエンドのラップトップでは少しスムーズで、パネルを自動的に処理します。
マラバルバ

考え直してみると、私のatiビデオカードはnvidiaのサポートのみを主張しているため、サポートされていない可能性があります。
マラバルバ

[OK]を、diperページは、このページに私を導いた:thinkwiki.org/wiki/Sample_Fn-F7_script ターン、それはxrandrをコマンドを使用してモニターを切り替えることが非常に簡単ですから。
マラバルバ

xrandrリンクを投稿していただきありがとうございます。調査します。私は同じものでぶらぶらしています。FWIW、私のラップトップにはIntelカードがあり、問題なくdisperを使用しています。
JDロング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.