Xrandr: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Created page with "Nimi: Rene Rünt Rühm: A21")
 
No edit summary
Line 1: Line 1:
Nimi: Rene Rünt
Nimi: Rene Rünt
Rühm: A21
Rühm: A21
''xrandr'' on ametlik konfiguratsioonitööriist '''RandR X Window System''''i jaoks. Selle abil saab määrata ekraanil kuvatava pildi suurust, orientatsiooni või peegeldust.
== Paigaldus ==
Paigalda ''xorg-xrandr'' pakett ametlikust repositooriumist [https://wiki.archlinux.org/index.php/Official_Repositories Official repositories]. http://en.wikipedia.org/wiki/Software_repository
=== Graafiline kasutajaliides ===
''xrandr'' tööriista jaoks on olemas kaks graafilist kasutajaliidest:
*{{App|ARandR|Lihtne ja mugav kasutajaliides|http://christian.amsuess.com/tools/arandr/|{{Pkg|arandr}}}}
*{{App|LXrandR|Vaikimisi kasutatav kasutajaliides [[LXDE]] töökeskkonnas.|http://lxde.org/|{{Pkg|lxrandr}}}}
== Sätete testimine ==
Ilma lisakäskudeta näitab ''xrandr'' süsteemis olevaid väljundseadmeid ({{ic|LVDS}}, {{ic|VGA-0}}, jne.) ning nende võimaldatavaid resolutsioone:
{{hc|xrandr|
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected (normal left inverted right x axis y axis)
  1440x900      59.9*+
  1280x854      59.9 
  1280x800      59.8 
...
}}
„Xrandr“ võimaldab olemasolevate seadmete resolutsiooni muuta:
$ xrandr --output LVDS --mode 1280x800
Kui värskenduskiiruseid on antud monitoril mitu, saab neid muuta {{ic|--rate}} käsuga (korraga või ükshaaval):
$ xrandr --output LVDS --mode 1280x800 --rate 75
{{ic|--auto}} käsk lülitab väljundi sisse kui too on väljas ja määrab sellele ka soovitava (maksimaalse) resolutsiooni:
$ xrandr --output LVDS --auto
Ühte käsuritta saab koondada ka mitu käsku, näiteks lülita välja {{ic|LVDS}} ja lülita sisse {{ic|HDMI-0}} vaikimisi resolutsiooniga:
$ xrandr --output LVDS --off --output HDMI-0 --auto
{{Märkus|
* ''xrandr''’iga tehtavad muudatused kehtivad ainult aktiivse sessiooni ajal.
* ''xrandr''’i teiste võimalustega saab tutvuda {{ic|man xrandr}} käsu abil.
}}
== Seadistamine ==
''xrandr'' on RandR lisamooduli objekt ja ei oma iseseisvat konfiguratsioonifaili. Püsiva konfiguratsiooni saab salvestada näiteks::
# Staatilise konfiguratsiooni lisamiseks vaata [[Multihead#RandR]]
# Dünaamilise konfiguratsiooni saavutamiseks, tuleks ''xrandr'' käsk välja kutsuda iga kord kui X server käivitub. See meetod käivitub aga arvuti alglaadimise ajal üsna hilja ning ei muuda [[Display Manager]]’is määratud resolutsiooni.
# ''xrandr'' käsku väljakutsuvad skriptid saab siduda teatud sündmuste külge(näiteks välise monitori külge ühendamisel). [[#Skriptid]]’e peatükis on toodud selleks mõned näited.
=== Skriptid ===
==== Näide 1 ====
Skript võimaldab lülitust välimise monitori {{ic|$EXT}} ja vaikimisi monitori vahel {{ic|$IN}}, nii et korraga on aktiivne ainult üks monitor.
Vaikimisi monitor {{ic|$IN}} peab skripti käivitamise ajal olema ühendatud.
{{bc|<nowiki>
#!/bin/bash
IN="LVDS1"
EXT="VGA1"
if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $EXT --off --output $IN --auto
else
    xrandr --output $IN --off --output $EXT --auto
fi
</nowiki>}}
==== Näide 2 ====
Skript haldab ainult välimist monitori {{ic|$EXT}}, vaikimisi monitor {{ic|$IN}} on alati aktiivne.
Vaikimisi monitor {{ic|$IN}} peab skripti käivitamise ajal olema ühendatud.
{{bc|<nowiki>
#!/bin/bash
IN="LVDS1"
EXT="VGA1"
if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $IN --auto --output $EXT --off
else
    xrandr --output $IN --auto --primary --output $EXT --auto --right-of $IN
fi
</nowiki>}}
==== Näide 3 ====
Skript käib läbi kõik monitorid, selekteerib hetkel aktiivse, lülitab järjekorras järgmise tööle ning kõik teised välja:
{{bc|<nowiki>
# get info from xrandr
connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/")
activeOutput=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/")
connected=$(echo $connectedOutputs | wc -w)
# initialize variables
execute="xrandr "
default="xrandr "
i=1
switch=0
for display in $connectedOutputs
do
# build default configuration
if [ $i -eq 1 ]
then
default=$default"--output $display --auto "
else
default=$default"--output $display --off "
fi
# build "switching" configuration
if [ $switch -eq 1 ]
then
execute=$execute"--output $display --auto "
switch=0
else
execute=$execute"--output $display --off "
fi
# check whether the next output should be switched on
if [ $display = $activeOutput ]
then
switch=1
fi
i=$(( $i + 1 ))
done
# check if the default setup needs to be executed then run it
echo "Resulting Configuration:"
if [ -z "$(echo $execute | grep "auto")" ]
then
echo "Command: $default"
`$default`
else
echo "Command: $execute"
`$execute`
fi
echo -e "\n$(xrandr)"
</nowiki>}}
== Loe veel ==
* https://wiki.ubuntu.com/X/Config/Resolution
* [http://wiki.debian.org/XStrikeForce/HowToRandR12 RandR 1.2 tutorial]
* [http://www.thinkwiki.org/wiki/Xorg_RandR_1.2 Xorg RandR 1.2 on ThinkWiki]
* [http://www.x.org/wiki/FAQVideoModes#ObtainingmodelinesfromWindowsprogramPowerStrip FAQVideoModes - more information about modelines]

Revision as of 16:22, 2 December 2013

Nimi: Rene Rünt Rühm: A21

xrandr on ametlik konfiguratsioonitööriist RandR X Window System'i jaoks. Selle abil saab määrata ekraanil kuvatava pildi suurust, orientatsiooni või peegeldust.

Paigaldus

Paigalda xorg-xrandr pakett ametlikust repositooriumist Official repositories. http://en.wikipedia.org/wiki/Software_repository

Graafiline kasutajaliides

xrandr tööriista jaoks on olemas kaks graafilist kasutajaliidest:

Sätete testimine

Ilma lisakäskudeta näitab xrandr süsteemis olevaid väljundseadmeid (LVDS, VGA-0, jne.) ning nende võimaldatavaid resolutsioone:

xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected (normal left inverted right x axis y axis)
   1440x900       59.9*+
   1280x854       59.9  
   1280x800       59.8  
...

„Xrandr“ võimaldab olemasolevate seadmete resolutsiooni muuta:

$ xrandr --output LVDS --mode 1280x800

Kui värskenduskiiruseid on antud monitoril mitu, saab neid muuta --rate käsuga (korraga või ükshaaval):

$ xrandr --output LVDS --mode 1280x800 --rate 75

--auto käsk lülitab väljundi sisse kui too on väljas ja määrab sellele ka soovitava (maksimaalse) resolutsiooni:

$ xrandr --output LVDS --auto

Ühte käsuritta saab koondada ka mitu käsku, näiteks lülita välja LVDS ja lülita sisse HDMI-0 vaikimisi resolutsiooniga:

$ xrandr --output LVDS --off --output HDMI-0 --auto

Template:Märkus

Seadistamine

xrandr on RandR lisamooduli objekt ja ei oma iseseisvat konfiguratsioonifaili. Püsiva konfiguratsiooni saab salvestada näiteks::

  1. Staatilise konfiguratsiooni lisamiseks vaata Multihead#RandR
  2. Dünaamilise konfiguratsiooni saavutamiseks, tuleks xrandr käsk välja kutsuda iga kord kui X server käivitub. See meetod käivitub aga arvuti alglaadimise ajal üsna hilja ning ei muuda Display Manager’is määratud resolutsiooni.
  3. xrandr käsku väljakutsuvad skriptid saab siduda teatud sündmuste külge(näiteks välise monitori külge ühendamisel). #Skriptid’e peatükis on toodud selleks mõned näited.

Skriptid

Näide 1

Skript võimaldab lülitust välimise monitori $EXT ja vaikimisi monitori vahel $IN, nii et korraga on aktiivne ainult üks monitor. Vaikimisi monitor $IN peab skripti käivitamise ajal olema ühendatud.

#!/bin/bash

IN="LVDS1"
EXT="VGA1"

if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $EXT --off --output $IN --auto
else
    xrandr --output $IN --off --output $EXT --auto
fi

Näide 2

Skript haldab ainult välimist monitori $EXT, vaikimisi monitor $IN on alati aktiivne.

Vaikimisi monitor $IN peab skripti käivitamise ajal olema ühendatud.

#!/bin/bash

IN="LVDS1"
EXT="VGA1"

if (xrandr | grep "$EXT disconnected"); then
    xrandr --output $IN --auto --output $EXT --off 
else
    xrandr --output $IN --auto --primary --output $EXT --auto --right-of $IN
fi

Näide 3

Skript käib läbi kõik monitorid, selekteerib hetkel aktiivse, lülitab järjekorras järgmise tööle ning kõik teised välja:

# get info from xrandr
connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/")
activeOutput=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") 
connected=$(echo $connectedOutputs | wc -w)

# initialize variables
execute="xrandr "
default="xrandr "
i=1
switch=0

for display in $connectedOutputs
do
	# build default configuration
	if [ $i -eq 1 ]
	then
		default=$default"--output $display --auto "
	else
		default=$default"--output $display --off "
	fi

	# build "switching" configuration
	if [ $switch -eq 1 ]
	then
		execute=$execute"--output $display --auto "
		switch=0
	else
		execute=$execute"--output $display --off "
	fi

	# check whether the next output should be switched on
	if [ $display = $activeOutput ]
	then
		switch=1
	fi

	i=$(( $i + 1 ))
done

# check if the default setup needs to be executed then run it
echo "Resulting Configuration:"
if [ -z "$(echo $execute | grep "auto")" ]
then
	echo "Command: $default"
	`$default`
else
	echo "Command: $execute"
	`$execute`
fi
echo -e "\n$(xrandr)"

Loe veel