Przełącz monitory z wiersza poleceń


21

Ponieważ znalazłem inną metodę osiągnięcia mojego celu i ponieważ nie otrzymałem odpowiedzi na moje poprzednie pytanie, zmieniłem pytanie, aby pasowało do odpowiedzi, którą znalazłem.

Czy istnieje sposób, aby wyłączyć monitor mojego laptopa i całkowicie włączyć monitor zewnętrzny (i odwrotnie) całkowicie z wiersza poleceń?


Właśnie szukałem dokładnie tego samego i natknąłem się na to pytanie, które zadałeś zaledwie 7 minut temu. To jest cholernie niesamowite. Mam nadzieję, że dostaniesz odpowiedź.
— JD Long

Wiem, że możesz upuścić podstawowy xorg.confdo katalogu root ( /root/yorg.conf.new), jeśli uruchomisz tryb odzyskiwania i wykonasz X --configure(lub podobnie).
— Bobby

problem (przynajmniej dla mnie) polega na tym, że nie chcę ręcznie pisać pliku xorg.conf. Chcę zrzucić moje bieżące ustawienia do formatu xorg.conf, następnie zmienić ustawienia za pomocą GUI, a następnie zrzucić je do pliku. Następnie mogę napisać skrypt, aby bardzo łatwo przełączać się między tymi dwoma ustawieniami. W tej chwili muszę przejść do GUI i kliknąć kilkadziesiąt razy, aby zmienić ustawienia.
— JD Long

@JD Long: Właśnie to staram się zrobić. Jeśli kiedykolwiek znajdziesz sposób, napisz tutaj. Jedyne dwie rzeczy, których brakuje w moim skrypcie, to pliki xorg.conf i polecenie odświeżenia bieżących ekranów (bez konieczności ponownego uruchamiania gdm).
— Malabarba

Dzisiaj eksperymentowałem z disper ( willem.engen.nl/projects/disper ). Plik pomocy pokazuje opcję -p, którą należy wyeksportować. Tylko ten przełącznik nie jest zaimplementowany. smutny puzon
— JD Long

Odpowiedzi:


28

Za pomocą poleceń

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

Ekran automatycznie przechodzi na wyświetlacz zewnętrzny. Nie potrzebuje nawet mocy sudo. Aby znaleźć nazwę wyświetlaczy, po prostu wykonaj:

xrandr -q

Co powinno dać coś takiego:

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

Wydłużenie wyświetlaczy można prawdopodobnie osiągnąć w podobny sposób.


Otrzymuję komunikat „Nie można otworzyć wyświetlacza” podczas uruchamiania xrandr (z dowolnymi flagami). Co może być przyczyną?
— brandizzi 30.04.2013

4
Jeśli xrandr -qdaje LVDS1& VGA1: tylko zewnętrzna: xrandr --output VGA1 --auto --output LVDS1 --off. Rozszerzony lewy, wewnętrzny podstawowy: xrandr --output VGA1 --auto --left-of LVDS1 --output LVDS1 --auto --primary. Rozszerzony lewy, zewnętrzny podstawowy: xrandr --output VGA1 --auto --left-of LVDS1 --primary --output LVDS1 --auto. Tylko wewnętrzny: xrandr --output VGA1 --off --output LVDS1 --auto.

niezła odpowiedź! Być może warto wyjaśnić początkującym, który zwykle będzie wewnętrzny i zewnętrzny pomiędzy VGA i LVDS?
— Matifou,

4

Z pewnością NIE jest to bezpośrednia odpowiedź na twoje pytanie. Ale uznałem to za pomocne w moim przypadku użycia. To nie jest eksport pliku konfiguracyjnego, ale pokazuje, jak zautomatyzować disper w skrypcie powłoki. Konfiguruję tę opcję, aby była uruchamiana za każdym razem, gdy zadokuję / oddokuję, i wydaje się, że naprawia to problemy z wyświetlaniem podczas dokowania i oddokowywania laptopa:

Musisz mieć zainstalowany disper i 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 wydaje się przydatnym narzędziem. Zajrzę do tego i zobaczę, czy uda mi się dopasować do mojego przypadku. Jedyną różnicą jest to, że chcę wyłączyć monitor laptopa, zamiast go rozszerzać. Na moim słabszym laptopie jest trochę płynniej i automatycznie radzi sobie z panelami.
— Malabarba

Po zastanowieniu moja karta graficzna ATI może nie być obsługiwana, ponieważ twierdzą, że obsługują tylko NVIDIA.
— Malabarba

Ok, strona Dipera zaprowadziła mnie do tej strony: thinkwiki.org/wiki/Sample_Fn-F7_script Okazuje się, że przełączanie monitorów za pomocą polecenia xrandr jest dość łatwe.
— Malabarba

dzięki za opublikowanie linku xrandr. Zbadam to. Mamrotam z tymi samymi rzeczami. FWIW, mój laptop ma kartę Intel i używam dispera bez problemów.
— JD Long
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.