Cambia monitor dalla riga di comando


21

Da quando ho trovato un metodo diverso per raggiungere il mio obiettivo e poiché nessuna risposta è stata inviata alla mia domanda precedente, ho modificato la domanda in modo che corrisponda alla risposta che ho trovato.

C'è un modo per spegnere il monitor del mio laptop e accendere il monitor esterno (e viceversa) interamente dalla riga di comando?


Stavo solo cercando su Google la stessa identica cosa e mi sono imbattuto in questa domanda che hai posto solo 7 minuti fa. È fantastico. Spero che tu abbia una risposta.
JD Long,

So che puoi rilasciare un basic xorg.confnella /root/yorg.conf.newdirectory root ( ), se esegui l'avvio in modalità di ripristino ed esegui X --configure(o simile).
Bobby,

il problema (almeno per me) è che non voglio scrivere a mano un xorg.conf. Voglio scaricare le mie impostazioni correnti nel formato xorg.conf, quindi modificare le impostazioni con la GUI e quindi scaricarle in un file. Quindi posso scrivere uno script per cambiare davvero facilmente tra le due impostazioni. In questo momento devo andare nella GUI e fare clic su mezza dozzina di volte per modificare le mie impostazioni.
JD Long,

@JD Long: è esattamente quello che sto cercando di fare. Assicurati di scrivere qui se trovi mai un modo. Le uniche due cose mancanti per il mio script sono i file xorg.conf e un comando per aggiornare i display correnti (senza dover riavviare gdm).
Malabarba,

Ho sperimentato la disper oggi ( willem.engen.nl/projects/disper ). Il file della guida mostra un'opzione -p che dovrebbe esportare. Solo questo interruttore non è implementato. trombone triste
JD Long,

Risposte:


28

Con i comandi

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

Lo schermo si trasferisce automaticamente sul display esterno. Non ha nemmeno bisogno di poteri sudo. Per scoprire il nome dei display basta:

xrandr -q

Che dovrebbe dare qualcosa del tipo:

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

L'estensione dei display può probabilmente essere ottenuta in modo simile.


Viene visualizzato il messaggio "Impossibile aprire il display" quando si esegue xrandr (con qualsiasi flag). Quale può essere il motivo?
brandizzi

4
Se xrandr -qLVDS1& VGA1: solo esterno: xrandr --output VGA1 --auto --output LVDS1 --off. Estesa primaria sinistra, interno: xrandr --output VGA1 --auto --left-of LVDS1 --output LVDS1 --auto --primary. Estesa primaria sinistra, esterna: xrandr --output VGA1 --auto --left-of LVDS1 --primary --output LVDS1 --auto. Solo interna: xrandr --output VGA1 --off --output LVDS1 --auto.

bella risposta! Forse vale la pena spiegare ai principianti quale di solito sarà l'interno e l'esterno tra VGA e LVDS?
Matifou,

4

Questa sicuramente NON è una risposta diretta alla tua domanda. Ma l'ho trovato utile nel mio caso d'uso. Non si tratta di un'esportazione del file di configurazione, ma mostra come automatizzare la dispersione in uno script di shell. Lo sto configurando per essere eseguito ogni volta che eseguo l'attracco / disinserimento e sembra che stia risolvendo i miei problemi di visualizzazione durante l'aggancio e lo sgancio del mio laptop:

Devi avere disper e Python installati.

#!/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 sembra uno strumento utile. Lo esaminerò e vedrò se posso adattarlo al mio caso. L'unica differenza è che voglio disabilitare il monitor del laptop, invece di estenderlo. È un po 'più fluido sul mio laptop di fascia bassa e si occupa automaticamente dei pannelli.
Malabarba,

A pensarci bene, la mia scheda video ati potrebbe non essere supportata, in quanto sostengono solo di supportare NVIDIA.
Malabarba,

Ok, la pagina diper mi ha portato a questa pagina: thinkwiki.org/wiki/Sample_Fn-F7_script Si scopre che è abbastanza facile cambiare monitor con il comando xrandr.
Malabarba,

grazie per aver pubblicato il link xrandr. Lo indagherò. Sto scherzando con le stesse cose. FWIW, il mio laptop ha una scheda Intel e sto usando disper senza problemi.
JD Long,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.