Waldo Bastian bastian@kde.org &Philip.Rodrigues; &Philip.Rodrigues.mail; &kde; administraatoritele &kde; seestpoolt Ülevaade veel kirjutamata Kataloogistruktuur &kde; määratleb failisüsteemi hierarhia, mida kasutab nii &kde; keskkond kui ka kõik &kde; rakendused. Üldiselt salvestab &kde; kõik failid kindla struktuuriga kataloogipuusse. Vaikimisi kasutab &kde; kaht kataloogipuud: Süsteemsel tasandil (näiteks /opt/kde3) Kasutaja tasandil kasutaja kodukataloogis (tavaliselt ~/.kde) Süsteemiadministraator võib muidugi luua täiendavaid kataloogipuid. Neid saab näiteks kasutada profiilideks. &SuSE; &Linux; näiteks kasutab: $HOME/.kde /opt/kde3 (see on &SuSE;-le omane, teistes distributsioonides võib see olla /usr või /usr/kde3) /etc/opt/kde3 (see on &SuSE; lisatud) Kui oled paigaldanud tööriista KIOSK Admin versiooni 0.7 või uuema, saad kasutatavaid kataloogipuid kontrollida käsuga kiosktool-kdedirs . &kde; ja &kde; rakendused otsivad faile &kde; kataloogipuid läbi uurides. Seda tehakse kindlas eelistusjärjekorras. Kui fail esineb mitmes kataloogipuus, eelistatakse viimases puus esinevat faili. Tavaliselt eelistatakse kasutaja kodukataloogis asuvat puud. Sellesse kataloogipuusse kirjutatakse ka muudatused. Info leidmiseks &MIME; tüübi text/plain kohta uuritakse järgmisi faile: $HOME/.kde/share/mimelnk/text/plain.desktop /opt/kde3/share/mimelnk/text/plain.desktop /etc/opt/kde3/share/mimelnk/text/plain.desktop Kui kasutaja midagi muudab, kirjutatakse see faili $HOME/.kde/share/mimelnk/text/plain.desktop Seadistusfailidega on asjad veidi teisiti. Kui kataloogipuudes leitakse mitu sama nimega konfiguratsioonifaili, kombineeritakse nende sisu. Ka siin on oluline kataloogipuude eelistusjärjekord. Kui kaks faili määratlevad ühe ja sama seadistusvõtme erinevalt, siis kasutatakse suurema eelistusega failis leiduvat väärtust. Oletame, et on kaks faili järgmise sisuga: $HOME/.kde/share/config/foobar Color=red Shape=circle /etc/opt/kde3/share/config/foobar Color=blue Position=10,10 Failide sisu ühendatakse, nii et tulemus on selline: Color=red Shape=circle Position=10,10 Kataloogi määratlemine Keskkonnamuutuja Näidisseadistused Kommentaar KDEHOME ~/.kde KDEROOTHOME /root/.kde Spetsiaalne muutuja, et administraator ei kirjutaks kasutaja $KDEHOME'i pärast käsu su kasutamist. KDEDIR /opt/kde3, /usr, /usr/kde3 Sõltub tootjast. Kasutab &kde; 2. Kui pole määratud, kasutatakse kompileeritud vaikeväärtuseid. KDEDIRS /opt/kde3, /usr, /usr/kde3 Uus &kde; 3-s. Võib olla mitu asukohta kooloniga eraldatult. Kui pole määratud, kasutatakse $KDEDIR. Neid ei pea määrama, väga hästi sobivad ka vaikeväärtused. &kde; 2 ja &kde; 3 korraga? Kasuta $KDEDIR &kde; 2 ja $KDEDIRS &kde; 3 jaoks. Näiteks ülikoolitöötajal võivad olla sellised seadistused: KDEHOME='~/.kde3' KDEROOTHOME='/root/.kde3' KDEDIRS='/opt/kde_staff:/opt/kde3' Kasutaja profiilid Eeltoodud näites sisaldas /opt/kde_staff töötajatele mõeldud täiendavad seadistusi ja rakendusi. Kasutaja profiilid võimaldavad seda kataloogi kasutada ainult kindlatel isikutel, mitte aga teistel. Lisa järgmine kirje faili /etc/kderc: [Directories-staff] prefixes=/opt/kde_staff Sellega luuakse profiil staff, mis lisab kataloogipuu /opt/kde_staff. (Pane tähele, et &SuSE; &Linux; kasutab /etc/kde3rc, mitte aga /etc/kderc.) Nüüd, kus meil on nimega profiil, saame seda omistada konkreetsetele kasutajatele. Profiilide seostamiseks kasutajatega tuleb failis /etc/kderc määrata seosefail: [Directories] userProfileMapFile=/etc/kde-user-profile Nüüd saab profiili omistada kas kasutajanime või &UNIX; grupi järgi, millesse antud kasutaja kuulub. Profiili "staff" omistamiseks kõigile kasutajale, kes kuuluvad &UNIX; gruppi staff_members, lisa järgmised read faili /etc/kde-user-profile: [General] groups=staff_members [Groups] staff_members=staff Profiili võib omistada ka konkreetsele kasutajale: [Users] bastian=staff Kataloogistruktuuri kokkuvõte Igal &kde; kasutataval kataloogipuul on kindel kataloogistruktuur. Teatud puule ebavajalikud või lihtsalt mittekasutatavad kataloogid võib siiski välja jätta. Näiteks ajutiste failide jaoks mõeldud kataloogid leiab tavaliselt ainult kataloogipuus $KDEHOME, mitte aga teistes. Arhitektuurispetsiifilised kataloogid Arhitektuurist (OS-i ja protsessori tüübist) sõltuvad kataloogid: bin &kde; käivitatavate failide jaoks. lib &kde; teekide jaoks. lib/kde3 See kataloog sisaldab komponente, pluginaid ja muid käitusajal laaditavaid objekte, mida kasutavad &kde; 3.x rakendused. Jagatud kataloogid Jagatud kataloogid: ei sõltu arhitektuurist, neid võib kasutada erineva arhitektuuriga. share/applnk &kde; menüü .desktop-failid (vana) share/applications &kde; menüü .desktop-failid (alates &kde; 3.2) share/apps Sisaldab rakendusespetsiifilisi andmefaile. Igal rakendusel on siin oma alamkataloog, kuhu on salvestatud täiendavad andmefailid. share/config Seadistustefailid. Tavaliselt on nende nimeks rakenduse nimi, millele on lisatud tähed rc. Erijuhtum on kdeglobals: seda faili kasutavad kõik &kde; rakendused. share/config/session Seda kataloogi kasutatakse seansihalduseks ja see esineb tavaliselt ainult kataloogipuus $KDEHOME. Seansi lõppedes salvestavad &kde; rakendused siia oma oleku. Failinimed koosnevad rakenduse nimest, millele on lisatud arv. Seansihaldur ksmserver salvestab nende arvude viited seanssi faili ksmserverrc salvestades. share/doc/HTML Selles kataloogis leidub &kde; rakenduste dokumentatsioon. See on korraldatud keelte ja rakenduste järgi. Tavaliselt on selles kataloogis vähemalt kaks faili: index.docbook sisaldab dokumentatsiooni vormindamata DocBook-vormingus ning index.cache.bz2 sisaldab sama dokumentatsiooni bzip2-tihendusega &HTML;-vormingus. &HTML;-versiooni kasutab &abikeskus;. Kui &HTML;-versioon puudub, regenereerib &abikeskus; selle DocBook-versioonist, kuid see nõuab üsna palju aega. share/icons Sellesse kataloogi on salvestatud ikoonid. Need on korraldatud teemade, mõõtmete ja kasutusala järgi. share/mimelnk Selles kataloogis on .desktop-failid, mis kirjeldavad &MIME; tüüpe. &kde; kasutab &MIME; tüüpe failitüübi tuvastamiseks. share/services Selles kataloogis on .desktop-failid, mis kirjeldavad teenuseid. Teenused on nagu rakendused, kuid tavaliselt käivitavad neid teised rakendused, mitte kasutaja ise. Teenuseid ei ole näha &kde; menüüs. share/servicetypes Selles kataloogis on .desktop-failid, mis kirjeldavad teenusetüüpe. Teenusetüüp tähistab tavaliselt teatud programmiliidest. Rakendused ja teenused määravad oma >.desktop-failides ära teenusetüübid, mida nad pakuvad. share/sounds Selles kataloogis on helifailid. share/templates Selles kataloogis on erinevat tüüpi failide loomiseks mõeldud mallid. Mall koosneb .desktop-failist, mis kirjeldab faili ja sisaldab viidet failile alamkataloogis .source. Selle kataloogi malle näeb alammenüüs Loo uus töölaual ning failisirvijas. Kui kasutaja valib menüüst malli, kopeeritakse selle lähtefail. share/wallpapers Selles kataloogis on pildid, mida saab kasutada taustapildina. Masinaspetsiifilised kataloogid On kolm masinapõhist kataloogi, mis tavaliselt kujutavad endast viita mõnele muule asukohale. Kui neid ei ole veel olemas, luuakse järgmised viidad ja kataloogid utiliidiga lnusertemp: $KDEHOME/socket-$MASINANIMI Tavaliselt /tmp/ksocket-$KASUTAJA/. Seda kasutatakse erinevate &UNIX; soklite jaoks. $KDEHOME/tmp-$MASINANIMI Tavaliselt /tmp/kde-$KASUTAJA/. Seda kasutatakse ajutiste failide jaoks. $KDEHOME/cache-$MASINANIMI Tavaliselt /var/tmp/kdecache-$KASUTAJA/. Seda kasutatakse puhverdatud failide jaoks. Et kataloogides /tmp ja /var/tmp on kõigil kirjutamisõigus, on võimalik, et mõni mainitud kataloogidest on juba olemas, aga selle omanik on mõni teine kasutaja. Sel juhul loob utiliit lnusertemp uue kataloogi alternatiivse nime ja lingiga. Konfiguratsioonifailid &kde; kasutab lihtsaid tekstipõhiseid faile kõigi seadistustefailide jaoks. Need koosnevad gruppidesse seatud võtmete ja väärtuste paaridest. Kõik &kde; seadistustefailid kasutavad UTF-8 kodeeringut, mis lubab laiendada ASCII võimalusi. Grupi algust tähistab nurksulgudesse seatud grupinimi. Kõik sellele järgnevad võtme-väärtusepaarid kuuluvad antud gruppi. Grupp lõpeb kas uue grupi alguse või faili lõpuga. Kirjed faili alguses, millele ei eelne grupinime, kuuluvad vaikimisi gruppi. Järgnev näide toob ära kahest grupist koosneva seadistustefaili. Esimene grupp sisaldab võtmeid LargeCursor ja SingleClick, teine grupp võtmeid Show hidden files ja Sort by: [KDE] LargeCursor=false SingleClick=true [KFileDialog Settings] Show hidden files=false Sort by=Name Kirjed grupis koosnevad võrdusmärgiga eristatud võtmest ja väärtusest. Võti võib sisaldada tühikuid ning sellele võivad järgneda nurksulgudesse seatud valikud. Võrdusmärgi järel seisab kirje väärtus. Tühimärke mõlemal pool võrdusmärki ning väärtuse järel eiratakse. Täpsemalt öeldes on vorming järgmine: kirje=väärtus Kui väärtus peab sisaldama tühikut alguses või lõpus, tuleb selleks kasutada längkriipsu, millele järgneb s. Längkriipsuga saab veel mitut asja määrata, nimelt: \s tähistab tühikut \t tähistab tabeldusmärki \r tagasijooksumärki \n tähistab reavahetusmärki (uus rida) \\ tähistab längkriipsu ennast Järgnevas näites algab kirje Caption väärtus kahe tühikuga, kirje Description sisaldab aga kolme tekstirida. Ridade eraldamiseks kasutatakse längkriipsu abil esitatavaid reavahetusmärke. [Preview Image] Caption=\s My Caption Description=This is\na very long\ndescription. Tühje ridu seadistustefailides eiratakse, samuti ridu, mille alguses seisavad trellid (#). Viimast kasutatakse enamasti kommentaaride lisamiseks konfiguratsioonifailidesse. Tasub märkida, et kui &kde; rakendus uuendab seadistustefaili, kommentaare ei säilitata. Erinevate &kde; kataloogipuude alamkataloogis share/config võib olla mitu ühenimelist seadistustefaili. Sel juhul kombineeritakse nende kõigi info võtmehaaval. Kui üks ja sama võti on defineeritud mitmes failis, siis kasutatakse selle faili väärtust, mis seisab eelistusjärjekorras eespool. Kõige ees seisavad alati $KDEHOME seadistustefailid. Kui teatud grupi võti on mitu korda defineeritud ühes ja samas failis, kasutatakse viimase kirje väärtust. Kui $HOME/.kde/share/config/foobar sisaldab: [MyGroup] Color=red Shape=circle ja /etc/opt/kde3/share/config/foobar sisaldab [MyGroup] Color=blue Position=10,10 on tulemus järgmine: [MyGroup] Color=red Shape=circle Position=10,10 Kui $HOME/.kde/share/config/foobar sisaldab [MyGroup] Color=red Shape=circle [MyGroup] Color=green ja /opt/kde_staff/share/config/foobar sisaldab [MyGroup] Color=purple Position=20,20 ja /etc/opt/kde3/share/config/foobar sisaldab [MyGroup] Color=blue Position=10,10 on tulemus järgmine: [MyGroup] Color=green Shape=circle Position=20,20 Et kasutajad ei saaks tühistada vaikeseadistusi, võib need märkida muudetamatuks. Seadistusi saab muuta muudetamatuks ühekaupa, grupiti või ka failiti. Ühe kirje võib lukustada võtme järele [$i] lisades, ⪚: Color[$i]=blue Kirjete grupi võib lukustada grupi nime järele [$i] lisades, ⪚: [MyGroup][$i] Terve faili lukustamiseks alusta faili eraldi reaga [$i], &ie;: [$i] Kui $HOME/.kde/share/config/foobar sisaldab: [MyGroup] Color=red Shape=circle ja /etc/opt/kde3/share/config/foobar sisaldab: [MyGroup][$i] Color=blue Position=10,10 on tulemus järgmine: [MyGroup] Color=blue Position=10,10 Kui $HOME/.kde/share/config/foobar sisaldab: [MyGroup] Color=red Shape=circle ja /opt/kde_staff/share/config/foobar sisaldab [MyGroup] Color=purple Shape=rectangle ja /etc/opt/kde3/share/config/foobar sisaldab [MyGroup][$i] Color=blue Position=10,10 on tulemus järgmine: [MyGroup] Color=purple Shape=rectangle Position=10,10 Niinimetatud shelli laiendamise võimalustega saab määrata märksa dünaamilisemaid vaikeväärtuseid. Sel juhul saab seadistusvõtme väärtuse luua keskkonnamuutuja väärtuse või shellikäsu väljundi põhjal. Seadistuskirjete shelli laiendamise võimaluste kasutamiseks peab võtmele järgnema [$e]. Tavaliselt kirjutatakse laiendatud vorm pärast esimest kasutamist kasutaja konfiguratsioonifaili. Selle vältimiseks on soovitatav seadistuskirje lukustada, lisades selleks võtme järele [$ie]. Sel juhul ei saa muidugi ka kasutaja seda muuta. Järgnevas näites määratakse kirje Host väärtus programmi hostname väljundi põhjal. Tagamaks seda, et väärtus määratakse alati dünaamiliselt, on seadistus ka lukustatud. Kirje Email väärtus määratakse keskkonnamuutujate $USER ja $HOST väärtuste alusel. Kui kasutaja jaan on ennast loginud süsteemi jaani_masin, on tulemuseks väärtus jaan@jaani_masin. See seadistus ei ole lukus. [Mail Settings] Host[$ie]=$(hostname) Email[$e]=${USER}@${HOST} Enamikku seadistuskirjeid saab märgistada keelekoodiga. Sel juhul kasutatakse vajaliku võtme väärtuse leidmiseks keelt, mille kasutaja on oma töölaua jaoks valinud. Kui valitud on vaikimisi keel (Ameerika inglise keel) või valitud keelele pole vastavat indeksit, kasutatakse indeksita võtmekirjet. Järgnevas näiteks sõltub kirje Caption väärtus keelest. Kui kasutaja on valinud oma keeleks eesti keele (keelekood et), on kirje väärtus Minu pealdis. Kõigil muudel juhtudel kasutatakse väärtust My Caption. [Preview Image] Caption=My Caption Caption[et]=Minu pealdis Järgnevas näiteks sõltub kirje Caption väärtus keelest. Kui kasutaja on valinud oma keeleks eesti keele (keelekood et), on kirje väärtus Minu pealdis. Kõigil muudel juhtudel kasutatakse väärtust My Caption. [Preview Image] Caption=My Caption Caption[et]=Minu pealdis Varasemal ajal ei olnud seadistustefailis esineda võivad kirjed üldjuhul dokumenteeritud. Alates &kde; 3.2 on asi muutunud. Kataloogis $KDEDIR/share/config.kcfg leiab failid, mis kirjeldavad seadistustefaili võimalikke kirjeid. Neid kasutab võimaluse korral &kde; uus seadistusteredaktor. Toome ühe näite &XML;-konfiguratsioonifaili kohta: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd"> <kcfg> <kcfgfile name="korganizerrc"/> <group name="General"> <entry type="Bool" key="Auto Save"> <label>Enable automatic saving of calendar</label> <default>true</default> </entry> <entry type="Int" key="Auto Save Interval"> <default>10</default> </entry> </group> </kcfg> Sellega on võrdväärne: [General] Auto Save=false Auto Save Interval=25 &kde; käivitamisest &kdm; Töötab alati administraatori (root) õigustes! Kasutab faile $KDEDIR/share/config/kdmrc ja /etc/X11/xdm/Xservers. Viimases on umbes sellised kirjed: :0 local /usr/X11R6/bin/X :0 vt07 Asjakohased käivitamisfailid on järgmised: [X-*-Core] sektsioon failis kdmrc Seadistus - /etc/X11/xdm/Xsetup Kasutaja sisestab kasutajanime ja parooli Käivitamine - /etc/X11/xdm/Xstartup - valmistumine administraatori õigustes Seanss - /etc/X11/xdm/Xsession - käivitab seansi kasutaja õigustes = KDE seansi korral: kde või startkde = Olemasolu korral ~/.xsession või ~/.xinitrc Lähtestamine - /etc/X11/xdm/Xreset - pärast seansi lõppu &kde; käivitamisskript: <command >startkde</command > &kde; käivitamine algab skriptiga startkde. Enamasti kutsub selle välja kuvahaldur (&kdm;) pärast kasutaja autentimist. Skriptis startkde on kaks väga tähtsat rida: LD_BIND_NOW=true kdeinit +kcminit +knotify and kwrapper ksmserver $KDEWM Esimene rida käivitab ülemprotsessi kdeinit. Protsessi kdeinit kasutatakse kõigi muude kde; protsesside käivitamiseks. Käsu ps väljundis näeb seda kujul: kdeinit: Running.... Argumendid, mida näeb kdeinit'i järel, on täiendavalt käivitatavate protsesside nimed. Sümbol + tähendab, et kdeinit peab ootama, kuni protsess on lõpetanud. kdeinit käivitab ka protsessid dcopserver, klauncher ja kded. Teine rida annab protsessile kdeinit korralduse käivitada seansihalduri protsess ksmserver. Seansihaldur määrab seansi eluea. Kui protsess töö lõpetab, logitakse kasutaja välja. Taustaprotsessid Kõik &kde; taustaprotsessid on kasutajapõhised: erinevalt süsteemsetest deemonitest ei jagata neid kasutajate vahel. Nad on unikaalsed nii kasutajate järgi kui ka X-serveri kuva järgi. Need protsessid on järgmised: dcopserver Töölaua kommunikatsioon kded Üldine teenustedeemon. Käivitab vajaduse korral Sycoca andmebaasi uuendamise kcminit Initsialiseerimisteenus Täpsemalt räägib sellest . klauncher Rakenduste käivitaja (see ei ole sama, mis &Alt;F2 dialoog!) Täpsemalt räägib sellest . knotify Kasutaja märguanded. Täpsemalt räägib sellest . ksmserver Seansihaldus Täpsemalt räägib sellest . <command >kdeinit</command > Protsess kdeinit käivitab kõik teised &kde; programmid. kdeinit võib käivitada nii tavalisi programmide binaarfaile kui ka kdeinit'i laaditavaid mooduleid (KLM). KLM-id töötavad samamoodi nagu programmide binaarfailid, kuid neid saab märksa efektiivsemalt käivitada. KLM-id paiknevad kataloogis $KDEDIR/lib/kde3. Miinuseks on see, et sel moel käivitatud programme näitab käskude top ja ps väljund kui protsessi kdeinit. Tegeliku programmi nime nägemiseks tuleb seepärast kasutada käsku top või ps : %ps waba 23184 0.2 2.1 23428 11124 ? S 21:41 0:00 kdeinit: Running... waba 23187 0.1 2.1 23200 11124 ? S 21:41 0:00 kdeinit: dcopserver --nosid waba 23189 0.2 2.4 25136 12496 ? S 21:41 0:00 kdeinit: klauncher waba 23192 0.7 2.8 25596 14772 ? S 21:41 0:00 kdeinit: kded waba 23203 0.8 3.4 31516 17892 ? S 21:41 0:00 kdeinit: knotify kdeinit: Running... tähistab ülemprotsessi kdeinit. Ülejäänud protsessid on käivitatud KLM-idena. kdeinit käivitab esmakordsel käivitumisel protsessid dcopserver, klauncher ja kded, samuti kõik muud programmid, mis on määratud skriptiga startkde (tavaliselt kcminit ja knotify). <command >dcopserver</command > dcopserver on deemon, mis tagab kõigile &kde; rakendustele protsessidevahelise kommunikatsiooni (&DCOP;). &DCOP; on iseenesest kasutatav käsureatööriista dcop abil. &DCOP; on eluliselt vajalik kõigile &kde; rakendustele. Mõned asjakohased failid: $HOME/.DCOPserver_$HOSTNAME_$DISPLAY .DCOPserver_linux__0. Seda kontrollib $DCOPAUTHORITY. /tmp/.ICE-unix/dcoppid-arv dcop7634-1069677856. See on fail, millele viitab ülaltoodud DCOPserver-fail. $HOME/.ICEauthority Autentimisinfo, mida kontrollib $ICEAUTHORITY. kcminit kcminit paneb käivitamise ajal tööle initsialiseerimisteenused. Initsialiseerimisteenuseid määratlevad rakenduste või teenuste .desktop-failid real X-KDE-Init: [Desktop Entry] Encoding=UTF-8 Exec=kcmshell energy Icon=energy_star Type=Application X-KDE-Library=energy X-KDE-Init=energy Initsialiseerimisteenuseid kasutatatakse üldjuhul riistvara initsialiseerimisel kasutaja määratud seadistuste põhjal. Käsuga kcminit saab näha kõiki initsialiseerimisteenuseid ning käsuga kcminit teenus käivitada konkreetse teenuse. Sellest on abi näiteks käivitamisprobleemide selgitamisel. <command >klauncher</command > klauncher on deemon, mis vastutab &kde; teenuste aktiveerimise eest. See töötab uute protssesside käivitamisel tihedalt käsikäes ülemprotsessiga kdeinit. &kde; rakendused suhtlevad uute rakenduste või teenuste käivitamiseks klauncher'iga &DCOP;-i vahendusel. Hästi on tuntud veateade: KLauncher could not be reached via DCOP , mis osutab kas tõsisele probleemile dcopserver'iga või klauncher'i krahhile. klauncher'i saab taaskäivitada, kui käivitada kdeinit uuesti konsooliaknast. Igal juhul tasuks eelnevalt kontrollida, et $HOME, $DISPLAY ja mitmesugused muutujad $KDEDIR(S) on korrektselt määratud! <command >knotify</command > knotify põhiülesanne on edastada helimärguanded heliserverile. See pakub ka alternatiivseid märguannete meetodeid. KSMServer ksmserver on &kde; seansihaldur. Käivitamisel paneb seansihaldur tööle automaatselt käivitatavad rakendused ja taastab eelnenud seansi rakendused. Automaatselt käivitatavaid rakendusi tähistavad .desktop-failid kataloogis $KDEDIR/share/autostart. Selle, kas rakendus automaatselt käivitada või mitte, saab määrata vastava tingimusega kirje X-KDE-autostart-condition näol .desktop-failis. Näiteks fail ktip.desktop sisaldab: X-KDE-autostart-condition=ktiprc:TipOfDay:RunOnStart:true See tähendab, et konfiguratsioonifailis ktiprc kontrollitakse kirje RunOnStart olemasolu sektsioonis [TipOfDay]. Kui sellist kirjet pole, võetakse tingimuse väärtuseks 'tõene' (true), mis tähendab, et ktip on üks automaatselt käivitatavaid rakendusi. Mõned rakendused, mida ksmserver automaatselt käivitab, on järgmised: kdesktop &kde; töölaud &kicker; &kde; paneel ktip Päeva nõuande programm kwrited Utiliit süsteemi teadete edastamiseks kasutajale &klipper; Paneelile dokitud lõikepuhvriutiliit kalarm Eesseisvatest sündmustest ja kohtumistest märku andev utiliit kdesktop käivitab omakorda rakendused, mis leiduvad kataloogis $KDEHOME/Autostart. kdesktop avab automaatselt kõik selles kataloogis leiduvad failid, kaasa arvatud dokumendid, binaarfailid või rakendused .desktop-failide kujul. &kde; seansihaldur taastab ka varasema seansi. Seanss koosneb nii rakendustest kui ka rakendustespetsiifilisest infost, mis kajastab rakenduste olekut seansi salvestamise hetkel. Seansid on salvestatud seadistustefaili ksmserverrc, mis sisaldab viiteid rakendusespetsiifilisele olekuinfole. Viimane on salvestatud kataloogi $KDEHOME/share/config/session. &kwin;'i olekuinfo sisaldab kõigi rakenduste akende olekuinfot varasemas seansis. Keskkonnamuutujad Mõned olulisemad keskkonnamuutujad, mida &kde; kasutab: $KDEDIR Peab olema määratud, kui ei ole määratud KDEDIRS, ning viitama &kde; paigalduspuu juurele. Võimaldab &kde;-l leida oma andmeid, näiteks ikoone, menüüsid ja teeke. $KDEDIRS Tühistab muutuja KDEDIR ning võimaldab määrata mitu kataloogi, kust &kde; oma andmeid otsib. Abiks, kui tahad paigaldada või pead paigaldama mõned programmid muu prefiksiga kui ülejäänud &kde;. $KDEHOMEKui pole määratud, kasutab &kde; kataloogi ~/.kde kataloogina, kuhu salvestada personaalsed andmed. $KDEROOTHOMEKui pole määratud, kasutab &kde; kataloogi ~root/.kde kataloogina, kuhu salvestada administraatori (root) personaalsed andmed. See muutuja võeti kasutusele, et &kde; ei kirjutaks kogemata kasutaja andmeid administraatori õigustes üle, kui kasutaja käivitab &kde; programmi pärast programmiga su endale administraatori (root) õiguste võtmist. $KDEWMKui keskkonnamuutuja KDEWM on määratud, kasutatakse seda &kwin;'i asemel &kde; aknahaldurina startkde skriptis. $KDE_LANGTühistab &kde; keeleseadistuse, ⪚ KDE_LANG=fr kprogram & käivitab programmi prantsuskeelse tõlkega, kui vajalikud failid on paigaldatud. $KDE_MULTIHEADKui anda sellele muutujale väärtuseks true (tõene), siis tähendab see, et &kde; töötab multihead-süsteemis. $KDE_FORK_SLAVES (Alates &kde; 3.2.3) Selle muutuja määramisega saab KIO-moodulid panna lähtuma otseselt rakenduse protsessist. Vaikimisi käivitab KIO-moodulid klauncher/kdeinit. See on abiks, kui KIO-moodul peab töötama samas keskkonnas rakendusega. Nii on näiteks rakenduse Clearcase puhul. $KDE_HOME_READONLY Selle muutuja määramisel on kodukataloog ühendatud ainult lugemisõigusega. $KDE_NO_IPV6(Alates &kde; 3.2.3) Selle muutuja määramisega saab keelata IPv6 toetuse ja IPv6 DNS-otsingud. $KDE_IS_PRELINKED(Alates &kde; 3.2) Selle muutuja määramisel on &kde; binaarfailid ja teegid eellingitud. See lülitab protsessi kdeinit välja. $KDE_UTF8_FILENAMESSelle keskkonnamuutuja määramisel eeldab &kde;, et kõik failinimed on sõltumata aktiivsest lokaadist UTF-8 kodeeringus. $KDE_FULL_SESSION(Alates &kde; 3.2) See määratakse &kde; käivitumisel automaatselt tõeseks ning kasutatakse ⪚ teatamiseks &konqueror;ile, et see peab jääma ka pärast sulgemist mällu juhuks, kui seda edaspidi vaja läheb. Kui muutuja pole määratud, lõpetab &konqueror; pärast sulgemist täielikult oma töö (⪚ &kdesu; teeb seda, see on kasuks ka silumisel). $KDESYCOCAVõimaldab määrata genereeritud &kde; süsteemse konfiguratsiooni puhvrifaili asukoha ja nime. $KDETMPVõimaldab määrata /tmp asemel muu asukoha, kuhu &kde; salvestab oma ajutisi faile. $KDEVARTMPVõimaldab määrata /var/tmp asemel muu asukoha, kuhu &kde; salvestab oma muutuvaid faile. $XDG_DATA_HOME(Alates &kde; 3.2) Määrab baaskataloogi, mille suhtes salvestatakse kasutajaspetsiifilised andmefailid. Vaikimisi on $HOME/.local/share. $XDG_DATA_DIRS(Alates &kde; 3.2) Määrab eelistuse järjekorras kataloogid, kust otsitakse andmefaile lisaks $XDG_DATA_HOME baaskataloogile. Vaikimisi /usr/local/share/:/usr/share/. &kde; lisab omalt poolt ka $KDEDIRS ja profiilide asukohad. Kasutatakse .desktop- ja .directory-menüüfailide jaoks. .desktop-failid on kataloogis $XDG_DATA_DIRS/applications. .directory.failid on kataloogis $XDG_DATA_DIRS/desktop-directories. $XDG_CONFIG_HOME(Alates &kde; 3.2) Määrab baaskataloogi, mille suhtes salvestatakse kasutajaspetsiifilised seadistustefailid. Vaikimisi on $HOME/.config. $XDG_CONFIG_DIRS(Alates &kde; 3.2) Määrab eelistuse järjekorras kataloogid, kust otsitakse seadistustefaile lisaks $XDG_CONFIG_HOME baaskataloogile. Vaikimisi /etc/xdg. &kde; lisab omalt poolt ka $KDEDIRS ja profiilide asukohad. Kasutatakse .menu- kirjelduste jaoks kataloogis $XDG_CONFIG_DIRS/menus. kdeinit'i müsteerium kdeinit käivitab kõik teised &kde; programmid. kdeinit võib käivitada nii tavalisi programmide binaarfaile kui ka kdeinit'i laaditavaid mooduleid (KLM). KLM-id töötavad samamoodi nagu programmide binaarfailid, kuid neid saab märksa efektiivsemalt käivitada. KLM-id paiknevad kataloogis $KDEDIR/lib/kde3. Miinuseks on see, et sel moel käivitatud programme näitab käskude top ja ps väljund kui protsessi kdeinit. Tegeliku programmi nime nägemiseks tuleb seepärast kasutada käsku top või ps : % ps aux | grep bastian bastian 26061 0.0 2.2 24284 11492 ? S 21:27 0:00 kdeinit: Running... bastian 26064 0.0 2.2 24036 11524 ? S 21:27 0:00 kdeinit: dcopserver bastian 26066 0.1 2.5 26056 12988 ? S 21:27 0:00 kdeinit: klauncher bastian 26069 0.4 3.2 27356 16744 ? S 21:27 0:00 kdeinit: kded bastian 26161 0.2 2.7 25344 14096 ? S 21:27 0:00 kdeinit: ksmserver bastian 26179 1.1 3.4 29716 17812 ? S 21:27 0:00 kdeinit: kicker bastian 26192 0.4 3.0 26776 15452 ? S 21:27 0:00 kdeinit: klipper bastian 26195 1.0 3.5 29200 18368 ? S 21:27 0:00 kdeinit: kdesktop Nagu oled vahest märganud, on sel üks kõrvalefekt, mis muudab keeruliseks tappa probleeme tekitavat protsessi: % killall kdesktop kdesktop: no process killed Mõistagi on sel juhul ahvatlev kasutada käsku killall kdeinit, aga kõigi kdeinit'i protsesside tapmine tähendab tegelikult kogu &kde; töö lõpetamist. Totaalset hävitamist niisiis! Sellest aitab üle kaks lihtsat lahendust: % kdekillall kdesktop või vana hea % kill 26195 kdekillall kuulub &kde; SDK-paketi koosseisu. &kde; kohandamine Töölaua ikoonid &kde; kasutab mitut laadi ikoone: Dokumendid Veebisaitide lingid (.desktop-faili kasutades) Rakenduste lingid (.desktop-faili kasutades) Seadmed: kettad, partitsioonid ja välisseadmed: Otseselt .desktop-faili kasutades Automaatselt IO-mooduli devices:// vahendusel Tootjaspetsiifilised (⪚ &SuSE; Minu arvuti) Veebileheküljed Veebisaitide lingid .desktop-faili kasutades: Loo uusFailViit asukohale (URL). Ikooni saab muuta dialoogis Omadused. Tulemuseks on .desktop-fail: [Desktop Entry] Encoding=UTF-8 Icon=/opt/kde3/share/apps/kdesktop/pics/ksslogo.png Type=Link URL=http://www.kde.org/ Rakendused Rakenduste lingid .desktop-faili kasutades: Loo uusFailViit rakendusele. Üksikasjad tuleb ise anda. Lohistamine &kde; menüüst: kas kopeerimine või linkimine (palju lihtsam). [Desktop Entry] Encoding=UTF-8 GenericName=IRC Client GenericName[af]=Irc Kliët GenericName[de]=IRC Programm ... GenericName[zu]=Umthengi we IRC SwallowExec= Name=KSirc Name[af]=Ksirc Name[de]=KSirc ... Trafarett Tõlgitud üldine kirjeldus, ei kasutata töölaual Pärand, võib eemaldada Tõlgitud nimi, nagu see esineb töölaual Töölaua ikoonid ... Name[zu]=Ksirc MimeType= Exec=ksirc %i %m Icon=ksirc TerminalOptions= Path= Type=Application Terminal=0 X-KDE-StartupNotify=true X-DCOP-ServiceType=Multi Categories=Qt;KDE;Network Toetatud &MIME; tüübid, ei kasutata töölaual Käivitatav käsurida Ikoon ikooniteemast või täielik asukoht Kasutatakse ainult terminali vajaduse korral Käsu töökataloog Veel üks trafarett Kasuta, kui on vaja terminali Spetsiaalse käivitamiskursori näitamine; lülita välja, kui see ei toimi Kas rakendus käivitus korralikult? Eemalda, kui ei käivitunud &kde; menüü kategooriad, ei kasutata töölaual Võtme <varname >Exec</varname > roll <literal role="extension" >.desktop</literal >-failides Käsu järele võib lisada mitmeid kohatäitjaid, mis programmi käivitamisel asendatakse tegelike väärtustega: %f Üks failinimi; kasutatakse faili kukutamisel ikoonile või failiseostega. %F Failide nimekiri; kasutatakse rakenduste korral, mis võivad korraga avada mitu kohalikku faili. %u Üks &URL;; kui rakendus suudab ise käsitleda ⪚ &FTP; või &HTTP; &URL;-e, vastasel juhul &kde;. %U &URL;-ide nimekiri; kõigepealt laaditakse fail alla ja edastatakse kohalik fail rakendusele (!!). %d Avatava faili kataloog; abiks, kui rakendus eeldab muidu faili oma töökataloogis. %D Kataloogide nimekiri; pole eriti praktiline. %i Ikoon; ka ; &kde; kasutab tegumiribal ikooni, mille määrab rida Icon=. %m Miniikoon; pärand. %c Pealdis; ka ka ; &kde; kasutab tegumiribal nime, mille määrab rida Name=. Näited: Exec-rida Käivitatav käsk ksirc %iksirc --icon ksirc cd %d; kedit $(basename %f)cd /tmp; kedit file.txt Seadmed Seadmete lingid .desktop-faili kasutades: Loo uus -> Viit seadmele Kus defineerida? Töölaua ikoone saab määrata mitmes kohas: ~/Desktop: kopeeritud asukohast /etc/skel/Desktop $KDEDIR/apps/kdesktop/Desktop (ühendatud) $KDEDIR/apps/kdesktop/DesktopLinks (kopeeritud) Seadmete ikoonid (dünaamiliselt ühendatud) Distributsioonispetsiifilised: SUSE Linux kopeerib teatud ikoonid failis startkde.theme asukohast /opt/kde3/share/config/SuSE/default/ &kde; menüü Toimimise põhimõtted &kde; 3.2 võttis kasutusele ühtse menüüvormingu (http://freedesktop.org/Standards/menu-spec/). Enne &kde; 3.2: Kataloogistruktuur asukohas share/applnk Kataloogistruktuur tähistab menüüstruktuuri Iga .desktop-fail tähistab üht rakendust &kde; 3.2 tingimustes oli struktuuri üsna raske ümber korraldada, mistõttu uus menüüvorming: Määrab struktuuri ühes .menu-failis Tugineb kategooriatele On ühine GNOME-le ja &kde;-le Toetab ka applnk-stiilis menüüsid Näide applications.menu põhjal: <Menu> <Name>Office</Name> <Directory>suse-office.directory</Directory> <Include> <Filename>Acrobat Reader.desktop</Filename> <Filename>kde-kpresenter.desktop</Filename> <Filename>kde-kword.desktop</Filename> </Include> <Menu> Menüükirje 3 rakendusega: /usr/share/applications/Acrobat Reader.desktop /opt/kde3/share/applications/kde/kpresenter.desktop /opt/kde3/share/applications/kde/kword.desktop Salvestamise asukohad .menu-failid kirjeldavad menüüstruktuuri. Need on salvestatud kataloogidesse $KDEDIR/etc/xdg/menus ja /etc/xdg/menus. Sinna on salvestatud süsteemne menüüstruktuur, mida kontrollib $XDG_CONFIG_DIRS. $HOME/.config/menus salvestab kasutajate muudatused menüüstruktuuri, seda kontrollib $XDG_CONFIG_HOME. Täpsemalt räägib sellest http://www.freedesktop.org/Standards/basedir-spec. .desktop-failid kirjeldavad rakendusi ja on salvestatud kataloogidesse $KDEDIR/share/applications, /usr/share/applications, /usr/local/share/applications. Need on süsteemsed rakenduste .desktop-failid, mida kontrollib $XDG_DATA_DIRS. $HOME/.local/applications sisaldab kasutajaspetsiifilisi .desktop-faile ja kasutajaspetsiifilisi muudatusi. Seda kontrollib $XDG_DATA_HOME. Täpsemalt räägib sellest http://www.freedesktop.org/Standards/basedir-spec. .directory-failid kirjeldavad alammenüüsid ja on salvestatud kataloogidesse $KDEDIR/share/desktop-directories, /usr/share/desktop-directories, /usr/local/share/desktop-directories. Need on süsteemsed menüüde .directory-failid, mida kontrollib $XDG_DATA_DIRS. Kasutajaspetsiifilised muudatused on salvestatud kataloogi $HOME/.local/desktop-directories. Neid kontrollib $XDG_DATA_HOME. Täpsemalt räägib sellest http://www.freedesktop.org/Standards/basedir-spec. Näide applications.menu põhjal: <Menu> <Name>Art</Name> <Directory>suse-edutainment-art.directory</Directory> <Include> <Category>X-SuSE-Art</Category> </Include> </Menu> Art on menüü sisemine nimi. suse-edutainment-art.directory määrab menüü nime ja ikooni ning see menüü sisaldab kõiki rakendusi, mille kategooriaks on X-SuSE-Art, ⪚: Categories=Qt;KDE;Education;X-SuSE-Art suse-edutainment-art.directory määrab selle menüü nime ja ikooni: [Desktop Entry] Name=Art and Culture Icon=kcmsystem Levinud probleemid Rakendusi, mida ei ole menüüs, ei ole olemas ka teiste rakenduste või failiseoste jaoks: kui eemaldad rakenduse menüüst, eeldab &kde; et sa ei soovi seda kasutada. Kui sa ei soovi rakendust menüüs näha, sea nad menüüsse .hidden või spetsiaalsesse menüüsse võtmega NoDisplay=true .directory-failis Olulised menüüd $KDEDIR/etc/xdg/menus/applications-merged/ sisaldab faili kde-essential.menu, mis sisaldab teatud olulisi menüüsid, mida tavaliselt &kde; menüüs endas ei näidata: Juhtimiskeskusel on peidetud menüü Seadistused, mille sisu määrab kde-settings.menu ja mille ikooni ja nime määrab kde-settings.directory Infokeskusel on peidetud menüü Informatsioon, mille sisu määrab kde-information.menu ja mille ikooni ja nime määrab kde-information.directory Ekraanisäästjatel on peidetud menüü Süsteem/Ekraanisäästjad, mille sisu määrab kde-screensavers.menu ja mille ikooni ja nime määrab kde-system-screensavers.directory. $KDEDIR/share/desktop-directories/kde-system-screensavers.directory sisaldab: NoDisplay=true Vanas stiilis menüüd &kde; toetab endiselt ka vanas stiilis menüüsid, mille puhul kataloogistruktuur on määratud kataloogides $KDEDIR/share/applnk (süsteemne) ja $HOME/.kde/share/applnk (kasutajaspetsiifiline). Seda järgitakse juhul, kui .desktop-failis ei ole Categories= rida. Sel juhul määravad kategooriad asukoha menüüs. <application >KSycoca</application > KSycoca puhverdab menüüstruktuuri ja info kõigi saadaolevate rakenduste kohta. Andmebaasi saab värskendada programmiga kbuildsycoca. Andmebaasi enda asukoht on /var/tmp/kdecache-${USER}/ksycoca. Seda uuendab automaatselt KDED, seda kontrollitakse &kde; sisselogimise ajal ning seansi ajal jälgib seda KDED, Muudatuste jälgimise keelamiseks (see võib tekitada probleeme näiteks NFS-i kasutamisel) lisa järgmine rida faili kdedrc: [General] CheckSycoca=false Regenereerimise pealesundimiseks anna käsk touch $KDEDIR/share/services/update_ksycoca. &kmenuedit; &kmenuedit; on mõeldud üksikkasutaja vajaduste rahuldamiseks. Menüüstruktuuri muudatusi salvestab ~/.config/menus/applications-kmenuedit.menu, rakenduste muudatusi ~/.local/share/applications/ ja alammenüüde (ikoon, nimi) muudatusi ~/.local/share/desktop-directories/. KIOSK'i haldur kasutab &kmenuedit;'it ning kopeerib mainitud muudatused profiili- või süsteemsetesse asukohtadesse. &kde; paneel &kde; paneel kannab ka nime &kicker;. See on modulaarne ja koosneb järgmistest komponentidest: Apletid Rakenduste nupud Spetsiaalsed nupud Vaikimisi sisaldab paneel järgmisi aplette: Peiler - näitab virtuaalseid töölaudu Tegumiriba Süsteemne salv Kell ja järgmisi spetsiaalseid nuppe: &kde; menüü Töölaua nupp Ruumi korral lisatakse veel mitmeid rakenduste nuppe: Kodu(kataloogi) nupp Brauseri nupp KMaili nupp Failiseosed Failiseosed seostavad failitüübi ühe või enama rakendusega. Failitüüp määratakse kindlaks selle &MIME; tüübi põhjal. &MIME; tüübid, mida &kde; tunneb, on salvestatud kataloogi $KDEDIR/share/mimelnk ning iga rakenduse .desktop-fail sisaldab &MIME; tüüpide nimekirja, mida antud rakendus toetab. kview.desktop: MimeType=image/gif;image/x-xpm;image/x-xbm;image/jpeg; image/x-bmp;image/png;image/x-ico;image/x-portable-bitmap; image/x-portable-pixmap;image/x-portable-greymap; image/tiff;image/jp2 kuickshow.desktop: MimeType=image/gif;image/x-xpm;image/x-xbm;image/jpeg; image/png;image/tiff;image/x-bmp;image/x-psd;image/x-eim; image/x-portable-bitmap;image/x-portable-pixmap; image/x-portable-greymap Mõlemad võivad avada tüübi image/gif. Kumba siis kasutatakse .gif-faili avamisel? Suurima eelistusega rakendust! kview.desktop sisaldab InitialPreference=3 aga kuickshow.desktop sisaldab InitialPreference=6 Seepärast avab &kuickshow; .gif-file. Kuidas panna &kview; neid vaikimisi avama? Kasutaja saab muuta failiseoseid &juhtimiskeskus;es. Muudatused salvestatakse faili $HOME/.kde/share/config/profilerc. Sama seadistuse kasutamiseks enam kui ühe kasutaja jaoks tuleb see salvestada kasutaja profiili kataloogi või globaalsesse &kde; konfiguratsioonifailide kataloogi. &kde; lukustamine Toimimise põhialused &kde; lukustamisomadused sisaldavad järgmisi olulisemaid võimalusi: Konfiguratsioonivalikute muutmine muudetamatuks Teatud toimingute piiramine Ligipääsu piiramine teatud &URL;-idele Ligipääsu piiramine teatud seadistusmoodulitele Muudetamatud konfiguratsioonivalikud &kde; lukustamine Muudetamatud valikud võimaldavad administraatoril määrata vaikeseadistusi, mida kasutaja ei saa muuta. Kui konfiguratsioonivalik muudetakse muudetamatuks, ei arvestata enam kasutaja varasemaid määratlusi antud valiku puhul. Valikuid saab kontrollida kas kirjete, kirjete gruppide või ka tervete failide kaupa. Kui fail või grupp on muudetamatu, on kõik antud faili või grupi võtmed muudetamatud, kaasa arvatud need, mille puhul ei ole administraator vaikeväärtust määranudki. Rakendused toetavad muudetamatute valikute kasutamist üsna erinevalt. Ehkki kasutaja ei saa muudetamatuid konfiguratsioonivalikuid püsivalt muuta, on ometi võimalik, et ta näeb siiski kasutajaliideses sellist võimalust. Toimingute piirangud &kde; rakenduste keskmes seisab toimingute kontseptsioon. Toiminguid saab ette võtta mitmel moel: tavaliselt menüüriba, mõne tööriistariba või kiirklahvi vahendusel. Toiming on näiteks käsk Salvesta document. Toimingu sisemist nime teades saab sellele piiranguid seada. Kui toiming on piiratud, ei näe seda enam menüü- või tööriistaribal. Toimingu Salvesta document sisemine nimi on . Lukustamisraamistik pakub ka abstraktsemaid piiranguid, millega saab keelata funktsioone, mis hõlmavad mitut toimingut. Selle näiteks on toimingu piirang, mis keelab igasuguse funktsionaalsuse, mis võimaldaks kasutajal tarvitada &UNIX; shelli. Kasutaja ligipääsu piiramine shellile Kasutaja ligipääsu piiramiseks shellile ja seeläbi käsurea võimalustele tuleb piirata toimingut , lisades failile kdeglobals: [KDE Action Restrictions] shell_access=false Kuna see mõjutab &kde; menüüd ja olemasolevaid rakendusi, tuleb seejärel ette võtta SyCoCa andmebaasi värskendamine: touch $KDEDIR/share/services/update_ksycoca Nüüd logi uuesti &kde;-sse sisse ja kontrolli üle järgmised asjad: &kmenu; &konqueror;is TööriistadAva terminal Käsukäivitaja &Alt;F2 Täieliku dokumentatsiooni saadaolevate toimingute kohta toob ära http://www.kde.org/areas/sysadmin/. Siinkohal loetleme mõned huvipakkuvamad toimingud: Käsk Seadistamine menüüs Seadistused Käsk Saada vearaport menüüs Abi &HPN;ga töölaual klõpsates avanev menüü. &HPN;ga paneelil klõpsates avanev menüü. Peidab kõik toimingud või rakendused, mis nõuavad administraatori (root) õigusi. Peidab kõik toimingud ja rakendused, mis võimaldavad ligipääsu shellile. Keelab võimaluse valida trükkimissüsteemi. Määrab, kas kasutaja saab ekraani lukustada. Määrab, kas kasutaja saab alustada teist X'i seanssi (vaata ka &kdm;) Määrab, kas kasutaja saab kasutada OpenGL ekraanisäästjaid. Lubab ekraanisäästjaid, mis ei peida kogu ekraani. &URL;-ide piirangud &URL;-idele saab kehtestada kolme laadi piiranguid: list Määrab, kas kataloogi on lubatud siseneda. open Määrab, kas teatud &URL;-e tohib avada. Redirect Määrab, kas üks &URL; võib avada teise &URL;-i (olgu automaatselt või hüperlingina). Reegleid kontrollitakse selles järjekorras, milles need on määratud. Viimane reegel, mis &URL;-i kohta kehtib, määrab, kas &URL;-ile pääseb ligi või mitte. Järgnevad reeglid keelavad avada http ja https &URL;-e väljaspool .meiefirma.ee: [KDE URL Restrictions] rule_count=2 rule_1=open,,,,http,,,false rule_2=open,,,,http,*.meiefirma.ee,,true Esimesed neli koma jätavad arvestamata teatud &URL;-i päritolu valikukriteeriumid. Neid läheb vaja ainult ümbersuunamise reeglite puhul. keelab igasuguse http või https &URL;-i avamisel lubab igasuguse http ja https &URL;-i avamist domeenis .meiefirma.ee. Pane tähele, et metamärk * on lubatud ainult domeeni alguses. Järgmised reeglid määravad, et kasutaja ei saa enam sirvida katalooge kohalikus failisüsteemis, mis asuvad väljaspool tema $HOME kataloogi: [KDE URL Restrictions] rule_count=2 rule_1=list,,,,file,,,false rule_2=list,,,,file,,$HOME,true keelab sisenemise igasugusesse kohalikku kataloogi lubab siseneda kataloogidesse, mis kujutavad endast kasutaja $HOME kataloogi alamkatalooge. $HOME ja $TMP on spetsiaalsed väärtused, mis tähistavad kasutaja kodukataloogi ja kasutaja &kde; ajutiste failide kataloogi, ⪚ /tmp/kde-bastian. Järgmised reeglid määravad, et kasutaja ei saa avada kohalikke faile, mis pole tema $HOME kataloogis: [KDE URL Restrictions] rule_count=3 rule_1=open,,,,file,,,false rule_2=open,,,,file,,$HOME,true rule_3=open,,,,file,,$TMP,true keelab igasuguste kohalike failide avamise lubab avada kasutajale kuuluvaid faile tema $HOME kataloogis. lubab avada faile kasutaja &kde; ajutiste failide kataloogis. Seda vajavad teatud &kde; rakendused, mis kõigepealt laadivad faili või dokumenti ajutiste failide kataloogi ja alles siis avavad selle rakenduses. Ümbersuunamisvalik määra, kas teatud asukoha dokumendid võivad automaatselt või käsitsi hüperlingi abil viidata teatud muule asukohale. Üldise turvalisuse huvides on juba eelnevalt määratud teatud vaikereeglid. Näiteks ei tohi internetis asuvad dokumendid viidata kohalikult salvestatud dokumentidele. Kui näiteks soovid anda intranetiserverile www.minufirma.ee võimaluse viidata kohalikele failidele, võid lisada järgmise reegli: [KDE URL Restrictions] rule_count=1 rule_1=redirect,http,www.minufirma.ee,,file,,,true Protokolle pole vaja tingimata nimepidi üles lugeda, neid võib määrata ka tervete rühmadena. Selleks on defineeritud järgmised grupid: :local Protokollid, mis võimaldavad ligipääsu kohalikult salvestatud infole, näiteks file:/, man:/, fonts:/, floppy:/ :internet Levinud internetiprotokollid, näiteks http ja ftp Info protokollide kohta on talletatud *.protocol-failides kataloogis $KDEDIR/share/services. Kirje = defineerib grupi, kuhu protokoll kuulub: grep $KDEDIR/share/services/*.protocol Üldised reeglid: :local protokollid võivad viidata suvalisele protokollile Alati on lubatud viidata :internet protokollile Mitte kõik protokollid ei kuulu gruppi (näiteks fish:/) Seadistusmoodulid &kde; kasutab seadistusmooduleid &kde; keskkonna mitmesuguste aspektide seadistamiseks. Seadistusmooduleid näeb juhtimiskeskuses, rakenduse seadistusdialoogis või mõlemal pool. Puhverserveri seadistusmoodul on juhtimiskeskuses, kuid kuulub ka &konqueror;i dialoogi Konquerori seadistamine koosseisu. Konkreetseid seadistusmooduleid saab käivitada käsuga kcmshell moodul Puhveserveri mooduli käivitamiseks anna käsk: kcmshell kde-proxy.desktop kcmshell proxy Mitte kõigil rakendustel pole seadistusmooduleid: sageli on seadistusdialoog rakenduse lahutamatu osa. Rangelt võttes on kõik seadistusmoodulid &kde; menüü elemendid. Moodulitel, mida näeb juhtimiskeskuses, on üldjuhul .desktop-fail kataloogis $KDEDIR/share/applications/kde ning need seab peidetud menüüsse Settings-Modules kde-settings.menu ja on kaasatud failist kde-essential.menu. kbuildsycoca 2> /dev/null | grep Settings-Modules Rakendusespetsiifilistel moodulitel on üldjuhul .desktop-fail kataloogis $KDEDIR/share/applnk/.hidden, mis vastab peidetud menüüle .hidden ja on kaasatud <KDELegacyDirs/> tulemusel. kbuildsycoca 2> /dev/null | grep .hidden Alates &kde; 3.3 on juhtimiskeskust võimalik redigeerida rakendusega kcontroledit. kcontroledit töötab samamoodi nagu kmenuedit, muudatused kehtivad ainult aktiivsele kasutajale. Muudatuste kehtestamiseks kõigile kasuta rakendust kiosktool. Üksikuid seadistusmooduleid saab keelata, kui lisada järgmine tekst failile kdeglobals: [KDE Control Module Restrictions] mooduli-ID=false Näiteks puhverserveri mooduli keelamiseks peab see olema selline: [KDE Control Module Restrictions] kde-proxy.desktop=false Kontrolli juhtimiskeskuses ja dialoogis Konquerori seadistamine, ega puhverserveri moodulit enam näha pole. Mugav administraator Töölaua jagamine võrgus Töölaua jagamine võrgus lubab kuskil mujal asuvatel kasutajatel näha ja isegi kontrollida aktiivse kasutaja töölauda. Kaugkasutaja peab selleks olema saanud vastava kutse, võimalik on luua ka parooliga kaitstud püsikutseid. See on ideaalne võimalus tugimeeskondadele või administraatoritele kasutada kasutaja töölauda, et aidata tema probleeme lahendada või juhendada teda mingite ülesannete täitmisel Töölaua jagamine võrgus käib kahe rakenduse abil: &krfb; (&kde; kaugkaadripuhver, VNC-server) ja &krdc; (&kde; kaugtöölauaühendus; VNC-kclient). &krfb;-d võib iga kasutaja tarvitada kutsete loomiseks ja haldamiseks. Kutsega luuakse ühekordne parool, mis lubab kutse saajal ühenduda sinu töölauaga. Vaikimisi kehtib see ainult ühe eduka ühenduse jaoks ning aegub tunni aja pärast, kui seda ei kasutata. Sisenevate ühendustega tegeleb KDED kinetd-moodul. Nägemaks, kas see töötab, anna käsk dcop kded kinetd services. &krfb; ootab vaikimisi ühendusi pordis 5900. Kui saabub sisenev ühendus, ilmub dialoog, mis pärib, kas aktiivne kasutaja soovib seda lubada. &kde; oma kätega - iseenda tööriistade loomine DCOP Töölaua kommunikatsiooni protokoll DCOP (Desktop COmmunication Protocol) on lihtne protsessidevahelise suhtlemise mehhanism. DCOP võimaldab kasutajal suhelda parajasti töötavate programmidega. &kde; pakub kaht programmi DCOP-i kasutamiseks: käsureaprogramm dcop ja graafilise kasutajaliidesega kdcop. Mõned märkused dcop'i kasutamise kohta: dcop [võtmed] [rakendus [objekt [funktsioon [arg1] [arg2] ... ] ] ] Rakendused, mis võivad avada korraga enam kui ühe akna, antakse kujul <rakendus>-PID Kõik argumendid on tõstutundlikud: setFullScreen ja setfullscreen on erinevad funktsioonid. Regulaaravaldise elementi * saab kasutada rakenduse ja objekti argumentides. % dcop konqueror-16006 konsole-8954 Toome mõned näidiskäsud ja nende väljundi: % dcop konsole-8954 Töötab üks Konsool töötab PID-iga 8954. % dcop KBookmarkManager-.../share/apps/kfile/bookmarks.xml KBookmarkManager-.../share/apps/konqueror/bookmarks.xml KBookmarkNotifier KDebug MainApplication-Interface konsole (default) konsole-mainwindow#1 ksycoca session-1 session-2 session-3 session-4 Siin on näha, et töötab neli seanssi. % dcop QCStringList interfaces() QCStringList functions() int sessionCount() QString currentSession() QString newSession() QString newSession(QString type) QString sessionId(int position) void activateSession(QString sessionId) void nextSession() void prevSession() void moveSessionLeft() void moveSessionRight() bool fullScreen() void setFullScreen(bool on) ASYNC reparseConfiguration() Siin on Konsooli põhiprogrammi võtmed. % dcop QCStringList interfaces() QCStringList functions() bool closeSession() bool sendSignal(int signal) void clearHistory() void renameSession(QString name) QString sessionName() int sessionPID() QString schema() void setSchema(QString schema) QString encoding() void setEncoding(QString encoding) QString keytab() void setKeytab(QString keyboard) QSize size() void setSize(QSize size) Siin on esimese seansi seesion-1 võtmed. % dcop true See paneb Konsooli tööle täisekraanirežiimis. Kui rakendusi/objekte on üle ühe, siis millist kasutada? Kuidas viide hankida? % echo DCOPRef(konsole-7547,konsole) % dcop session-6 % dcopstart konsole-9058 #!/bin/sh konsole=$(dcopstart konsole-script) session=$(dcop $konsole konsole currentSession) dcop $konsole $session renameSession Local session=$(dcop $konsole konsole newSession) dcop $konsole $session renameSession Remote session=$(dcop $konsole konsole newSession) dcop $konsole $session renameSession Code dcop $konsole $session sendSession 'cd /minu/töökataloog' KDialog &kde; oma kätega - iseenda tööriistade loomine &kde; dialooge võib tööle panna ka omaenda skriptidega, mis võimaldab ühendada &UNIX; shelli skriptivõimalused &kde; kasutamishõlpsusega. kdialog kdialog KDialog'i komponendi võib asendada võtit kasutades kdialog Salvestab selle, kas uuesti näidata, faili $KDEHOME/share/config/minufail, kirjutades sinna järgmised read: [Notification Messages] minuvoti=false Võtme asemel võib vajaduse korral kasutada võtmeid ja . Näide: kdialog või kdialog . Samuti võib luua teatekaste, milles saab anda jaatava või eitava vastuse. kdialog echo $? Tagastatav väärtus Tähendus 0Jah, OK, Jätka 1Ei 2Loobu Salvesta kindlasti tulemus muutujana, kui sa ei kasuta seda otseselt. Järgmine käsk täidab $? uue väärtusega. Ka siin saab kasutada võtit , mis jätab meelde kasutaja valiku ning tagastab selle järgmistel kordadel, näitamata enam dialoogi. Veel variante: nagu , aga teistsuguse ikooniga. Nuppudega Jätka ja Loobu. Nuppudega Jah, Ei ja Loobu. Näide: kdialog kdialog Tulemus saadetakse standardväljundisse (stdout), et edastada see muutujale, mida saab kasutada kujul name=$(kdialog --inputbox "Sisesta oma nimi:" "SinuNimi"). Viimane argument pole kohustuslik, sellega saab lihtsalt dialoogis väärtuse juba ette anda. password=$(kdialog ) Võti ei toimi koos võtmetega ja . Siin on kaks dialoogi, mis lubavad kasutajal valida nimekirjast: Kasutaja saab valida nimekirjast ühe elemendi. Kasutaja saab valida nimekirjast ühe või enam elemendi. city=$(kdialog ) $city on a, b, c või d. city=$(kdialog ) Madrid ja Pariis on eelnevalt ära valitud. Tulemus valitud Madridi ja Pariisiga on "b" "c". Kui lisada võti , seatakse b ja c eraldi ridadele, mis muudab tulemuse töötlemise lihtsamaks. file=$(kdialog --getopenfilename $HOME) file=$(kdialog --getopenfilename $HOME "*.png *.jpg|Pildifailid") file=$(kdialog --getsavefilename $HOME/SaveMe.png) file=$(kdialog --getexistingdirectory $HOME) &groupware-with-kontact;