Xrandr: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rrunt (talk | contribs)
No edit summary
Rrunt (talk | contribs)
 
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:


== Ülevaade ==
== Ülevaade ==
[http://www.x.org/wiki/Projects/XRandR/ ''xrandr''] on ametlik konfiguratsioonitööriist [http://en.wikipedia.org/wiki/RandR '''RandR X Window System''']'i jaoks ning on senini kõige lihtsam ning võimsam tööriist mitme monitori süsteemi haldamiseks. Selle abil saab määrata millised väljundpordid on aktiivsed (nt LCD, VGA, DVI) ning ka ekraanil kuvatava pildi suurust, orientatsiooni, resolutsiooni või peegeldust. X serveri ümberseadistamine ei vaja arvuti taaskäivitamist ning muudatused viiakse väljundseadmetesse dünaamiliselt.
[http://www.x.org/wiki/Projects/XRandR/ ''xrandr''] on ametlik Linuxi operatsioonisüsteemi käsurea konfiguratsioonitööriist [http://en.wikipedia.org/wiki/RandR '''RandR X Window System''']'i jaoks ning on senini kõige lihtsam ning võimsam tööriist mitme monitori süsteemi haldamiseks. Selle abil saab määrata millised väljundpordid on aktiivsed (nt LCD, VGA, DVI) ning ka ekraanil kuvatava pildi suurust, orientatsiooni, resolutsiooni või peegeldust. X serveri ümberseadistamine ei vaja arvuti taaskäivitamist ning muudatused viiakse väljundseadmetesse dünaamiliselt. <ref>http://x.debian.net/howto/use-xrandr.html</ref>


== Paigaldus ==
== Paigaldus ==
Line 11: Line 11:
Paigalda ''xorg-xrandr'' pakett [https://wiki.archlinux.org/index.php/Official_Repositories ametlikust repositooriumist].  
Paigalda ''xorg-xrandr'' pakett [https://wiki.archlinux.org/index.php/Official_Repositories ametlikust repositooriumist].  


=== Graafilised kasutajaliidesed ===
=== Graafilised kasutajaliidesed ===  
<ref>https://wiki.archlinux.org/index.php/Xrandr</ref>
<ref>http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#GUIs</ref>


''xrandr'' tööriista jaoks on olemas mitu erinevat graafilist kasutajaliidest:
''xrandr'' tööriista jaoks on olemas mitu erinevat graafilist kasutajaliidest:
Line 33: Line 35:
http://sourceforge.net/projects/zarfy/
http://sourceforge.net/projects/zarfy/


== Sätete testimine ==
 
== Sätete testimine ==  
<ref>http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#First_discover_what_we_have</ref>


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


  $ xrandr
  xrandr
  Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
  Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
  VGA1 disconnected (normal left inverted right x axis y axis)
  VGA1 disconnected (normal left inverted right x axis y axis)
Line 52: Line 56:
''Xrandr'' võimaldab olemasolevate seadmete resolutsiooni muuta:
''Xrandr'' võimaldab olemasolevate seadmete resolutsiooni muuta:


  $ xrandr --output LVDS1 --mode 1024x768
  xrandr --output LVDS1 --mode 1024x768


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


  $ xrandr --output LVDS1 --mode 1024x768 --rate 75
  xrandr --output LVDS1 --mode 1024x768 --rate 75


Uue monitori lisamisel ei ole enam vaja X serverit taaskäivitada, vaid käsk ''--auto'' lülitab väljundi sisse ja määrab sellele ka vaikimisi soovitatava resolutsiooni:
Uue monitori lisamisel ei ole enam vaja X serverit taaskäivitada, vaid käsk ''--auto'' lülitab väljundi sisse ja määrab sellele ka vaikimisi soovitatava resolutsiooni:


  $ xrandr --output LVDS --auto
  xrandr --output LVDS --auto


Väljundi väljalülitamiseks saab kasutada käsku:
Väljundi väljalülitamiseks saab kasutada käsku:
  $ xrandr --output LVDS1 --off
 
  xrandr --output LVDS1 --off


Ühte käsuritta saab koondada ka mitu käsku, näiteks lülita välja ''LVDS'' ja lülita sisse ''HDMI-0'' vaikimisi resolutsiooniga:
Ü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
  xrandr --output LVDS --off --output HDMI-0 --auto


'''Märkus'''
'''Märkus'''
* ei vaja juurkasutaja õigusi
* ''xrandr''’iga tehtavad muudatused kehtivad ainult aktiivse sessiooni ajal.
* ''xrandr''’iga tehtavad muudatused kehtivad ainult aktiivse sessiooni ajal.
* ''xrandr''’i teiste võimalustega saab tutvuda ''man xrandr'' käsu abil.
* ''xrandr''’i teiste võimalustega saab tutvuda ''man xrandr'' käsu abil.
Line 75: Line 81:


== Seadistamine ==
== Seadistamine ==
 
<ref>https://wiki.ubuntu.com/X/Config/Resolution#statically_setup_in_xorg.conf</ref>
''xrandr'' on RandR lisamooduli objekt ja ei oma iseseisvat konfiguratsioonifaili. Püsiva konfiguratsiooni saab salvestada näiteks::
''xrandr'' on RandR lisamooduli objekt ja ei oma iseseisvat konfiguratsioonifaili. Püsiva konfiguratsiooni saab salvestada näiteks::


Line 84: Line 90:
=== Skriptid ===
=== Skriptid ===


==== Näide 1 ====
==== [https://wiki.archlinux.org/index.php/Xrandr#Example_1 Näide 1] ====
 
<ref>https://wiki.archlinux.org/index.php/Xrandr#Example_1</ref>
Skript võimaldab lülitust välimise monitori ''$EXT'' ja vaikimisi monitori vahel ''$IN'', nii et korraga on aktiivne ainult üks monitor.
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.
Vaikimisi monitor ''$IN'' peab skripti käivitamise ajal olema ühendatud.
Line 100: Line 106:
  fi
  fi


==== Näide 2 ====
==== [https://wiki.archlinux.org/index.php/Xrandr#Example_2 Näide 2] ====
 
<ref>https://wiki.archlinux.org/index.php/Xrandr#Example_2</ref>
Skript haldab ainult välimist monitori ''$EXT'', vaikimisi monitor ''$IN'' on alati aktiivne.
Skript haldab ainult välimist monitori ''$EXT'', vaikimisi monitor ''$IN'' on alati aktiivne.


Line 117: Line 123:
  fi
  fi


==== Näide 3 ====
==== [https://wiki.archlinux.org/index.php/Xrandr#Example_3 Näide 3] ====
 
<ref>https://wiki.archlinux.org/index.php/Xrandr#Example_3</ref>
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:
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:


Line 172: Line 178:
  echo -e "\n$(xrandr)"
  echo -e "\n$(xrandr)"


== Kokkuvõte ==
Mitme monitoride süsteemi haldamine on Linuxis olnud senimaani üsna piinarikas, kuid xrandr süsteemiga on loodetavasti see probleem lahendatud. Jah, Windowsi kasutajad võivad küll taaskordsest (vaikimisi pakutavast) käsurea utiliidist mitte eriti vaimustatud olla, kuid enamus Linuxi kasutajatest saavad sellega üsna lihtsasti hakkama. Antud wiki artikkel puudutas xrandr võimalusi vaid väga pealiskaudselt, tegelikkuses on tegu väga võimsa tööriistaga, mis võimaldab oma töökeskkonda väga täpselt ning oma vajadustele vastavalt seadistada. Julgeksin väita, et isegi rohkem/paremini kui Windowsi keskkkonnas.


== Loe veel ==
== Loe veel ==
Line 180: Line 190:


== Kasutatud allikad ==
== Kasutatud allikad ==
* https://wiki.archlinux.org/index.php/Xrandr
<references />
* http://en.wikipedia.org/wiki/RandR
* http://www.x.org/wiki/Projects/XRandR/
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2
* http://x.debian.net/howto/use-xrandr.html


[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 12:56, 17 March 2014

Autor

Nimi: Rene Rünt Rühm: A21 2013

Ülevaade

xrandr on ametlik Linuxi operatsioonisüsteemi käsurea konfiguratsioonitööriist RandR X Window System'i jaoks ning on senini kõige lihtsam ning võimsam tööriist mitme monitori süsteemi haldamiseks. Selle abil saab määrata millised väljundpordid on aktiivsed (nt LCD, VGA, DVI) ning ka ekraanil kuvatava pildi suurust, orientatsiooni, resolutsiooni või peegeldust. X serveri ümberseadistamine ei vaja arvuti taaskäivitamist ning muudatused viiakse väljundseadmetesse dünaamiliselt. [1]

Paigaldus

Paigalda xorg-xrandr pakett ametlikust repositooriumist.

Graafilised kasutajaliidesed

[2] [3]

xrandr tööriista jaoks on olemas mitu erinevat graafilist kasutajaliidest:

  • ARandR - Lihtsa ja mugava kasutajaliidesega.

http://christian.amsuess.com/tools/arandr/

  • LXrandR - Vaikimisi kasutatav kasutajaliides LXDE töökeskkonnas.

http://lxde.org/

  • Kephal - Vaikimisi kasutatav kasutajaliides KDE töökeskkonnas

http://kde.org/

  • Grandr - Sõbralik kasutajaliides ning palju võimalusi.

http://dekorte.homeip.net/download/grandr-applet/

  • Urandr - Võimalikult lihtsa ülesehitusega, vähekogenud kasutajate jaoks.

http://www.albertomilone.com/urandr.html

  • zarfy - Kuvab aktiivsed väljundseadmed visuaalselt ning võimaldab kuvada ekraanimälu interaktiivse kaardina.

http://sourceforge.net/projects/zarfy/


Sätete testimine

[4]

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 1280 x 800, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 inverted X and Y axis (normal left inverted right x axis y axis) 261mm x 163mm
   1280x800       59.8*+
   1024x768       60.0
   800x600        60.3     56.2
   640x480        59.9
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)

Tulemist näeme nelja väljundseadet VGA1, LVDS1, DVI1, TV1. Ühendatud on vaid sisemine paneel (LVDS1), mis toetab nelja erinevat lahutusvõimet 60 Hz ja ühte lahutusvõimet 56 Hz. Tärniga (*) tähistatud resolutsioon on hetkel aktiivne. Plussiga (+) tähistatud resolutsioon on soovitatav ning vaikimisi aktiviseeritav.

Xrandr võimaldab olemasolevate seadmete resolutsiooni muuta:

xrandr --output LVDS1 --mode 1024x768

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

xrandr --output LVDS1 --mode 1024x768 --rate 75

Uue monitori lisamisel ei ole enam vaja X serverit taaskäivitada, vaid käsk --auto lülitab väljundi sisse ja määrab sellele ka vaikimisi soovitatava resolutsiooni:

xrandr --output LVDS --auto

Väljundi väljalülitamiseks saab kasutada käsku:

xrandr --output LVDS1 --off

Ü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

Märkus

  • ei vaja juurkasutaja õigusi
  • xrandr’iga tehtavad muudatused kehtivad ainult aktiivse sessiooni ajal.
  • xrandr’i teiste võimalustega saab tutvuda man xrandr käsu abil.
  • Kuigi xrandr kasutab monitori EDID informatsiooni ning vigane riistvara võib edastada vale info ning osad vanemad Nvidia ja AMD graafikakaardid ei toeta xrandr’i, on katse-ekitus meetodil siiski võimalik luua toimiv seadistus

Seadistamine

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

  1. Staatilise konfiguratsiooni lisamiseks xorg.conf faili vaata Statically setup in xorg.conf
  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. Juhend seadistamiseks Dynamic setup with xrandr
  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

[6] 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

[7] 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

[8] 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)"


Kokkuvõte

Mitme monitoride süsteemi haldamine on Linuxis olnud senimaani üsna piinarikas, kuid xrandr süsteemiga on loodetavasti see probleem lahendatud. Jah, Windowsi kasutajad võivad küll taaskordsest (vaikimisi pakutavast) käsurea utiliidist mitte eriti vaimustatud olla, kuid enamus Linuxi kasutajatest saavad sellega üsna lihtsasti hakkama. Antud wiki artikkel puudutas xrandr võimalusi vaid väga pealiskaudselt, tegelikkuses on tegu väga võimsa tööriistaga, mis võimaldab oma töökeskkonda väga täpselt ning oma vajadustele vastavalt seadistada. Julgeksin väita, et isegi rohkem/paremini kui Windowsi keskkkonnas.

Loe veel

Kasutatud allikad