Xrandr: Difference between revisions
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 15: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
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 $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)"