Startx

From EIK wiki

Autor

Madis Sarapuu AK21


Sissejuhtatus ja ülevaade

Startx käsklus ei ole tänapäeval väga tuntud, sest enamus sessioone käivitatakse juba algselt graafilises liideses. Startx on Unix-i laadsete operatsioonide käsklus, mis võimaldab käivitada arvutis X sessiooni. X sessioon ise on graafilise keskkonna alustala ja ilma selleta graafiline keskkond ei töötaks. Ajal, mil arvutite riistvaraline ressurss oli sadu kordi väiksem kui praegu, käis põhitöö ilma graafilise liideseta ja vajadusel kävitati liides startx käsklusega. Praegu kasutavad ka enamus administraatoreid graafilist kasutajaliidest ja ei pea üldjuhul startx käsklust kasutama. Startx ei vaja käivitamiseks administraatori õigusi, kui süsteem on vastavalt üles ehitatud.

Süntaks

startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]
Võtmed ja nende kirjeldused

Tavaline X sessioon kasutab 256 värvi ehk 8-bit suurust värvipaletti, kui käivitada oma X sessioon ilma –depth käskluseta nagu allolevas näites: [3]

startx

Kui videokaart ja monitor toetavad suuremat värvisügavust, saab X sessiooni käivitamiseks kasutada ka 16-bit värvisügavust (16 bitplanes-per-pixel), kasutades –depth käsklust.
Kui kasutada –depth käsklust, on miljonite värvide kuvamiseks võimalikud valikud 16, 25 ja 32 bitti. Näites kasutame 16-bitist värvipaletti. [1]

startx -- -depth 16

"--" märgid lõpetavad kliendi argumendid ja alustavad serveri argumente ning see märgistus on käskluse korrektseks toimimiseks väga oluline. [1]

Kui kasutada mitut monitori, saab alustada „multi-headed“ sessiooni kasutades järgmist käsklust: [2]

startx -- -layout Multihead

X sessiooni sundkävitamiseks tuleb sisestada: [4]

startx –w

Kui startup skripti fail leitakse, siis –w võtit eiratakse.
Kui tahetakse käivitada X sessiooni X terminali jaoks ja kasutaja telnet-i sessioonist välja logida, tuleb sisestada: [4]

startx; kill -9 $$

X sessiooni käivitamiseks .xinitrc skripti abil tuleb sisestada: [5]

startx -x .xinitrc

X sessiooni kävitamiseks kasutades mwm window manager-i tuleb sisestada: [4]

startx -m mwm


Käskluse startx lisavalikuid on palju, kuid enamust nendest läheb haruharva vaja. Mõned näited, mida kasutatakse veidi tihemini: [4][5][6]

-d Display:0 Määrab ära X serveri kuva nime, mis suunatakse X kliendile käivitamise käigus
-m Window_Manager Käivitab Window Manager-i kui käivitusskripti ei leita.
-r Resources Laeb ressursside faili, kui käivitusskripti ei leita.
-t Käivitab X kliendi X terminali jaoks.
-w Kävitab X serveri ja X kliendid tööjaama X windows sessiooni jaoks.
-wait Takistab X sessiooni restarti, kui xdm käsklus käivitab startx-i.
-x Startup Käivitab X window sessiooni kasutades startup skripti.
vt N Kasutab N virtuaalkonsooli X sessiooni käivitamiseks.
-depth NN Valib värvisügavuse NN (16, 24 või 32).
-allowMouseOpenFail Alustab sessiooni ilma hiireta.
-showconfig Kuvab sisemise raporti.
-version Kasulik versiooni kuvamiseks.
-dpi NNN Määrab täpse arvu punkte tolli kohta (dpi ehk dots-per-inch).
-screen name Saab määrata ekraani resolutsiooni.
-layout name Saab määrata sektsiooni paigutuse.


Keskkonna muutjad

DISPLAY
See muutja, millele kliendid ühenduvad, saab display nime. Seda ei loeta kuskilt andmetest, vaid määratakse.
XAUTHORITY
Juhul, kui see muutuja ei ole varasemalt defineeritud, määratakse järgmiselt: $(HOME)/.Xauthority. Kui X serverile pole etteantud –auth argumenti, keelab see ebaturvalise autentimise. [1]

startx seotud failid

