<para>&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. </para>
<para>Süsteemiadministraator võib muidugi luua täiendavaid kataloogipuid. Neid saab näiteks kasutada <link linkend="user-profiles">profiilideks</link>.</para>
<listitem><para><filename class="directory">/opt/kde3</filename> (see on &SuSE;-le omane, teistes distributsioonides võib see olla <filename class="directory">/usr</filename> või <filename class="directory">/usr/kde3</filename>)</para></listitem>
<listitem><para><filename class="directory">/etc/opt/kde3</filename> (see on &SuSE; lisatud)</para></listitem>
<para>&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.</para>
<para>Kui kasutaja midagi muudab, kirjutatakse see faili <filename class="directory">$<envar>HOME</envar>/.trinity/share/mimelnk/text/plain.desktop</filename></para>
<para>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.</para>
<para>Eeltoodud näites sisaldas <filename class="directory">/opt/kde_staff</filename> töötajatele mõeldud täiendavad seadistusi ja rakendusi. <quote>Kasutaja profiilid</quote> võimaldavad seda kataloogi kasutada ainult kindlatel isikutel, mitte aga teistel. Lisa järgmine kirje faili <filename>/etc/tderc</filename>:</para>
<para>Sellega luuakse profiil <quote>staff</quote>, mis lisab kataloogipuu <filename class="directory">/opt/kde_staff</filename>. (Pane tähele, et &SuSE; &Linux; kasutab <filename>/etc/kde3rc</filename>, mitte aga <filename>/etc/tderc</filename>.) Nüüd, kus meil on nimega profiil, saame seda omistada konkreetsetele kasutajatele.</para>
<para>Profiilide seostamiseks kasutajatega tuleb failis <filename>/etc/tderc</filename> määrata seosefail:</para>
<para>Profiili "staff" omistamiseks kõigile kasutajale, kes kuuluvad &UNIX; gruppi staff_members, lisa järgmised read faili <filename>/etc/kde-user-profile</filename>:</para>
<para>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 <filename class="directory">$<envar>TDEHOME</envar></filename>, mitte aga teistes.</para>
<listitem><para>See kataloog sisaldab komponente, pluginaid ja muid käitusajal laaditavaid objekte, mida kasutavad &kde; 3.<replaceable>x</replaceable> rakendused.</para></listitem>
<listitem><para>Sisaldab rakendusespetsiifilisi andmefaile. Igal rakendusel on siin oma alamkataloog, kuhu on salvestatud täiendavad andmefailid.</para></listitem>
<listitem><para>Seadistustefailid. Tavaliselt on nende nimeks rakenduse nimi, millele on lisatud tähed <quote>rc</quote>. Erijuhtum on <filename>kdeglobals</filename>: seda faili kasutavad kõik &kde; rakendused.</para></listitem>
<listitem><para>Seda kataloogi kasutatakse seansihalduseks ja see esineb tavaliselt ainult kataloogipuus <filename class="directory">$<envar>TDEHOME</envar></filename>. Seansi lõppedes salvestavad &kde; rakendused siia oma oleku. Failinimed koosnevad rakenduse nimest, millele on lisatud arv. Seansihaldur <command>ksmserver</command> salvestab nende arvude viited seanssi faili <filename>ksmserverrc</filename> salvestades.</para></listitem>
<listitem><para>Selles kataloogis leidub &kde; rakenduste dokumentatsioon. See on korraldatud keelte ja rakenduste järgi. Tavaliselt on selles kataloogis vähemalt kaks faili: <filename>index.docbook</filename> sisaldab dokumentatsiooni vormindamata DocBook-vormingus ning <filename>index.cache.bz2</filename> sisaldab sama dokumentatsiooni <command>bzip2</command>-tihendusega &HTML;-vormingus. &HTML;-versiooni kasutab &abikeskus;. Kui &HTML;-versioon puudub, regenereerib &abikeskus; selle DocBook-versioonist, kuid see nõuab üsna palju aega.</para>
<listitem><para>Selles kataloogis on <literal role="extension">.desktop</literal>-failid, mis kirjeldavad &MIME; tüüpe. &kde; kasutab &MIME; tüüpe failitüübi tuvastamiseks.</para>
<listitem><para>Selles kataloogis on <literal role="extension">.desktop</literal>-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.</para>
<listitem><para>Selles kataloogis on <literal role="extension">.desktop</literal>-failid, mis kirjeldavad teenusetüüpe. Teenusetüüp tähistab tavaliselt teatud programmiliidest. Rakendused ja teenused määravad oma <literal role="extension">>.desktop</literal>-failides ära teenusetüübid, mida nad pakuvad.</para> </listitem></varlistentry>
<listitem><para>Selles kataloogis on erinevat tüüpi failide loomiseks mõeldud mallid. Mall koosneb <literal role="extension">.desktop</literal>-failist, mis kirjeldab faili ja sisaldab viidet failile alamkataloogis <filename class="directory">.source</filename>. Selle kataloogi malle näeb alammenüüs <guimenu>Loo uus</guimenu> töölaual ning failisirvijas. Kui kasutaja valib menüüst malli, kopeeritakse selle lähtefail.</para>
<para>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 <command>lnusertemp</command>:</para>
<listitem><para>Tavaliselt <filename class="directory">/tmp/tdesocket-$<envar>KASUTAJA</envar>/</filename>. Seda kasutatakse erinevate &UNIX; soklite jaoks.</para>
<listitem><para>Tavaliselt <filename class="directory">/var/tmp/tdecache-$<envar>KASUTAJA</envar>/</filename>. Seda kasutatakse puhverdatud failide jaoks.</para>
<para>Et kataloogides <filename class="directory">/tmp</filename> ja <filename class="directory">/var/tmp</filename> 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 <command>lnusertemp</command> uue kataloogi alternatiivse nime ja lingiga.</para>
<title>Konfiguratsioonifailid</title> <para>&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 <acronym>UTF</acronym>-8 kodeeringut, mis lubab laiendada <acronym>ASCII</acronym> võimalusi.</para>
<para>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.</para>
<informalexample><para>Järgnev näide toob ära kahest grupist koosneva seadistustefaili. Esimene grupp sisaldab võtmeid <varname>LargeCursor</varname> ja <varname>SingleClick</varname>, teine grupp võtmeid <varname>Show hidden files</varname> ja <varname>Sort by</varname>:</para>
<para>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:</para>
<informalexample><para>Järgnevas näites algab kirje <varname>Caption</varname> väärtus kahe tühikuga, kirje <varname>Description</varname> sisaldab aga kolme tekstirida. Ridade eraldamiseks kasutatakse längkriipsu abil esitatavaid reavahetusmärke.</para>
<para>Tühje ridu seadistustefailides eiratakse, samuti ridu, mille alguses seisavad trellid (<quote>#</quote>). Viimast kasutatakse enamasti kommentaaride lisamiseks konfiguratsioonifailidesse. Tasub märkida, et kui &kde; rakendus uuendab seadistustefaili, kommentaare <emphasis>ei säilitata</emphasis>.</para>
<para>Erinevate &kde; kataloogipuude alamkataloogis <filename class="directory">share/config</filename> 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 <filename class="directory">$<envar>TDEHOME</envar></filename> seadistustefailid. Kui teatud grupi võti on mitu korda defineeritud ühes ja samas failis, kasutatakse viimase kirje väärtust.</para>
<para>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 <userinput>[$i]</userinput> lisades, ⪚: <programlisting>Color[$i]=blue
<para>Niinimetatud <quote>shelli laiendamise</quote> 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 <token>[$e]</token>. Tavaliselt kirjutatakse laiendatud vorm pärast esimest kasutamist kasutaja konfiguratsioonifaili. Selle vältimiseks on soovitatav seadistuskirje lukustada, lisades selleks võtme järele <token>[$ie]</token>. Sel juhul ei saa muidugi ka kasutaja seda muuta.</para>
<para>Järgnevas näites määratakse kirje <varname>Host</varname> väärtus programmi <command>hostname</command> väljundi põhjal. Tagamaks seda, et väärtus määratakse alati dünaamiliselt, on seadistus ka lukustatud.</para>
<para>Kirje <varname>Email</varname> väärtus määratakse keskkonnamuutujate $<envar>USER</envar> ja $<envar>HOST</envar> väärtuste alusel. Kui kasutaja <systemitem class="username">jaan</systemitem> on ennast loginud süsteemi <systemitem class="systemname">jaani_masin</systemitem>, on tulemuseks väärtus <literal>jaan@jaani_masin</literal>. See seadistus ei ole lukus.</para>
<para>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.</para>
<para>Järgnevas näiteks sõltub kirje <varname>Caption</varname> väärtus keelest. Kui kasutaja on valinud oma keeleks eesti keele (keelekood <literal>et</literal>), on kirje väärtus <quote>Minu pealdis</quote>. Kõigil muudel juhtudel kasutatakse väärtust <quote>My Caption</quote>.</para>
<para>Järgnevas näiteks sõltub kirje <varname>Caption</varname> väärtus keelest. Kui kasutaja on valinud oma keeleks eesti keele (keelekood <literal>et</literal>), on kirje väärtus <quote>Minu pealdis</quote>. Kõigil muudel juhtudel kasutatakse väärtust <quote>My Caption</quote>.</para>
<para>Varasemal ajal ei olnud seadistustefailis esineda võivad kirjed üldjuhul dokumenteeritud. Alates &kde; 3.2 on asi muutunud. Kataloogis <filename class="directory">$<envar>TDEDIR</envar>/share/config.kcfg</filename> leiab failid, mis kirjeldavad seadistustefaili võimalikke kirjeid. Neid kasutab võimaluse korral &kde; uus seadistusteredaktor.</para>
<para>Töötab alati administraatori (<systemitem class="username">root</systemitem>) õigustes! Kasutab faile <filename>$<envar>TDEDIR</envar>/share/config/tdmrc</filename> ja <filename>/etc/X11/xdm/Xservers</filename>. Viimases on umbes sellised kirjed:</para>
<para>&kde; käivitamine algab skriptiga <filename>starttde</filename>. Enamasti kutsub selle välja kuvahaldur (&tdm;) pärast kasutaja autentimist. Skriptis <filename>starttde</filename> on kaks väga tähtsat rida:</para>
<programlisting>LD_BIND_NOW=true tdeinit +kcminit +knotify and kwrapper
<para>Esimene rida käivitab ülemprotsessi <command>tdeinit</command>. Protsessi <command>tdeinit</command> kasutatakse kõigi muude kde; protsesside käivitamiseks. Käsu <command>ps <option>aux</option></command> väljundis näeb seda kujul: <computeroutput>tdeinit: Running...</computeroutput>. Argumendid, mida näeb <command>tdeinit</command>'i järel, on täiendavalt käivitatavate protsesside nimed. Sümbol <token>+</token> tähendab, et <command>tdeinit</command> peab ootama, kuni protsess on lõpetanud. <command>tdeinit</command> käivitab ka protsessid <command>dcopserver</command>, <command>tdelauncher</command> ja <command>kded</command>.</para>
<para>Teine rida annab protsessile <command>tdeinit</command> korralduse käivitada seansihalduri protsess <command>ksmserver</command>. Seansihaldur määrab seansi eluea. Kui protsess töö lõpetab, logitakse kasutaja välja.</para>
<para>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:</para>
<para>Protsess <command>tdeinit</command> käivitab kõik teised &kde; programmid. <command>tdeinit</command> võib käivitada nii tavalisi programmide binaarfaile kui ka <command>tdeinit</command>'i laaditavaid mooduleid (<acronym>KLM</acronym>). <acronym>KLM</acronym>-id töötavad samamoodi nagu programmide binaarfailid, kuid neid saab märksa efektiivsemalt käivitada. <acronym>KLM</acronym>-id paiknevad kataloogis <filename class="directory">$<envar>TDEDIR</envar>/lib/kde3</filename>.</para>
<para>Miinuseks on see, et sel moel käivitatud programme näitab käskude <command>top</command> ja <command>ps</command> väljund kui protsessi <computeroutput><command>tdeinit</command></computeroutput>. Tegeliku programmi nime nägemiseks tuleb seepärast kasutada käsku <command>top <option>-c</option></command> või <command>ps <option>aux</option></command>:</para>
<para><computeroutput>tdeinit: Running...</computeroutput> tähistab ülemprotsessi <command>tdeinit</command>. Ülejäänud protsessid on käivitatud <acronym>KLM</acronym>-idena.</para>
<para><command>tdeinit</command> käivitab esmakordsel käivitumisel protsessid <command>dcopserver</command>, <command>tdelauncher</command> ja <command>kded</command>, samuti kõik muud programmid, mis on määratud skriptiga <command>starttde</command> (tavaliselt <command>kcminit</command> ja <command>knotify</command>).</para>
<para><command>dcopserver</command> on deemon, mis tagab kõigile &kde; rakendustele protsessidevahelise kommunikatsiooni (&DCOP;). &DCOP; on iseenesest kasutatav käsureatööriista <command>dcop</command> abil. &DCOP; on eluliselt vajalik kõigile &kde; rakendustele.</para>
<para><command>kcminit</command> paneb käivitamise ajal tööle initsialiseerimisteenused. Initsialiseerimisteenuseid määratlevad rakenduste või teenuste .desktop-failid real <varname>X-TDE-Init</varname>:</para>
<para>Initsialiseerimisteenuseid kasutatatakse üldjuhul riistvara initsialiseerimisel kasutaja määratud seadistuste põhjal.</para>
<para>Käsuga <userinput><command>kcminit <option>--list</option></command></userinput> saab näha kõiki initsialiseerimisteenuseid ning käsuga <userinput><command>kcminit <replaceable>teenus</replaceable></command></userinput> käivitada konkreetse teenuse. Sellest on abi näiteks käivitamisprobleemide selgitamisel.</para>
<para><command>tdelauncher</command> on deemon, mis vastutab &kde; teenuste aktiveerimise eest. See töötab uute protssesside käivitamisel tihedalt käsikäes ülemprotsessiga <command>tdeinit</command>. &kde; rakendused suhtlevad uute rakenduste või teenuste käivitamiseks <command>tdelauncher</command>'iga &DCOP;-i vahendusel.</para>
<para>Hästi on tuntud veateade: <computeroutput><errortext> TDELauncher could not be reached via DCOP </errortext></computeroutput>, mis osutab kas tõsisele probleemile <command>dcopserver</command>'iga või <command>tdelauncher</command>'i krahhile.</para>
<para><command>tdelauncher</command>'i saab taaskäivitada, kui käivitada <command>tdeinit</command> uuesti konsooliaknast. Igal juhul tasuks eelnevalt kontrollida, et $<envar>HOME</envar>, $<envar>DISPLAY</envar> ja mitmesugused muutujad $<envar>TDEDIR(S)</envar> on korrektselt määratud!</para>
<para><command>ksmserver</command> on &kde; seansihaldur. Käivitamisel paneb seansihaldur tööle automaatselt käivitatavad rakendused ja taastab eelnenud seansi rakendused. Automaatselt käivitatavaid rakendusi tähistavad <literal role="extension">.desktop</literal>-failid kataloogis <filename class="directory">$<envar>TDEDIR</envar>/share/autostart</filename>. Selle, kas rakendus automaatselt käivitada või mitte, saab määrata vastava tingimusega kirje <varname>X-TDE-autostart-condition</varname> näol <literal role="extension">.desktop</literal>-failis.</para>
<para>See tähendab, et konfiguratsioonifailis <filename>ktiprc</filename> kontrollitakse kirje <varname>RunOnStart</varname> olemasolu sektsioonis <varname>[TipOfDay]</varname>. Kui sellist kirjet pole, võetakse tingimuse väärtuseks 'tõene' (<literal>true</literal>), mis tähendab, et <application>ktip</application> on üks automaatselt käivitatavaid rakendusi.</para>
<para><command>kdesktop</command> käivitab omakorda rakendused, mis leiduvad kataloogis <filename class="directory">$<envar>TDEHOME</envar>/Autostart</filename>. <command>kdesktop</command> avab automaatselt kõik selles kataloogis leiduvad failid, kaasa arvatud dokumendid, binaarfailid või rakendused <literal role="extension">.desktop</literal>-failide kujul.</para>
<para>&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 <filename>ksmserverrc</filename>, mis sisaldab viiteid rakendusespetsiifilisele olekuinfole. Viimane on salvestatud kataloogi <filename class="directory">$<envar>TDEHOME</envar>/share/config/session</filename>. &twin;'i olekuinfo sisaldab kõigi rakenduste akende olekuinfot varasemas seansis. </para>
<listitem><para>Peab olema määratud, kui ei ole määratud <envar>TDEDIRS</envar>, ning viitama &kde; paigalduspuu juurele. Võimaldab &kde;-l leida oma andmeid, näiteks ikoone, menüüsid ja teeke.</para>
<listitem><para>Tühistab muutuja <envar>TDEDIR</envar> 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;.</para>
<varlistentry><term><envar>$TDEHOME</envar></term><listitem><para>Kui pole määratud, kasutab &kde; kataloogi <filename class="directory">~/.trinity</filename> kataloogina, kuhu salvestada personaalsed andmed.</para>
<varlistentry><term>$<envar>TDEROOTHOME</envar></term><listitem><para>Kui pole määratud, kasutab &kde; kataloogi <filename class="directory">~root/.trinity</filename> kataloogina, kuhu salvestada administraatori (<systemitem class="username">root</systemitem>) 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 <command>su</command> endale administraatori (<systemitem class="username">root</systemitem>) õiguste võtmist.</para>
<varlistentry><term>$<envar>TDEWM</envar></term><listitem><para>Kui keskkonnamuutuja <envar>TDEWM</envar> on määratud, kasutatakse seda &twin;'i asemel &kde; aknahaldurina <command>starttde</command> skriptis.</para>
<varlistentry><term>$<envar>TDE_LANG</envar></term><listitem><para>Tühistab &kde; keeleseadistuse, ⪚ <userinput>TDE_LANG=fr kprogram &</userinput> käivitab programmi prantsuskeelse tõlkega, kui vajalikud failid on paigaldatud.</para>
<varlistentry><term>$<envar>TDE_MULTIHEAD</envar></term><listitem><para>Kui anda sellele muutujale väärtuseks <literal>true</literal> (tõene), siis tähendab see, et &kde; töötab multihead-süsteemis.</para>
<listitem><para>(Alates &kde; 3.2.3) Selle muutuja määramisega saab <acronym>TDEIO</acronym>-moodulid panna lähtuma otseselt rakenduse protsessist. Vaikimisi käivitab <acronym>TDEIO</acronym>-moodulid <command>tdelauncher</command>/<command>tdeinit</command>. See on abiks, kui <acronym>TDEIO</acronym>-moodul peab töötama samas keskkonnas rakendusega. Nii on näiteks rakenduse <application>Clearcase</application> puhul.</para>
<varlistentry><term>$<envar>TDE_NO_IPV6</envar></term><listitem><para>(Alates &kde; 3.2.3) Selle muutuja määramisega saab keelata <acronym>IPv6</acronym> toetuse ja <acronym>IPv6</acronym> <acronym>DNS</acronym>-otsingud.</para>
<varlistentry><term>$<envar>TDE_IS_PRELINKED</envar></term><listitem><para>(Alates &kde; 3.2) Selle muutuja määramisel on &kde; binaarfailid ja teegid eellingitud. See lülitab protsessi <command>tdeinit</command> välja.</para>
<varlistentry><term>$<envar>TDE_UTF8_FILENAMES</envar></term><listitem><para>Selle keskkonnamuutuja määramisel eeldab &kde;, et kõik failinimed on sõltumata aktiivsest lokaadist <acronym>UTF-8</acronym> kodeeringus.</para>
<varlistentry><term>$<envar>TDE_FULL_SESSION</envar></term><listitem><para>(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öö (⪚ &tdesu; teeb seda, see on kasuks ka silumisel).</para>
<varlistentry><term>$<envar>TDESYCOCA</envar></term><listitem><para>Võimaldab määrata genereeritud &kde; süsteemse konfiguratsiooni puhvrifaili asukoha ja nime.</para>
<varlistentry><term>$<envar>TDETMP</envar></term><listitem><para>Võimaldab määrata <filename class="directory">/tmp</filename> asemel muu asukoha, kuhu &kde; salvestab oma ajutisi faile.</para>
<varlistentry><term>$<envar>TDEVARTMP</envar></term><listitem><para>Võimaldab määrata <filename class="directory">/var/tmp</filename> asemel muu asukoha, kuhu &kde; salvestab oma muutuvaid faile.</para>
<varlistentry><term>$<envar>XDG_DATA_HOME</envar></term><listitem><para>(Alates &kde; 3.2) Määrab baaskataloogi, mille suhtes salvestatakse kasutajaspetsiifilised andmefailid. Vaikimisi on <filename class="directory">$<envar>HOME</envar>/.local/share</filename>.</para>
<varlistentry><term>$<envar>XDG_DATA_DIRS</envar></term><listitem><para>(Alates &kde; 3.2) Määrab eelistuse järjekorras kataloogid, kust otsitakse andmefaile lisaks <filename class="directory">$<envar>XDG_DATA_HOME</envar></filename> baaskataloogile. Vaikimisi <literal>/usr/local/share/:/usr/share/</literal>.</para>
<para>&kde; lisab omalt poolt ka $<envar>TDEDIRS</envar> ja profiilide asukohad. Kasutatakse <literal role="extension">.desktop</literal>- ja <literal role="extension">.directory</literal>-menüüfailide jaoks. <literal role="extension">.desktop</literal>-failid on kataloogis <filename class="directory">$<envar>XDG_DATA_DIRS</envar>/applications</filename>. <literal role="extension">.directory</literal>.failid on kataloogis $XDG_DATA_DIRS/desktop-directories. </para>
<varlistentry><term>$<envar>XDG_CONFIG_HOME</envar></term><listitem><para>(Alates &kde; 3.2) Määrab baaskataloogi, mille suhtes salvestatakse kasutajaspetsiifilised seadistustefailid. Vaikimisi on <filename class="directory">$<envar>HOME</envar>/.config</filename>.</para>
<varlistentry><term>$<envar>XDG_CONFIG_DIRS</envar></term><listitem><para>(Alates &kde; 3.2) Määrab eelistuse järjekorras kataloogid, kust otsitakse seadistustefaile lisaks <filename class="directory">$<envar>XDG_CONFIG_HOME</envar></filename> baaskataloogile. Vaikimisi <filename class="directory">/etc/xdg</filename>. &kde; lisab omalt poolt ka $<envar>TDEDIRS</envar> ja profiilide asukohad. Kasutatakse <literal role="extension">.menu</literal>- kirjelduste jaoks kataloogis <filename class="directory">$<envar>XDG_CONFIG_DIRS</envar>/menus</filename>. </para>
<para><command>tdeinit</command> käivitab kõik teised &kde; programmid. <command>tdeinit</command> võib käivitada nii tavalisi programmide binaarfaile kui ka <command>tdeinit</command>'i laaditavaid mooduleid (<acronym>KLM</acronym>). <acronym>KLM</acronym>-id töötavad samamoodi nagu programmide binaarfailid, kuid neid saab märksa efektiivsemalt käivitada. <acronym>KLM</acronym>-id paiknevad kataloogis <filename class="directory">$<envar>TDEDIR</envar>/lib/kde3</filename>.</para>
<para>Miinuseks on see, et sel moel käivitatud programme näitab käskude <command>top</command> ja <command>ps</command> väljund kui protsessi <computeroutput><command>tdeinit</command></computeroutput>. Tegeliku programmi nime nägemiseks tuleb seepärast kasutada käsku <command>top <option>-c</option></command> või <command>ps <option>aux</option></command>:</para>
<screen><prompt>%</prompt> <userinput><command>ps aux | grep bastian</command></userinput>
<computeroutput>kdesktop: no process killed</computeroutput></screen>
<para>Mõistagi on sel juhul ahvatlev kasutada käsku <userinput><command>killall tdeinit</command></userinput>, aga kõigi tdeinit'i protsesside tapmine tähendab tegelikult kogu &kde; töö lõpetamist. Totaalset hävitamist niisiis!</para>
<para>Sellest aitab üle kaks lihtsat lahendust:</para>
<para>Veebisaitide lingid <literal role="extension">.desktop</literal>-faili kasutades: <menuchoice><guimenu>Loo uus</guimenu><guisubmenu>Fail</guisubmenu><guimenuitem>Viit asukohale (URL)</guimenuitem></menuchoice>. Ikooni saab muuta dialoogis <guilabel>Omadused</guilabel>. Tulemuseks on <literal role="extension">.desktop</literal>-fail: <programlisting>[Desktop Entry]
<para>Rakenduste lingid <literal role="extension">.desktop</literal>-faili kasutades: <menuchoice><guimenu>Loo uus</guimenu><guisubmenu>Fail</guisubmenu><guimenuitem>Viit rakendusele</guimenuitem></menuchoice>. Üksikasjad tuleb ise anda. Lohistamine &kde; menüüst: kas kopeerimine või linkimine (palju lihtsam).</para>
<para>&kde; 3.2 võttis kasutusele ühtse menüüvormingu (<ulink url="http://freedesktop.org/Standards/menu-spec/">http://freedesktop.org/Standards/menu-spec/</ulink>).</para>
<para><literal role="extension">.menu</literal>-failid kirjeldavad menüüstruktuuri. Need on salvestatud kataloogidesse <filename class="directory">$<envar>TDEDIR</envar>/etc/xdg/menus</filename> ja <filename class="directory">/etc/xdg/menus</filename>. Sinna on salvestatud süsteemne menüüstruktuur, mida kontrollib $<envar>XDG_CONFIG_DIRS</envar>. <filename class="directory">$<envar>HOME</envar>/.config/menus</filename> salvestab kasutajate muudatused menüüstruktuuri, seda kontrollib $<envar>XDG_CONFIG_HOME</envar>. Täpsemalt räägib sellest <ulink url="http://www.freedesktop.org/Standards/basedir-spec">http://www.freedesktop.org/Standards/basedir-spec</ulink>.</para>
<para><literal role="extension">.desktop</literal>-failid kirjeldavad rakendusi ja on salvestatud kataloogidesse <filename class="directory">$<envar>TDEDIR</envar>/share/applications</filename>, <filename class="directory">/usr/share/applications</filename>, <filename class="directory">/usr/local/share/applications</filename>. Need on süsteemsed rakenduste <literal role="extension">.desktop</literal>-failid, mida kontrollib $<envar>XDG_DATA_DIRS</envar>.</para>
<para><filename class="directory">$<envar>HOME</envar>/.local/applications</filename> sisaldab kasutajaspetsiifilisi <literal role="extension">.desktop</literal>-faile ja kasutajaspetsiifilisi muudatusi. Seda kontrollib $<envar>XDG_DATA_HOME</envar>. Täpsemalt räägib sellest <ulink url="http://www.freedesktop.org/Standards/basedir-spec">http://www.freedesktop.org/Standards/basedir-spec</ulink>.</para>
<para><literal role="extension">.directory</literal>-failid kirjeldavad alammenüüsid ja on salvestatud kataloogidesse <filename class="directory">$<envar>TDEDIR</envar>/share/desktop-directories</filename>, <filename class="directory">/usr/share/desktop-directories</filename>, <filename class="directory">/usr/local/share/desktop-directories</filename>. Need on süsteemsed menüüde <literal role="extension">.directory</literal>-failid, mida kontrollib $<envar>XDG_DATA_DIRS</envar>. Kasutajaspetsiifilised muudatused on salvestatud kataloogi <filename class="directory">$<envar>HOME</envar>/.local/desktop-directories</filename>. Neid kontrollib $<envar>XDG_DATA_HOME</envar>. Täpsemalt räägib sellest <ulink url="http://www.freedesktop.org/Standards/basedir-spec">http://www.freedesktop.org/Standards/basedir-spec</ulink>.</para>
<para><literal>Art</literal> on menüü sisemine nimi. <filename>suse-edutainment-art.directory</filename> määrab menüü nime ja ikooni ning see menüü sisaldab kõiki rakendusi, mille kategooriaks on <literal>X-SuSE-Art</literal>, ⪚: <programlisting>Categories=Qt;TDE;Education;X-SuSE-Art
</programlisting></para>
<para><filename>suse-edutainment-art.directory</filename> määrab selle menüü nime ja ikooni: <programlisting>[Desktop Entry]
<para>Rakendusi, mida <emphasis>ei ole</emphasis> menüüs, <emphasis>ei ole</emphasis> olemas ka teiste rakenduste või failiseoste jaoks: kui eemaldad rakenduse menüüst, eeldab &kde; et sa ei soovi seda kasutada.</para>
<para>Kui sa ei soovi rakendust menüüs näha, sea nad menüüsse <filename>.hidden</filename> või spetsiaalsesse menüüsse võtmega <programlisting>
<para><filename class="directory">$<envar>TDEDIR</envar>/etc/xdg/menus/applications-merged/</filename> sisaldab faili <filename>kde-essential.menu</filename>, mis sisaldab teatud olulisi menüüsid, mida tavaliselt &kde; menüüs endas ei näidata: <itemizedlist>
<listitem><para>Juhtimiskeskusel on peidetud menüü Seadistused, mille sisu määrab <filename>kde-settings.menu</filename> ja mille ikooni ja nime määrab <filename>kde-settings.directory</filename></para>
<listitem><para>Infokeskusel on peidetud menüü Informatsioon, mille sisu määrab <filename>kde-information.menu</filename> ja mille ikooni ja nime määrab <filename>kde-information.directory</filename></para>
<listitem><para>Ekraanisäästjatel on peidetud menüü Süsteem/Ekraanisäästjad, mille sisu määrab <filename>kde-screensavers.menu</filename> ja mille ikooni ja nime määrab <filename>kde-system-screensavers.directory</filename>. <filename>$<envar>TDEDIR</envar>/share/desktop-directories/kde-system-screensavers.directory</filename> sisaldab: <programlisting>NoDisplay=true
<para>&kde; toetab endiselt ka vanas stiilis menüüsid, mille puhul kataloogistruktuur on määratud kataloogides <filename class="directory">$<envar>TDEDIR</envar>/share/applnk</filename> (süsteemne) ja <filename class="directory">$<envar>HOME</envar>/.trinity/share/applnk</filename> (kasutajaspetsiifiline). Seda järgitakse juhul, kui <literal role="extension">.desktop</literal>-failis ei ole <varname>Categories</varname>= rida. Sel juhul määravad kategooriad asukoha menüüs.</para>
<para><application>KSycoca</application> puhverdab menüüstruktuuri ja info kõigi saadaolevate rakenduste kohta. Andmebaasi saab värskendada programmiga <userinput><command>tdebuildsycoca</command></userinput>. Andmebaasi enda asukoht on <filename class="directory">/var/tmp/tdecache-${<envar>USER</envar>}/tdesycoca</filename>. Seda uuendab automaatselt <application>KDED</application>, seda kontrollitakse &kde; sisselogimise ajal ning seansi ajal jälgib seda <application>KDED</application>, </para>
<para>Muudatuste jälgimise keelamiseks (see võib tekitada probleeme näiteks NFS-i kasutamisel) lisa järgmine rida faili <filename>kdedrc</filename>: <programlisting>[General]
<para>&kmenuedit; on mõeldud üksikkasutaja vajaduste rahuldamiseks. Menüüstruktuuri muudatusi salvestab <filename>~/.config/menus/applications-tdemenuedit.menu</filename>, rakenduste muudatusi <filename class="directory">~/.local/share/applications/</filename> ja alammenüüde (ikoon, nimi) muudatusi <filename class="directory">~/.local/share/desktop-directories/</filename>. KIOSK'i haldur kasutab &kmenuedit;'it ning kopeerib mainitud muudatused profiili- või süsteemsetesse asukohtadesse. </para>
<para>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 <filename class="directory">$<envar>TDEDIR</envar>/share/mimelnk</filename> ning iga rakenduse <literal role="extension">.desktop</literal>-fail sisaldab &MIME; tüüpide nimekirja, mida antud rakendus toetab.</para>
<para>Kasutaja saab muuta failiseoseid &juhtimiskeskus;es. Muudatused salvestatakse faili <filename>$<envar>HOME</envar>/.trinity/share/config/profilerc</filename>. Sama seadistuse kasutamiseks enam kui ühe kasutaja jaoks tuleb see salvestada kasutaja profiili kataloogi või globaalsesse &kde; konfiguratsioonifailide kataloogi.</para>
<para>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.</para>
<note><para>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.</para></note>
<para>&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 <action>Salvesta document</action>. Toimingu sisemist nime teades saab sellele piiranguid seada. Kui toiming on piiratud, ei näe seda enam menüü- või tööriistaribal. Toimingu <action>Salvesta document</action> sisemine nimi on <option>action/file_save</option>. Lukustamisraamistik pakub ka abstraktsemaid piiranguid, millega saab keelata funktsioone, mis hõlmavad mitut toimingut. Selle näiteks on toimingu <option>shell_access</option> piirang, mis keelab igasuguse funktsionaalsuse, mis võimaldaks kasutajal tarvitada &UNIX; shelli.</para>
<para>Täieliku dokumentatsiooni saadaolevate toimingute kohta toob ära <ulink url="http://www.kde.org/areas/sysadmin/">http://www.kde.org/areas/sysadmin/</ulink>.</para>
<listitem><para>Peidab kõik toimingud või rakendused, mis nõuavad administraatori (<systemitem class="username">root</systemitem>) õigusi.</para></listitem>
<para>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.</para>
<callout arearefs="url_rule1"><para><option>rule_1</option> keelab igasuguse http või https &URL;-i avamisel</para></callout>
<callout arearefs="url_rule2"><para><option>rule_2</option> lubab igasuguse http ja https &URL;-i avamist domeenis <systemitem class="domainname">.meiefirma.ee</systemitem>. Pane tähele, et metamärk <token>*</token> on lubatud ainult domeeni alguses.</para></callout>
<para>Järgmised reeglid määravad, et kasutaja ei saa enam sirvida katalooge kohalikus failisüsteemis, mis asuvad väljaspool tema $<envar>HOME</envar> kataloogi:</para>
<callout arearefs="home_rule1"><para><option>rule_1</option> keelab sisenemise igasugusesse kohalikku kataloogi</para></callout>
<callout arearefs="home_rule2"><para><option>rule_2</option> lubab siseneda kataloogidesse, mis kujutavad endast kasutaja $<envar>HOME</envar> kataloogi alamkatalooge.</para></callout>
<para>$<envar>HOME</envar> ja $<envar>TMP</envar> on spetsiaalsed väärtused, mis tähistavad kasutaja kodukataloogi ja kasutaja &kde; ajutiste failide kataloogi, ⪚ <filename class="directory">/tmp/tde-bastian</filename>.</para>
<para>Järgmised reeglid määravad, et kasutaja ei saa avada kohalikke faile, mis pole tema $<envar>HOME</envar> kataloogis:</para>
<callout arearefs="local_rule1"><para><option>rule_1</option> keelab igasuguste kohalike failide avamise</para></callout>
<callout arearefs="local_rule2"><para><option>rule_2</option> lubab avada kasutajale kuuluvaid faile tema $<envar>HOME</envar> kataloogis.</para></callout>
<callout arearefs="local_rule3"><para><option>rule_3</option> 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.</para></callout>
<para>Ü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.</para>
<para>Kui näiteks soovid anda intranetiserverile <systemitem class="systemname">www.minufirma.ee</systemitem> võimaluse viidata kohalikele failidele, võid lisada järgmise reegli:</para>
<para>Info protokollide kohta on talletatud <literal role="extension">*.protocol</literal>-failides kataloogis <filename class="directory">$<envar>TDEDIR</envar>/share/services</filename>.</para>
<para>Kirje <option>Class</option>= defineerib grupi, kuhu protokoll kuulub: <userinput><command>grep</command> <option>Class=</option> <filename>$<envar>TDEDIR</envar>/share/services/*.protocol</filename></userinput></para>
<para>&kde; kasutab seadistusmooduleid &kde; keskkonna mitmesuguste aspektide seadistamiseks. Seadistusmooduleid näeb juhtimiskeskuses, rakenduse seadistusdialoogis või mõlemal pool.</para>
<para>Puhverserveri seadistusmoodul on juhtimiskeskuses, kuid kuulub ka &konqueror;i dialoogi <guilabel>Konquerori seadistamine</guilabel> koosseisu.</para>
<para>Konkreetseid seadistusmooduleid saab käivitada käsuga <command>tdecmshell</command> <replaceable>moodul</replaceable></para>
<para>Puhveserveri mooduli käivitamiseks anna käsk:</para>
<para>Moodulitel, mida näeb juhtimiskeskuses, on üldjuhul <literal role="extension">.desktop</literal>-fail kataloogis <filename class="directory">$<envar>TDEDIR</envar>/share/applications/kde</filename> ning need seab peidetud menüüsse <guimenu>Settings-Modules</guimenu> <filename>kde-settings.menu</filename> ja on kaasatud failist <filename>kde-essential.menu</filename>.</para>
<para>Rakendusespetsiifilistel moodulitel on üldjuhul <literal role="extension">.desktop</literal>-fail kataloogis <filename>$<envar>TDEDIR</envar>/share/applnk/.hidden</filename>, mis vastab peidetud menüüle .hidden ja on kaasatud <markup><KDELegacyDirs/></markup> tulemusel.</para>
<listitem><para>Alates &kde; 3.3 on juhtimiskeskust võimalik redigeerida rakendusega <application>kcontroledit</application>. <application>kcontroledit</application> töötab samamoodi nagu <application>kmenuedit</application>, muudatused kehtivad ainult aktiivsele kasutajale. Muudatuste kehtestamiseks kõigile kasuta rakendust <application>kiosktool</application>.</para></listitem>
<para>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</para>
<para>&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.</para>
<para>Sisenevate ühendustega tegeleb KDED kinetd-moodul. Nägemaks, kas see töötab, anna käsk <userinput><command>dcop</command> kded kinetd services</userinput>. &krfb; ootab vaikimisi ühendusi pordis 5900. Kui saabub sisenev ühendus, ilmub dialoog, mis pärib, kas aktiivne kasutaja soovib seda lubada.</para>
<para>Töölaua kommunikatsiooni protokoll <acronym>DCOP</acronym> (Desktop COmmunication Protocol) on lihtne protsessidevahelise suhtlemise mehhanism. <acronym>DCOP</acronym> võimaldab kasutajal suhelda parajasti töötavate programmidega. &kde; pakub kaht programmi <acronym>DCOP</acronym>-i kasutamiseks: käsureaprogramm <application>dcop</application> ja graafilise kasutajaliidesega <application>kdcop</application>. </para>
<para>Mõned märkused <command>dcop</command>'i kasutamise kohta: </para>
<para>Regulaaravaldise elementi * saab kasutada rakenduse ja objekti argumentides. <screen><prompt>% </prompt><userinput><command>dcop</command><option> kon*</option></userinput>
<subtitle>&kde; oma kätega - iseenda tööriistade loomine</subtitle>
<para>&kde; dialooge võib tööle panna ka omaenda skriptidega, mis võimaldab ühendada &UNIX; shelli skriptivõimalused &kde; kasutamishõlpsusega.</para>
<screen><userinput><command>kdialog</command> <option>--msgbox 'Sulle on uus kiri!'</option></userinput></screen>
<screen><userinput><command>kdialog</command> <option>--title 'Uus kiri'</option> <option>--msgbox 'Sulle on uus kiri!'</option></userinput></screen>
<para><application>KDialog</application>'i komponendi võib asendada võtit <option>--caption</option> kasutades</para>
<screen><userinput><command>kdialog</command> <option>--title 'Uus kiri'</option> <option>--msgbox 'Sulle on uus kiri!'</option> <option>--dontagain minufail:minuvoti</option></userinput></screen>
<para>Salvestab selle, kas uuesti näidata, faili <filename>$<envar>TDEHOME</envar>/share/config/minufail</filename>, kirjutades sinna järgmised read:</para>
<para>Võtme <option>--msgbox</option> asemel võib vajaduse korral kasutada võtmeid <option>--sorry</option> ja <option>--error</option>. Näide: <command>kdialog</command> <option>--sorry 'Võrk ei ole kättesaadav'</option> või <command>kdialog</command> <option>--error 'Postkasti avamine ebaõnnestus'</option>.</para>
<para>Samuti võib luua teatekaste, milles saab anda jaatava või eitava vastuse.</para>
<screen><command>kdialog</command> <option>--yesno 'Kas luua
<para>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 <option>--dontagain</option>, mis jätab meelde kasutaja valiku ning tagastab selle järgmistel kordadel, näitamata enam dialoogi.</para>
<screen><command>kdialog</command> <option>--inputbox "Sisesta oma nimi:" "SinuNimi"</option></screen>
<para>Tulemus saadetakse standardväljundisse (stdout), et edastada see muutujale, mida saab kasutada kujul <userinput>name=$(kdialog --inputbox "Sisesta oma nimi:" "SinuNimi")</userinput>. Viimane argument pole kohustuslik, sellega saab lihtsalt dialoogis väärtuse juba ette anda.</para>
<screen><userinput><varname>city</varname>=$(<command>kdialog</command> <option>--menu "Vali linn" a London b Madrid c Pariis d Berliin</option>)</userinput></screen>
<para><varname>$city</varname> on <returnvalue>a</returnvalue>, <returnvalue>b</returnvalue>, <returnvalue>c</returnvalue> või <returnvalue>d</returnvalue>.</para>
<screen><userinput><varname>city</varname>=$(<command>kdialog</command> <option>--checklist "Vali linnad" a London off b Madrid on c Pariis on d Berliin off</option>)</userinput></screen>
<para>Madrid ja Pariis on eelnevalt ära valitud. Tulemus valitud Madridi ja Pariisiga on <returnvalue>"b"</returnvalue> <returnvalue>"c"</returnvalue>.</para>
<para>Kui lisada võti <option>--separate-output</option>, seatakse <returnvalue>b</returnvalue> ja <returnvalue>c</returnvalue> eraldi ridadele, mis muudab tulemuse töötlemise lihtsamaks.</para>