Startx
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. Praegusel ajal kasutavad ka enamus administraatoreid graafilist kasutajaliidest ja ei pea üldjuhul startx käsklust üldse kasutama. Startx ei vaja käivitamiseks administraatori õigusi süsteemis, kus kõiki kasutajaid usaldatakse võrdselt.
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ä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
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. |
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 kirjandus ja viited
[1]http://linux.die.net/man/1/startx
[2]http://www.brighthub.com/computing/linux/articles/17895.aspx
[3]http://askubuntu.com/questions/518454/what-does-startx-command-do
[4]http://www.informit.com/library/content.aspx?b=red_hat_linux7&seqNum=44
[5]http://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.cmds5/startx.htm
[6]https://wiki.ubuntu.com/CustomXSession
[7]http://www.xfree86.org