Selgitamaks välja tööle pandavat X klienti, tuleks kõigepealt vaadata .xinitrc faili kasutaja kodukakataloogis. Kui seda pole olemas, kasutatakse xinitrc faili xinit kataloogis. Kui konsoolis on käsklus antud, siis enam xinitrc faili ei otsita ja suundutakse xinit juurde. Startx tuvastab käivitamiseks vajamineva serveri .xserverrc failist, mis paikneb kasutaja kodukakataloogis ja kui seda sealt ei leita, siis vaadatakse xinit kausta. Kui serveri valikutele on atribuudid antud, siis eelnevat tegevust ei toimu ja suundutakse otse xinit juurde. Vaata xinit kasutusjuhendit täpsemaks infoks[7].
Süsteemisisesed xinitrc ja xserverrc failid on leitavad /etc/X11/xinit kaustast. [1]

$(HOME)/.xinitrc Klient käivitamiseks. Tavaliselt skript, mis käivitab taustal mitmeid programme. [1][4]
$(HOME)/.xserverrc Server käivitamiseks. Vaikeseade on X. [1]
/etc/X11/xinit/xinitrc Klient käivitamiseks, kui kasutajal ei ole .xinitrc faili. [1]
/etc/X11/xinit/xserverrc Server käivitamiseks, kui kasutajal ei ole .xserverrc faili. [1]
$(HOME)/.xsession Kasutatakse kui käivitusfaili, mis sisaldab käsklusi window manager-i kävitamiseks, X resursside laadimiseks ja X kliendi tekitamiseks. [4]
$(HOME)/.xresources Kasutatakse seda faili, et paika panna X kliendi sätted. [4]


Startx käsklust kasutatakse tavaliselt selleks, et edastada värvisügavuse infot X serverile ja samuti ka kliendi käskluste või valikute leidmiseks, et sessiooni käivitada (tavaliselt asuvad need .xinitrc failis kasutaja kodukaustas). Faili .xinitrc saab modifitseerida, et käivitada erinevaid programme. Allolev näide kävitab mitu programmi ja jätab akende haldusprogrammi viimasena käima. [1]

xrdb -load $HOME/.Xresources
xsetroot -solid gray &
xbiff -geometry -430+5 &
oclock -geometry 75x75-0-0 &
xload -geometry -80-0 &
xterm -geometry +0+60 -ls &
xterm -geometry +0-100 &
xconsole -geometry -0+0 -fn 5x7 &
exec twm


Lihtsa X sessiooni skripti faili näide oleks järgmine: [5]

#!/usr/bin/env bash
 exec gnome-session


Esimene rida on tavaline igale Linux shell skriptile, mis valib shell-i skripti käivitamiseks. Hetkel on valitud bash (Bourne Again Shell).
Teine rida valib programmi, millel X sessioon töötab. Seda kutsutakse ka „maagiliseks protsessiks“, sest kui see lõpetab töö, katkeb ka X sessiooni töö. Selles näites on selleks gnome-sessioon, mis käivitab GNOME töökeskkonna.

Kui .xinitrc on süsteemis olemas, siis startx lõpetab serveri tegevuse ja sulgeb kõik sessioonid. Kõik peale „maagilise protsessi“ käivitatakse taustal ja ainult viimane töötab nähtavana ja kui see sulgeda, sulgub kogu sessioon. Tihti valitakse selleks „maagiliseks protsessiks“ session manager, window manager või xterm. [1][5]

Kokkuvõte

Iga kord ei ole võimalik kasutada graafilist liidest sisse logimiseks ja see tuleks käivitada alles hiljem. Võib juhtuda, et süsteem on vigane ja selle abil saab seda parandada. Administraator võib eelistada käsurealt töötamist ja kastutab startx käsklust vaid äärmisel vajadusel. Keegi ei käsi kasutada graafilist liidest, kui kõik vajaliku saaks käsurealt tehtud. Tavakasutaja ei pruugi kunagi selle käsklusega ega vajalike failidega kokku puutuda, kuid see on siiski asjalik tööriist.

Kasutatud ja kasulik kirjandus

[1]http://linux.die.net/man/1/startx
[2]http://www.brighthub.com/computing/linux/articles/17895.aspx
[3]http://www.informit.com/library/content.aspx?b=red_hat_linux7&seqNum=44
[4]http://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.cmds5/startx.htm
[5]https://wiki.ubuntu.com/CustomXSession
[6]http://www.xfree86.org
[7]http://linux.die.net/man/1/xinit
[8]http://linux.die.net/man/1/xserver