Startx

From ICO wiki
Jump to navigationJump to search

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 [1][3][4][5][6]

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äivitad oma X sessiooni ilma –depth käskluseta nagu all olevas näites:

startx

Kui videokaart ja monitor toetavad suuremat värvisügavust, siis saab kasutada ka 16-bit värvisügavust (16 bitplanes-per-pixel) X sessiooni käivitamiseks, kasutades –depth käsklust.
Kui kasutad –depth käsklust, on võimalikud valikud 16, 25 ja 32 bitti, et kuvada miljoneid värve. Näites kasutame 16-bitist värvipaletti.

startx -- -depth 16

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

Kui soovid kasutada mitut monitori, siis saab alustada „multi-headed“ sessiooni, siis saab selleks kasutada järgmist käsklust:

startx -- -layout Multihead

X sessiooni sundkävitamiseks sisesta:

startx –w

Kui startup skripti fail leitakse, siis –w võtit eiratakse.
Kui tahad käivitada X sessiooni X terminali jaoks ja kasutaja telnet-i sessioonist välja logida, siis sisesta:

startx; kill -9 $$

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

startx -x .xinitrc

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

startx -m mwm


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

-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äivitus skripti ei leita.
-r Resources Laeb resursside faili, kui käivitus skripti 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 virtuaal konsooli N X-sessiooni käivitamiseks.
-depth NN Vali värvisügavus NN, nagu 16, 24 või 32.
-allowMouseOpenFail Alustab sessiooni ilma hiireta.
-showconfig Display an internal report
-version Kasulik versiooni kuvamiseks
-dpi NNN Määrab täpse arvu punkte tolli kohta (dpi ehk dots-per-inch)
-screen name Saab määrata kindla ekraani resolutsiooni
-layout name Saab kasutada määratud paigutuse sektsiooni.


Keskkonna muutjad [1]

DISPLAY
See muutja saab display nime, millele kliendid ühenduvad. See määratakse, mitte ei loeta kuskilt andmetest.
XAUTHORITY
Juhul, kui see muutuja ei ole varasemalt defineeritud määratakse selliseks: $(HOME)/.Xauthority. Kui X serverile pole antud ette –auth argumenti, siis see keelab ebaturvase autentimise.

startx seotud failid [1][2][5]

Selgitamaks välja kliendi, mis tööle panna, tuleks vaadata kõigepealt .xinitrc faili kasutaja kodukaustas. Kui seda pole olemas, kasutatakse xinitrc faili xinit kataloogis. Kui konsoolis on käsklus antud, siis enam xinitrc faili ei tosita ja suundutakse xinit juurde. Startx tuvastab käivitamiseks mineva serveri .xserverrc failist, mis paikneb kasutaja kodukaustas ja kui seda sealt ei leita, siis vaadatakse xinit kausta. Kui serveri valikutele on atribuudit antud, siis eelnevat tegevust ei toimu ja suunatakse otse xinit juurde. Vaata xinit kasutusjuhendit täpsemaks infoks.
Süsteemi sisesed xinitrc ja xserverrc failid on leitavad /etc/X11/xinit kaustast.

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


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

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:

#!/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 viimase „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.

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üsteemiga on vigane ja selle abil saad süsteemi 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 kogu oma eluea jooksul 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/xserver