Ganti monitor dari baris perintah

21

Karena saya menemukan metode yang berbeda untuk mencapai tujuan saya, dan karena tidak ada jawaban yang diposting ke pertanyaan saya sebelumnya, saya telah mengubah pertanyaan untuk mencocokkan jawaban yang saya temukan.

Apakah ada cara untuk mematikan monitor laptop saya dan menyalakan monitor eksternal (dan sebaliknya) sepenuhnya dari baris perintah?

Malabarba
sumber
Saya hanya googling untuk hal yang sama persis dan saya menemukan pertanyaan ini yang Anda tanyakan hanya 7 menit yang lalu. Brengsek luar biasa. Saya harap Anda mendapat jawaban.
JD Long
Saya tahu bahwa Anda dapat menjatuhkan dasar xorg.confke direktori root ( /root/yorg.conf.new), jika Anda boot ke mode pemulihan dan menjalankan X --configure(atau serupa).
Bobby
masalahnya (setidaknya bagi saya) adalah saya tidak ingin menulis xorg.conf secara manual. Saya ingin membuang pengaturan saya saat ini ke format xorg.conf kemudian mengubah pengaturan dengan GUI dan kemudian membuangnya ke dalam file. Lalu saya bisa menulis skrip untuk mengubah antara dua pengaturan dengan sangat mudah. Saat ini saya harus masuk ke GUI dan klik setengah lusin kali untuk mengubah pengaturan saya.
JD Long
@JD Long: Itulah tepatnya yang saya coba lakukan juga. Pastikan untuk menulis di sini jika Anda pernah menemukan cara. Hanya dua hal yang hilang untuk skrip saya adalah file xorg.conf, dan perintah untuk me-refresh tampilan saat ini (tanpa harus melakukan gdm restart).
Malabarba
Saya telah bereksperimen dengan disper hari ini ( willem.engen.nl/projects/disper ). File bantuan menunjukkan opsi -p yang seharusnya diekspor. Hanya sakelar yang tidak diterapkan. sad trombone
JD Long

Jawaban:

28

Dengan perintah

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

Layar secara otomatis mentransfer ke tampilan eksternal. Bahkan tidak perlu kekuatan sudo. Untuk mengetahui nama display lakukan saja:

xrandr -q

Yang seharusnya memberikan sesuatu seperti:

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

Memperluas tampilan mungkin dapat dicapai dengan cara yang sama.

Malabarba
sumber
Saya mendapatkan pesan "Tidak dapat membuka tampilan" saat menjalankan xrandr (dengan bendera apa pun). Apa yang bisa menjadi alasan?
brandizzi
4
Jika xrandr -qmemberikan LVDS1& VGA1: hanya Eksternal: xrandr --output VGA1 --auto --output LVDS1 --off. Diperpanjang meninggalkan, internal yang utama: xrandr --output VGA1 --auto --left-of LVDS1 --output LVDS1 --auto --primary. Diperpanjang utama kiri, eksternal: xrandr --output VGA1 --auto --left-of LVDS1 --primary --output LVDS1 --auto. Internal saja: xrandr --output VGA1 --off --output LVDS1 --auto.
jawaban bagus! Mungkin layak dijelaskan untuk pemula yang mana yang biasanya akan menjadi internal dan eksternal antara VGA dan LVDS?
Matifou
4

Ini jelas BUKAN jawaban langsung untuk pertanyaan Anda. Tetapi saya merasa terbantu dalam kasus penggunaan saya. Ini bukan ekspor file konfigurasi, tetapi ini menunjukkan bagaimana cara mengotomatiskan disper dalam skrip shell. Saya mengatur ini untuk dijalankan setiap kali saya berlabuh / lepas-dok dan sepertinya akan memperbaiki masalah tampilan saya saat memasang dan melepas laptop saya:

Anda harus memasang disper dan 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
JD Long
sumber
Disper sepertinya alat yang berguna. Saya akan memeriksanya dan melihat apakah saya bisa membuatnya sesuai dengan kasus saya. Satu-satunya perbedaan adalah bahwa saya ingin menonaktifkan monitor laptop, bukannya memperluasnya. Ini sedikit lebih halus pada laptop low-end saya, dan ini berhubungan dengan panel secara otomatis.
Malabarba
Setelah dipikir-pikir, kartu video ati saya mungkin tidak didukung, karena mereka hanya mengklaim mendukung nvidia.
Malabarba
Ok, halaman diper membawa saya ke halaman ini: thinkwiki.org/wiki/Sample_Fn-F7_script Ternyata cukup mudah untuk mengganti monitor dengan perintah xrandr.
Malabarba
terima kasih telah mengirim tautan xrandr. Saya akan selidiki itu. Saya kikuk dengan hal yang sama. FWIW, laptop saya memiliki kartu Intel dan saya menggunakan disper tanpa masalah.
JD Long