<part id="kde-for-administrators">
<partinfo>
<authorgroup>
<author
><personname
><firstname
>Валдо</firstname
><surname
>Бастијан (Waldo Bastian)</surname
></personname
> <email
>bastian@kde.org</email
> </author>
<othercredit role="reviewer"
><personname
><firstname
>Филип</firstname
><surname
>Родригез (Philip Rodrigues)</surname
></personname
> <email
>phil@kde.org</email
> </othercredit>
</authorgroup>
</partinfo>

<title
><acronym
>КДЕ</acronym
> за администраторе</title>

<chapter id="kde-internals">
<title
>Изнутрице <acronym
>КДЕ‑а</acronym
></title>

<sect1 id="kde-for-admins-overview">
<title
>Преглед</title>
<para
>треба да се напише</para>
</sect1>

<sect1 id="directory-layout">
<title
>Распоред фасцикли</title>

<para
><acronym
>КДЕ</acronym
> дефинише хијерархију фајл система коју користи уже окружење <acronym
>КДЕ‑а</acronym
> као и сви <acronym
>КДЕ</acronym
> програми. Уопштено, <acronym
>КДЕ</acronym
> складишти све своје фајлове у стаблу фасцикли са утврђеном структуром. </para>

<para
><acronym
>КДЕ</acronym
> подразумевано користи два стабла фасцикли:</para>

<itemizedlist>
<listitem
><para
>Једно на нивоу система (на пример <filename class="directory"
>/opt/kde3</filename
>).</para
></listitem>
<listitem
><para
>Једно на нивоу корисника у његовој домаћој фасцикли (обично <filename class="directory"
> ~/.kde</filename
>)</para
></listitem>
</itemizedlist>

<para
>У својству администратора система, можете стварати додатна стабла. Таква додатна стабла могу се користити за <link linkend="user-profiles"
>профиле</link
></para>

<informalexample
><para
>Линукс СуСЕ, на пример, користи:</para>

<itemizedlist>
<listitem
><para
><filename
class="directory"
>$<envar
>HOME</envar
>/.kde</filename
></para
></listitem>
<listitem
><para
><filename class="directory"
>/opt/kde3</filename
>. (Ово је типично за СуСЕ — друге дистрибуције могу користити <filename class="directory"
>/usr</filename
> или <filename class="directory"
>/usr/kde3</filename
>)</para
></listitem>
<listitem
><para
><filename class="directory"
>/etc/opt/kde3</filename
>. (Ово су додали у СуСЕу.)</para
></listitem>
</itemizedlist>

<para
>Ако имате инсталирану Админ-алатка Киоска, верзију 0.7 или новију, можете проверити која се стабла фасцикли користе следећом наредбом: <userinput
><command
>kiosktool-kdedirs</command
> <option
>--check</option
></userinput
></para>
</informalexample>

<para
><acronym
>КДЕ</acronym
> и <acronym
>КДЕ</acronym
> програми траже фајлове скенирањем свих <acronym
>КДЕ‑ових</acronym
> стабала фасцикли. Стабла фасцикли проверавају се по редоследу првенства. Ако је фајл присутан у неколико стабала, предност има последње стабло. Највеће првенство обично има стабло смештено у корисниковој домаћој фасцикли. Ово је и стабло фасцикли у које се уписују измене.</para>

<informalexample>
<para
>За информације о МИМЕ типу <literal
>text/plain</literal
>, претражују се следећи фајлови:</para>

<itemizedlist>
<listitem
><para
><filename
class="directory"
>$<envar
>HOME</envar
>/.kde/share/mimelnk/text/plain.desktop</filename
></para
></listitem>
<listitem
><para
><filename
class="directory"
>/opt/kde3/share/mimelnk/text/plain.desktop</filename
></para
></listitem>
<listitem
><para
><filename
class="directory"
>/etc/opt/kde3/share/mimelnk/text/plain.desktop</filename
></para
></listitem>
</itemizedlist>

<para
>Ако корисник направи измену, она се уписује у <filename class="directory"
>$<envar
>HOME</envar
>/.kde/share/mimelnk/text/plain.desktop</filename
></para>
</informalexample>

<para
>За поставне фајлове се прича незнатно разликује. Ако се у стаблима фасцикли нађе више истоимених поставних фајлова, њихов садржај се комбинује. Овде игра улогу редослед првенства. Кад два фајла дефинишу исти поставни кључ, фајл са највећим првенством одређује која се вредност користи за кључ.</para>

<informalexample
><para
>Ако, на пример, постоје следећа два фајла са садржајима:</para>
<variablelist>
<varlistentry
><term
><filename
>$<envar
>HOME</envar
>/.kde/share/config/foobar</filename
></term>
<listitem
><programlisting
>Color=red
Shape=circle
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename
>/etc/opt/kde3/share/config/foobar</filename
></term>
<listitem
><programlisting
>Color=blue
Position=10,10
</programlisting>
</listitem>
</varlistentry>
</variablelist>

<para
>Фајлови ће бити стопљени и произвести:</para>

<programlisting
>Color=red
Shape=circle
Position=10,10
</programlisting>

</informalexample>
</sect1>

<sect1 id="specifying-directories">
<title
>Задавање фасцикли</title>

<para>

<segmentedlist>
<segtitle
>Променљива окружења</segtitle>
<segtitle
>Примери поставки</segtitle>
<segtitle
>Коментар</segtitle>

<seglistitem>
<seg
><envar
>KDEHOME</envar
></seg>
<seg
><filename class="directory"
>~/.kde</filename
></seg>
<seg
></seg>
</seglistitem>

<seglistitem>
<seg
><envar
>KDEROOTHOME</envar
></seg>
<seg
><filename class="directory"
>/root/.kde</filename
></seg>
<seg
>Различита променљива да спречи писање корена у $<envar
>KDEHOME</envar
> корисника по извршавању <command
>su</command
>.</seg>
</seglistitem>

<seglistitem>
<seg
><envar
>KDEDIR</envar
></seg>
<seg
><filename class="directory"
>/opt/kde3</filename
>, <filename class="directory"
>/usr</filename
>, <filename class="directory"
>/usr/kde3</filename
></seg>
<seg
>Зависи од издавача. Користи је <acronym
>КДЕ</acronym
> 2. Ако није постављена, спада на уграђено подразумевано.</seg>
</seglistitem>

<seglistitem>
<seg
><envar
>KDEDIRS</envar
></seg>
<seg
><filename class="directory"
>/opt/kde3</filename
>, <filename class="directory"
>/usr</filename
>, <filename class="directory"
>/usr/kde3</filename
></seg>
<seg
>Нова у <acronym
>КДЕ‑у</acronym
> 3. Може да набраја вишеструке локације, раздвојене двотачком. Ако није постављена, спада на $<envar
>KDEDIR</envar
></seg>
</seglistitem>

</segmentedlist>
</para>
<para
>Не <emphasis
>мора</emphasis
> да се поставља, фино раде и подразумеване.</para>
<para
>Радите с <acronym
>КДЕ‑ом</acronym
> 2 поред <acronym
>КДЕ‑а</acronym
> 3? Уперите $<envar
>KDEDIR</envar
> на <acronym
>КДЕ</acronym
> 2, а $<envar
>KDEDIRS</envar
> на <acronym
>КДЕ</acronym
> 3.</para>

<informalexample>
<para
>Запослени на универзитету могао би имати следеће поставке:</para>
<programlisting
>KDEHOME='~/.kde3'
KDEROOTHOME='/root/.kde3'
KDEDIRS='/opt/kde_staff:/opt/kde3'
</programlisting>

</informalexample>

</sect1>

<sect1 id="user-profiles">
<title
>Кориснички профили</title>

<para
>У претходном примеру, у <filename class="directory"
>/opt/kde_staff</filename
> садржане су додатне поставке и програми за особље. Кориснички профили вам омогућавају додавање ове фасцикле само за неке кориснике, а не за остале. Фајлу <filename
>/etc/kderc</filename
> додајте ово:</para>

<programlisting
>[Directories-staff]
префикси=/opt/kde_staff
</programlisting>

<para
>Ово ствара профил по имену <literal
>staff</literal
> који додаје стабло фасцикли <filename class="directory"
>/opt/kde_staff</filename
>. (СуСЕ користи <filename
>/etc/kde3rc</filename
> уместо <filename
>/etc/kderc</filename
>). Сад кад имамо именовани профил, он се може доделити корисницима.</para>

<para
>Да бисмо мапирали профиле корисницима, треба задати мапирајући фајл у <filename
>/etc/kderc</filename
>:</para>

<programlisting
>[Directories]
userProfileMapFile=/etc/kde-user-profile 
</programlisting>

<para
>Сада је могуће доделити профил на основу или корисничког имена или уникс групе којој корисник припада.</para
> 

<para
>За доделу профила особља свим корисницима који су чланови уникс групе <literal
>staff_members</literal
>, додајте следеће фајлу <filename
>/etc/kde-user-profile</filename
>:</para>

<programlisting
>[General]
groups=staff_members
[Groups]
staff_members=staff
</programlisting>

<para
>Профил је могуће доделити и појединачном кориснику:</para>

<programlisting
>[Users]
bastian=staff
</programlisting>

</sect1>

<sect1 id="directory-layout-revisited">
<title
>Још једном о распореду фасцикли</title>

<para
>Свако стабло фасцикли које <acronym
>КДЕ</acronym
> користи има утврђену структуру фасцикли. Фасцикле које нису битне за одређено стабло, или се просто не користе, могу се пак изоставити. На пример, фасцикле за привремене фајлове обично се могу наћи само под <filename class="directory"
>$<envar
>KDEHOME</envar
></filename
>, али не у било ком другом стаблу фасцикли.</para>

</sect1>

<sect1 id="architecture-specific-directories">
<title
>Архитектури својствене фасцикле</title>

<para
>Архитектури својствене фасцикле (тип ОС‑а или ЦПУ‑а): </para>

<variablelist>
<varlistentry>
<term
><filename class="directory"
>bin</filename
></term>
<listitem
><para
>Користи се за извршне фајлове <acronym
>КДЕ‑а</acronym
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>lib</filename
></term>
<listitem
><para
>Користи се за библиотеке <acronym
>КДЕ‑а</acronym
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>lib/kde3</filename
></term>
<listitem
><para
>Ова фасцикла садржи компоненте, прикључке и друге објекте учитљиве за извршавања које користе <acronym
>КДЕ</acronym
> програми. </para
></listitem
> 
</varlistentry>
</variablelist>

</sect1>

<sect1 id="shared-directories">
<title
>Дељене фасцикле</title>

<para
>Дељене: које нису архитектури својствене, већ се могу делити између различитих.</para>

<variablelist>
<varlistentry>
<term
><filename class="directory"
>share/applnk</filename
></term>
<listitem
><para
>.десктоп фајлови за К‑мени (старо)</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/applications</filename
></term>
<listitem
><para
>.десктоп фајлови за К‑мени (од <acronym
>КДЕ‑а</acronym
> 3.2) </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/apps</filename
></term>
<listitem
><para
>Садржи програмима својствене фајлове. Сваки програм овде има потфасциклу за складиштење додатних фајлова.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/config</filename
></term>
<listitem
><para
>Поставни фајлови. Поставни фајлови се обично именују по наредби програма ком припадају, уз додатак слова <literal
>rc</literal
>. Посебан случај је фајл <filename
>kdeglobals</filename
>, који читају сви <acronym
>КДЕ</acronym
> програми.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename
class="directory"
>share/config/session</filename
></term>
<listitem
><para
>Ова фасциклу користи управљање сесијама и обично је доступна само под <filename class="directory"
>$<envar
>KDEHOME</envar
></filename
>. На крају сесије, <acronym
>КДЕ</acronym
> програми овде складиште своје стање. Имена фајла састоје се од имена наредбе програма, за којом следи број. Менаџер сесија <command
>ksmserver</command
> складишти упућивања на ове бројеве при уписивању сесије у <filename
>ksmserverrc</filename
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/doc/HTML</filename
></term>
<listitem
><para
>Ова фасцикла садржи документацију <acronym
>КДЕ</acronym
> програмâ. Документација је подељена на категорије, по језику и програму којем припада. У фасцикли се обично могу наћи најмање два фајла: <filename
>index.docbook</filename
>, који садржи сирову документацију у формату докбук, и <filename
>index.cache.bz2</filename
>, који садржи исту ту документацију у облику компресованог ХТМЛ‑а. ХТМЛ верзију користи <application
>К‑центар-помоћи</application
>. Ако ХТМЛ верзија недостаје, <application
>К‑центар-помоћи</application
> ће је поново створити на основу докбука, али то уме да потраје.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/icons</filename
></term>
<listitem
><para
>У овој фасцикли складиште се иконе. Подељене су по темама, димензијама и категорији употребе.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/mimelnk</filename
></term>
<listitem
><para
>У овој фасцикли складиште се .десктоп фајлови који описују МИМЕ типове. <acronym
>КДЕ</acronym
> користи МИМЕ типове да одреди тип фајла.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/services</filename
></term>
<listitem
><para
>Ова фасцикла садржи .десктоп фајлове који описују сервисе. Сервиси су попут програма, али их обично покрећу други програми, уместо корисник. Сервиси се не појављују у К‑менију.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/servicetypes</filename
></term>
<listitem
><para
>Ова фасцикла садржи .десктоп фајлове који описују типове сервиса. Тип сервиса обично представља извесно програмерско сучеље. Програми и сервиси у својим .десктоп фајловима садрже типове сервиса које пружају.</para
> </listitem
></varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/sounds</filename
></term>
<listitem
><para
>Ова фасцикла садржи звучне фајлове.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/templates</filename
></term>
<listitem
><para
>Ова фасцикла садржи шаблоне за стварање фајлова разних типова. Шаблон се састоји од .десктоп фајла који описује фајл и садржи упућивач на фајл у потфасцикли <filename class="directory"
>.source</filename
>. Шаблони у овој фасцикли појављују се у менију <guimenu
>Направи ново</guimenu
>, доступном на површи и у прегледачу фајлова. Кад корисник из менија изабере шаблон, копира се његов изворни фајл.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename class="directory"
>share/wallpapers</filename
></term>
<listitem
><para
>Ова фасцикла садржи слике које се могу користити као позадина површи</para
></listitem>
</varlistentry>

</variablelist>

</sect1>

<sect1 id="host-specific-directories">
<title
>Домаћину својствене фасцикле</title
> 

<para
>Постоје три домаћину својствене фасцикле, које су обично симповезане са другим локацијама. Ако ове фасцикле још не постоје, следеће симвезе и фасцикле биће створене помоћу алатке <command
>lnusertemp</command
>:</para>

<variablelist>

<varlistentry>
<term
><filename
>$<envar
>KDEHOME</envar
>/socket-$<envar
>HOSTNAME</envar
> </filename
></term>
<listitem
><para
>Обично <filename class="directory"
>/tmp/ksocket-$<envar
>USER</envar
></filename
>, користи се за разне уникс сокете.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename
>$<envar
>KDEHOME</envar
>/tmp-$<envar
>HOSTNAME</envar
></filename
></term>
<listitem
><para
>Обично <filename class="directory"
>/tmp/kde-$<envar
>USER</envar
></filename
>, користи се за привремене фајлове.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><filename
>$<envar
>KDEHOME</envar
>/cache-$<envar
>HOSTNAME</envar
></filename
></term>
<listitem
><para
>Обично <filename class="directory"
>/var/tmp/kdecache-$<envar
>USER</envar
></filename
>, користи се за кеширане фајлове.</para>
</listitem>
</varlistentry>
</variablelist>

<para
>Пошто и у <filename class="directory"
>/tmp</filename
> и у <filename class="directory"
>/var/tmp</filename
> сви могу писати, постоји могућност да једна од горњих фасцикли већ постоји, али да је поседује други корисник. У том случају ће алатка <command
>lnusertemp</command
> створити нову фасциклу са алтернативним именом и повезати ка њој.</para>

</sect1>

<sect1 id="configuration-files">
<title
>Поставни фајлови</title
> <para
>За све своје поставне фајлове, <acronym
>КДЕ</acronym
> користи прост текстуални формат. Састоји се од парова кључ‑вредност подељених у групе. Сви <acronym
>КДЕ</acronym
> поставни фајлови користе кодирање УТФ‑8 за текст изван опсега аскија.</para>

<para
>Почетак групе одређен је именом групе стављеним у угласте заграде. Сви уноси кључ‑вредност који следе припадају тој групи. Група се завршава или где започиње нова, или кад је достигнут крај фајла. Уноси на врху фајла којима не претходи име групе припадају подразумеваној групи.</para>

<informalexample
><para
>Следећи пример показује поставни фајл који се састоји од две групе. Прва група садржи кључеве <varname
>LargeCursor</varname
> и <varname
>SingleClick</varname
>, а друга <varname
>Show hidden files</varname
> и <varname
>Sort by</varname
>:</para>

<programlisting
>[KDE]
LargeCursor=false
SingleClick=true
</programlisting>

<programlisting
>[KFileDialog Settings]
Show hidden files=false
Sort by=Name
</programlisting>
</informalexample>

<para
>Уноси у групи састоје се од кључа и вредности раздвојених знаком једнакости. Кључ може садржавати размаке и могу му следити опције стављене у угласте заграде. Део после знака једнакости је вредност уноса. Игнорише се свака белина који окружује знак једнакости, као и свака пратећа белина. Сажетије, формат гласи:</para>

<programlisting
><replaceable
>entry</replaceable
>=<replaceable
>value</replaceable
>
</programlisting>

<para
>Ако вредност треба да садржи размак на почетку или крају, онда се то може постићи коришћењем контракроза за којим следи „s“: <token
>\s</token
>.</para>

<para
>Постоји неколико других кодова с контракрозом, ево потпуног списка: <itemizedlist>
<listitem
><para
><token
>\s</token
> може се користити као размак</para>
</listitem>
<listitem
><para
><token
>\t</token
> служи за убацивање табулатора</para>
</listitem>
<listitem
><para
><token
>\r</token
> за знак повратка реда</para>
</listitem>
<listitem
><para
><token
>\n</token
> за знак увода реда (нови ред)</para>
</listitem>
<listitem
><para
><token
>\\</token
> за убацивање самог контракроза</para>
</listitem>
</itemizedlist
></para>

<informalexample
><para
>У следећем примеру вредност уноса <varname
>Caption</varname
> почиње са двама размацима, док унос <varname
>Description</varname
> садржи три реда текста. Уводи реда у запису с контракрозом служе да раздвоје различите редове.</para>

<programlisting
>[Preview Image]
Caption=\s My Caption
Description=This is\nа very long\ndescription.
</programlisting>
</informalexample>

<para
>У поставним фајловима игноришу се празни редови, као и редови који почињу знаком тарабе ‘#’. Тараба се може користити за додавање коментара у поставним фајловима. Ваља запазити да, када <acronym
>КДЕ</acronym
> програм ажурира поставни фајл, коментари <emphasis
>не бивају</emphasis
> сачувани.</para>

<para
>Могу бити и више поставних фајлова са истим именом у потфасцикли <filename class="directory"
>share/config</filename
> разних <acronym
>КДЕ‑ових</acronym
> стабала фасцикли. У том случају се информације из истоимених поставних фајлова комбинују кључ‑по‑кључ: ако је исти кључ унутар неке групе дефинисан на више од једног места, користиће се вредност кључа прочитана из стабла фасцикли са највишим првенством. Поставни фајлови под <filename class="directory"
>$<envar
>KDEHOME</envar
></filename
> увек имају највеће првенство. Ако је кључ у некој групи вишеструко дефинисан у истом фајлу, узеће се вредност последњег уноса.</para>

<informalexample>
<para
>Ако <filename
>$<envar
>HOME</envar
>/.kde/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=red
Shape=circle
</programlisting
> а <filename
>/etc/opt/kde3/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=blue
Position=10,10
</programlisting
> резултат ће бити: <programlisting
>[MyGroup]
Color=red
Shape=circle
Position=10,10
</programlisting>
</para>
</informalexample>

<informalexample>
<para
>Ако <filename
>$<envar
>HOME</envar
>/.kde/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=red
Shape=circle
[MyGroup]
Color=green
</programlisting
> а <filename
>/opt/kde_staff/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=purple
Position=20,20
</programlisting
> и <filename
>/etc/opt/kde3/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=blue
Position=10,10
</programlisting
> резултат ће бити: <programlisting
>[MyGroup]
Color=green
Shape=circle
Position=20,20
</programlisting>
</para>
</informalexample>

<para
>Да би се корисници спречили да пребришу подразумеване поставке, оне се могу обележити као непроменљиве. Поставке се могу учинити непроменљивим појединачно, групно или по фајлу. Појединачан унос може се закључати додавањем <userinput
>[$i]</userinput
> иза кључа, нпр: <programlisting
>Color[$i]=blue
</programlisting>
</para>
<para
>Група уноса може се закључати стављањем <userinput
>[$i]</userinput
> иза имена групе, нпр:  <programlisting
>[MyGroup][$i]
</programlisting>
</para>
<para
>За закључавање целог фајла, започните фајл са <userinput
>[$i]</userinput
> самим у једном реду, тј: <programlisting
>[$i]
</programlisting>
</para>

<informalexample>
<para
>Ако <filename
>$<envar
>HOME</envar
>/.kde/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=red
Shape=circle
</programlisting
> а <filename
>/etc/opt/kde3/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup][$i]
Color=blue
Position=10,10
</programlisting
> резултат ће бити: <programlisting
>[MyGroup]
Color=blue
Position=10,10 
</programlisting>
</para>
</informalexample>

<informalexample
><para
>Ако <filename
>$<envar
>HOME</envar
>/.kde/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup]
Color=red
Shape=circle
</programlisting
> а <filename
>/opt/kde_staff/share/config/foobar</filename
> садржи: <programlisting>
[MyGroup][$i]
Color=blue
Position=10,10
</programlisting
> резултат ће бити:  <programlisting
>[MyGroup]
Color=purple
Shape=rectangle
Position=10,10 
</programlisting>
</para>
</informalexample>


<para
>Да би се обезбедиле динамичније подразумеване вредности, може се користити тзв. „развој шкољке“. Развојем шкољке може се конструисати вредност поставног кључа на основу вредности променљиве окружења или излаза наредбе шкољке. За укључивање развоја шкољке за поставни унос, за кључем мора следити <token
>[$e]</token
>. После прве употребе, проширени облик обично бива уписан у корисников поставни фајл. Да би се то спречило, препоручује се закључавање поставног уноса помоћу <token
>[$ie]</token
>. Корисник, наравно, ово после не може да мења.</para>

<informalexample>
<para
>У следећем примеру, вредност уноса <varname
>Host</varname
> одређена је излазом наредбе <command
>hostname</command
>. Ова поставка такође је закључана да би се осигурало трајно динамичко одређење вредности.</para>

<para
>Вредност за унос <varname
>Email</varname
> одређена је попуњавањем вредности променљивих окружења $<envar
>USER</envar
> и $<envar
>HOST</envar
>. Ако је <systemitem class="username"
>joe</systemitem
> пријављен на <systemitem class="systemname"
>joes_host</systemitem
>, резултат ће бити вредност једнака овој: <literal
>joe@joes_host</literal
>. Поставка није закључана.</para>

<programlisting
>[Mail Settings] 
Host[$ie]=$(hostname)
Email[$e]=${USER}@${HOST}
</programlisting>
</informalexample>

<para
>Већина поставних уноса може се индексирати језичким кодом. У том случају, језик који је корисник изабрао за радну површ користи се при тражењу вредности кључа. Ако је изабран подразумевани језик (амерички енглески), или нема индекса који одговара изабраном језику, користи се унос кључа без индекса.</para>

<informalexample>
<para
>У следећем примеру, вредност уноса <varname
>Caption</varname
> зависи од језика. Ако је корисник као језик изабрао француски (језички кôд <literal
>fr</literal
>), вредност уноса биће <foreignphrase lang="fr"
>Ma Légende</foreignphrase
>. У свим другим случајевима узеће се вредност <foreignphrase lang="en"
>My Caption</foreignphrase
>.</para>

<programlisting
>[Preview Image]
Caption=My Caption
Caption[fr]=Ma Légende
</programlisting>
</informalexample>

<informalexample>
<para
>У овом примеру, вредност уноса <varname
>Caption</varname
> зависи од језика. Ако је корисник као језик изабрао француски (језички кôд <literal
>fr</literal
>), вредност уноса биће <foreignphrase lang="fr"
>Ma Légende</foreignphrase
>. У свим другим случајевима узеће се вредност <foreignphrase lang="en"
>My Caption</foreignphrase
>.</para>

<programlisting
>[Preview Image]
Caption=My Caption
Caption[fr]=Ma Légende
</programlisting>
</informalexample>

<para
>Уноси који се могу појавити у поставном фајлу, уопштено, нису документовани. Са <acronym
>КДЕ‑ом</acronym
> 3.2 направљен је корак да се ово промени. У <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/config.kcfg</filename
> могу се наћи фајлови који обезбеђују формалан опис могућих уноса у поставном фајлу. Ако су расположиви, користи их <acronym
>КДЕ‑ов</acronym
> уређивач поставе.</para>

<informalexample>
<para
>Ево примера ИксМЛ поставног фајла: <programlisting
><markup>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd"&gt;
&lt;kcfg&gt;
    &lt;kcfgfile name="korganizerrc"&gt;
    &lt;group name="General"&gt;
         &lt;entry type="Bool" key="Auto Save"&gt;
             &lt;label&gt;Enable automatic saving of calendar&lt;/label&gt;
             &lt;default&gt;true&lt;/default&gt;
         &lt;/entry&gt;
         &lt;entry type="Int" key="Auto Save Interval"&gt;
             &lt;default&gt;10&lt;/default&gt;
         &lt;/entry&gt;
    &lt;group&gt;
&lt;kcfg&gt;
</markup
> 
</programlisting>
</para>
<para
>Ово има исти ефекат као: <programlisting
>[General]
Auto Save=false
Auto Save Interval=25 
</programlisting>
</para>
</informalexample>

</sect1>

<sect1 id="kde-startup-sequence">
<title
>Ток покретања <acronym
>КДЕ‑а</acronym
></title>

<sect2 id="kdm">
<title
><application
>КДМ</application
></title>

<para
>Увек се извршава као <systemitem class="username"
>root</systemitem
>! Користи <filename
>$<envar
>KDEDIR</envar
>/share/config/kdmrc</filename
> и <filename
>/etc/X11/xdm/Xservers</filename
>. Потоњи фајл садржи уносе попут:</para>

<programlisting
>:0 local /usr/X11R6/bin/X :0 vt07 
</programlisting>

<para
>Релевантни фајлови на покретању такође су: </para>
<simplelist>
<member
>Секција <literal
>[X-*-Core]</literal
> у <filename
>kdmrc</filename
> </member>
<member
>Постава — <filename
>/etc/X11/xdm/Xsetup</filename
>  </member>
<member
>Корисник уноси корисничко име и лозинку </member>
<member
>Покретање — <filename
>/etc/X11/xdm/Xstartup</filename
> — припрема као корен </member>
<member
>Сесија — <filename
>/etc/X11/xdm/Xsession</filename
> — покреће сесију као корисник  </member>
<member
>= за <acronym
>КДЕ</acronym
> сесију: <command
>kde</command
> или <command
>startkde</command
>  </member>
<member
>= ако постоји <filename
>~/.xsession</filename
> или <filename
>~/.xinitrc</filename
>  </member>
<member
>Ресетовање — <filename
>/etc/X11/xdm/Xreset</filename
> — после завршене сесије </member>
</simplelist>

</sect2>

<sect2 id="startkde">
<title
>Скрипта за покретање <acronym
>КДЕ‑а</acronym
>: <command
>startkde</command
> </title>

<para
>Ток покретања <acronym
>КДЕ‑а</acronym
> почиње са скриптом <filename
>startkde</filename
>. Она се у већини случајева позива из менаџера пријављивања (<application
>КДМ‑а</application
>) пошто се корисник аутентификује. У скрипти <filename
>startkde</filename
> налазе се два веома важна реда:</para>

<programlisting
>LD_BIND_NOW=true kdeinit4 +kcminit_startup
kwrapper4 ksmserver $KDEWM
</programlisting>

<para
>Први ред покреће главни процес наредбом <command
>kdeinit4</command
>, који служи за покретање свих осталих <acronym
>КДЕ</acronym
> процеса. У излазу <command
>ps <option
>aux</option
></command
> појављује се као <computeroutput
>kdeinit4:Running...</computeroutput
>. Аргументи после <command
>kdeinit4</command
> имена су додатних процеса које треба покренути. Знак <token
>+</token
> указује да <command
>kdeinit4</command
> треба да чека док се процес заврши. <command
>kdeinit4</command
> такође покреће <command
>klauncher</command
> и <command
>kded</command
>. </para>

<para
>Други ред тражи од <command
>kdeinit4</command
> да покрене процес менаџера сесија <command
>ksmserver</command
>. Менаџер сесија одређује дужину живота сесије. Кад се овај процес оконча, корисник је одјављен.</para>

</sect2>
</sect1>

<sect1 id="background-processes">
<title
>Позадински процеси</title>

<para
>Сви позадински <acronym
>КДЕ</acronym
> сервиси посебни су по кориснику — за разлику од системских демона, не деле се међу корисницима. Исто као што су јединствени по кориснику, такви су и по приказу икс сервера. Процеси су следећи:</para>

<variablelist>
<varlistentry>
<term
><command
>dcopserver</command
></term>
<listitem
><para
>Комуникација на радној површи</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>kded</command
></term>
<listitem
><para
>Генерички демон сервиса</para>
<para
>По потреби окида ажурирања базе података <link linkend="ksycoca"
>Сикоке</link
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>kcminit</command
></term>
<listitem
><para
>Сервис успостављања</para>
<para
>За више информација, погледајте <xref linkend="kcminit"/>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>klauncher</command
></term>
<listitem
><para
>Покретање програма (ово <emphasis
>није</emphasis
> онај дијалог на <keycombo action="simul"
><keycap
>Alt</keycap
><keycap
>F2</keycap
> </keycombo
>!)</para>
<para
>За више информација, погледајте <xref linkend="klauncher"/>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>knotify</command
></term>
<listitem
><para
>Обавештења кориснику.</para>
<para
>За више информација, погледајте <xref linkend="knotify"/>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>ksmserver</command
></term>
<listitem
><para
>Управљање сесијама</para>
<para
>За више информација, погледајте <xref linkend="ksmserver"/>.</para>
</listitem>
</varlistentry>

</variablelist>

<sect2 id="kdeinit">
<title
><command
>kdeinit</command
></title>
<para
>Наредба <command
>kdeinit</command
> користи се за покретање свих осталих <acronym
>КДЕ</acronym
> програма. <command
>kdeinit</command
> обично може да покрене и бинарне програмске фајлове и учитљиве модуле (КЛМ‑ове). КЛМ‑ови раде исто као бинарни програмски фајлови, али се могу ефикасније покретати. Они пребивају у <filename class="directory"
>$<envar
>KDEDIR</envar
>/lib/kde3</filename
>.</para>

<para
>Незгода је што се овако покренути програми појављују као <computeroutput
><command
>kdeinit</command
></computeroutput
> у излазу <command
>top</command
> и <command
>ps</command
>. Користите <command
>top <option
>-c</option
></command
> или <command
>ps <option
>aux</option
></command
> да видите стварно име програма:</para>

<screen
><prompt
>%</prompt
><userinput
><command
>ps <option
>aux</option
></command
> </userinput>
<computeroutput>
waba     23184  0.2  2.1 23428 11124 ?        S    21:41   0:00 kdeinit4: Running...
waba     23189  0.2  2.4 25136 12496 ?        S    21:41   0:00 kdeinit4: klauncher
waba     23192  0.7  2.8 25596 14772 ?        S    21:41   0:00 kdeinit4: kded
waba     23203  0.8  3.4 31516 17892 ?        S    21:41   0:00 kdeinit4: knotify
</computeroutput
>
</screen>

<para
><computeroutput
>kdeinit: Running...</computeroutput
> показује главни процес <command
>kdeinit</command
>. Остали набројани процеси су програми покренути као КЛМ‑ови.</para>

<para
>Кад се први пут покрене, <command
>kdeinit</command
> ће покренути <command
>klauncher</command
> и <command
>kded</command
>, као и све додатне програме на својој командној линији у скрипти <command
>startkde</command
>, обично <command
>kcminit_startup</command
>.</para>

</sect2>

<sect2 id="kcminit">
<title
><command
>kcminit</command
></title>

<para
>Наредба <command
>kcminit</command
> извршава успоставне сервисе током покретања. Успоставни сервиси задати су у .десктоп фајловима програмâ или сервиса, редом <varname
>X-KDE-Init</varname
>:</para>

<programlisting
>[Desktop Entry]
Encoding=UTF-8
Exec=kcmshell4 energy
Icon=energy_star
Type=Application
X-KDE-Library=energy
X-KDE-Init=energy
</programlisting>

<para
>Успоставни сервиси типично се користе за успостављање хардвера на основу корисничких поставки.</para>

<para
><userinput
><command
>kcminit<option
>--list</option
></command
></userinput
> може се користити за све покретачке сервисе, а <userinput
><command
>kcminit<replaceable
>service</replaceable
></command
></userinput
> може се користити за изричито извршење појединачног сервиса. Може бити корисно за претресање проблемâ на покретању.</para>

</sect2>

<sect2 id="klauncher">
<title
><command
>klauncher</command
></title>

<para
>К‑лансер (<command
>klauncher</command
>) је демон одговоран за активирање сервиса у оквиру <acronym
>КДЕ‑а</acronym
>. Тесно сарађује са главним процесом <command
>kdeinit</command
> ради покретања нових процеса. <acronym
>КДЕ</acronym
> програми комуницирају са <command
>klauncher</command
> преко ДКОП‑а, ради покретања нових програма и сервиса.</para>

<para
>Најпознатији из поруке о грешци <computeroutput
><errortext
>К‑лансер није доступан преко д‑буса [...]</errortext
></computeroutput
> која указује на озбиљан проблем са наредбом <command
>dcopserver</command
>, или да се <command
>klauncher</command
> срушила.</para>

<para
><command
>klauncher</command
> се може изнова покренути поновним покретањем <command
>kdeinit</command
> из конзолног прозора. Кад ово радите, уверите се да су правилно постављене $<envar
>HOME</envar
>, $<envar
>DISPLAY</envar
> и разне $<envar
>KDEDIR(S)</envar
>!</para>

</sect2>

<sect2 id="knotify">
<title
><command
>knotify</command
></title>

<para
>Примарни задатак наредбе <command
>knotify</command
> јесте да повеже звучна обавештења са сервером звука, а обезбеђује и алтернативне методе обавештавања.</para>

</sect2>


</sect1>

<sect1 id="ksmserver">
<title
><application
>КСМ‑сервер</application
></title>

<para
><application
>КСМ‑сервер</application
> (<command
>ksmserver</command
>) је <acronym
>КДЕ‑ов</acronym
> менаџер сесија. По покретању он извршава самопокретање програмâ и обнавља програме из претходне сесије. Програми за самопокретање одређени су .десктоп фајловима у фасцикли <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/autostart</filename
>. Да ли неки програм треба аутоматски покренути или не, може се условити према неком поставном уносу датом уносом <varname
>X-KDE-autostart-condition</varname
> у .десктоп фајлу.</para>

<informalexample>
<para
>На пример, фајл <filename
>ktip.desktop</filename
> садржи:</para>

<programlisting
>X-KDE-autostart-condition=ktiprc:TipOfDay:RunOnStart:true
</programlisting>

<para
>Ово значи да се у поставном фајлу <filename
>ktiprc</filename
> проверава унос <varname
>RunOnStart</varname
> у секцији <varname
>[TipOfDay]</varname
>. Ако такав унос не постоји, претпоставља се <literal
>true</literal
>, што значи да <application
>К‑савет</application
> постаје један од програма што се подразумевано аутоматски покрећу.</para>
</informalexample>

<para
>Неке од наредби које аутоматски покреће <command
>ksmserver</command
>:</para>

<variablelist>

<varlistentry>
<term
><command
>kdesktop</command
></term>
<listitem
><para
>Површ <acronym
>КДЕ‑а</acronym
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>kicker</command
></term>
<listitem
><para
><application
>Кикер</application
>, <acronym
>КДЕ‑ов</acronym
> панел</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>ktip</command
></term>
<listitem
><para
>Програм за савете дана <application
>К‑савет</application
></para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>kwrited</command
></term>
<listitem
><para
>Алатка за пријем системских порука послатих кориснику</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><application
>Клипер</application
></term>
<listitem
><para
><application
>Клипер</application
>, алатка клипборда која се усидрава на панелу</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><command
>kalarm</command
></term>
<listitem
><para
><application
>К‑аларм</application
>, алатка која упозорава на долазеће догађаје и састанке</para>
</listitem>

</varlistentry>
</variablelist>

<para
>Наредба <command
>kdesktop</command
> надаље аутоматски покреће програме складиштене у <filename class="directory"
>$<envar
>KDEHOME</envar
>/Autostart</filename
>. <command
>kdesktop</command
> ће аутоматски отворити све фајлове у овој фасцикли, укључујући документе, бинарне фајлове или програме у виду .десктоп фајлова.</para>

<para
><acronym
>КДЕ‑ов</acronym
> менаџер сесија такође обнавља неку од претходних сесија. Сесија садржи како скуп програма, тако и програму својствене податке које одражавају његово стање у тренутку уписивања сесије. Сесије се складиште у поставном фајлу <filename
>ksmserverrc</filename
>, који упућује на програму својствене податке о стању, складиштене у <filename class="directory"
>$<envar
>KDEHOME</envar
>/share/config/session</filename
>. Подаци о стању <application
>К‑вина</application
> садрже локацију програмских прозора свих осталих програма у сесији. </para>

</sect1>

<sect1 id="environment-variables">
<title
>Променљиве окружења</title>

<para
>Неке важне променљиве окружења које користи <acronym
>КДЕ</acronym
>:</para>

<variablelist>

<varlistentry>
<term
>$<envar
>KDEDIR</envar
></term>
<listitem
><para
>Треба да се постави ако није постављена <envar
>KDEDIRS</envar
>, и треба да указује на корен инсталационог стабла <acronym
>КДЕ‑а</acronym
>. Омогућава <acronym
>КДЕ‑у</acronym
> да пронађе податке попут икона, менија и библиотека.</para>
</listitem>
</varlistentry>

<varlistentry
><term
><envar
>KDEDIRS</envar
></term>
<listitem
><para
>Потискује променљиву <envar
>KDEDIR</envar
> и омогућава вам да задате више фасцикли у којима ће <acronym
>КДЕ</acronym
> тражити податке. Корисна ако желите или морате да инсталирате неке програме у другачијем префиксу од остатка <acronym
>КДЕ‑а</acronym
>.</para
> 
</listitem>
</varlistentry>

<varlistentry
><term
><envar
>$KDEHOME</envar
></term
><listitem
><para
>Ако није постављена, <acronym
>КДЕ</acronym
> за складиштење личних података користи фасциклу <filename class="directory"
>~/.kde</filename
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDEROOTHOME</envar
></term
><listitem
><para
>Ако није постављена, <acronym
>КДЕ</acronym
> користи <filename class="directory"
>~root/.kde</filename
> као фасциклу за личне податке корена (<systemitem class="username"
>root</systemitem
>). Уведена да спречи <acronym
>КДЕ</acronym
> да случајно не пребрише податке корисника са кореним овлашћењима, кад корисник изврши <acronym
>КДЕ</acronym
> програм након пребацивања наредбом <command
>su</command
> на <systemitem class="username"
>root</systemitem
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDEWM</envar
></term
><listitem
><para
>Ако је променљива окружења <envar
>KDEWM</envar
> постављена, скрипта <command
>startkde</command
> употребиће је као <acronym
>КДЕ‑ов</acronym
> менаџер прозора, уместо <application
>К‑вина</application
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_LANG</envar
></term
><listitem
><para
>Потискује <acronym
>КДЕ‑ову</acronym
> поставу језика, нпр. <userinput
>KDE_LANG=fr kcommand &amp;</userinput
> покреће програм на француском (ако су инсталирани неопходни фајлови).</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_MULTIHEAD</envar
></term
><listitem
><para
>Поставите ову променљиву на <literal
>true</literal
> да укажете <acronym
>КДЕ‑у</acronym
> да ради на вишемониторском систему.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_FORK_SLAVES</envar
></term>
<listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.3.) Поставите ову променљиву да би У/И захвати израњали непосредно из програмског процеса. Подразумевано израњају из <command
>klauncher</command
> или <command
>kdeinit</command
>. Ова опција корисна је ако У/И захват треба да ради у истом окружењу као и програм (случај нпр. са Клиркејсом).</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_HOME_READONLY</envar
></term>
<listitem
><para
>Поставите ову променљиву да укажете да је ваша домаћа фасцикла монтирана само‑за‑читање.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_NO_IPV6</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.3.) Поставите ову променљиву да искључите подршку за ИПв6 и ИПв6 ДНС потраге.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_IS_PRELINKED</envar
> </term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Поставите ову променљиву да укажете да сте претповезали <acronym
>КДЕ‑ове</acronym
> извршне фајлове и библиотеке, што искључује <command
>kdeinit</command
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_UTF8_FILENAMES</envar
></term
><listitem
><para
>Ако је ова променљива окружења постављена, <acronym
>КДЕ</acronym
> претпоставља да су сва имена фајлова УТФ‑8 кодирана, без обзира на текући системски локалитет.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDE_FULL_SESSION</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Аутоматски се поставља на <literal
>true</literal
> на покретању <acronym
>КДЕ‑а</acronym
>, користи се нпр. да одреди да ли да се <application
>К‑освајач</application
> задржи у меморији после затварања. Ако није постављена, <application
>К‑освајач</application
> се напушта по затварању (нпр. ово чини <application
>КДЕ су</application
>, а корисно је и за исправљање).</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDESYCOCA</envar
></term
><listitem
><para
>Омогућава вам да задате путању и име генерисаног фајла кеша <acronym
>КДЕ‑ове</acronym
> системске поставе.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDETMP</envar
></term
><listitem
><para
>Омогућава да задате другу путању уместо <filename class="directory"
>/tmp</filename
>, где <acronym
>КДЕ</acronym
> складишти привремене фајлове.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>KDEVARTMP</envar
></term
><listitem
><para
>Омогућава да задате другу путању уместо <filename class="directory"
>/var/tmp</filename
>, где <acronym
>КДЕ</acronym
> складишти променљиве фајлове.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>XDG_DATA_HOME</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Дефинише основну фасциклу према којој се складиште кориснику својствени фајлови. Подразумева се <filename class="directory"
>$<envar
>HOME</envar
>/.local/share</filename
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>XDG_DATA_DIRS</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Дефинише по редоследу првенства скуп основних фасцикли за тражење фајлова података, у додатак оној из <filename class="directory"
>$<envar
>XDG_DATA_HOME</envar
></filename
>. Подразумева се <literal
>/usr/local/share/:/usr/share/</literal
>.</para>

<para
><acronym
>КДЕ</acronym
> додаје локације из $<envar
>KDEDIRS</envar
> као и профиле. Користе се за .десктоп фајлове менија: <literal role="extension"
>.desktop</literal
> фајлови под <filename class="directory"
>$<envar
>XDG_DATA_DIRS</envar
>/applications</filename
>, а <literal role="extension"
>.directory</literal
> под <filename class="directory"
>$<envar
>XDG_DATA_DIRS</envar
>/desktop-directories</filename
>. </para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>XDG_CONFIG_HOME</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Дефинише основну фасциклу у којој треба складиштити кориснику својствене поставне фајлове. Подразумева се <filename class="directory"
>$<envar
>HOME</envar
>/.config</filename
>.</para>
</listitem>
</varlistentry>

<varlistentry
><term
>$<envar
>XDG_CONFIG_DIRS</envar
></term
><listitem
><para
>(Од <acronym
>КДЕ‑а</acronym
> 3.2.) Дефинише по редоследу првенства скуп основних фасцикли за тражење поставних фајлова, у додатак оној из $<envar
>XDG_CONFIG_HOME</envar
>. Подразумева се <filename class="directory"
>/etc/xdg</filename
>. <acronym
>КДЕ</acronym
> додаје локације из $<envar
>KDEDIRS</envar
> као и профиле. Користе их <literal role="extension"
>.menu</literal
> описи у <filename class="directory"
>$<envar
>XDG_CONFIG_DIRS</envar
>/menus</filename
>. </para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="the-kdeinit-mystery">
<title
>Тајна наредбе <command
>kdeinit</command
></title>

<!-- FIXME: Add more words. Fix markup -->

<para
><command
>kdeinit</command
> се користи за покретање свих осталих <acronym
>КДЕ</acronym
> програма. Може да покрене нормалне бинарне програмске фајлове, као и учитљиве модуле (КЛМ‑ове). КЛМ‑ови раде исто као бинарни програмски фајлови, али се могу ефикасније покренути. Пребивају у <filename class="directory"
>$<envar
>KDEDIR</envar
>/lib/kde3</filename
>.</para>

<para
>Незгода је што се овако покренути програми појављују као <computeroutput
><command
>kdeinit</command
></computeroutput
> у излазу <command
>top</command
> и <command
>ps</command
>. Користите <command
>top <option
>-c</option
></command
> или <command
>ps <option
>aux</option
></command
> да видите стварно име програма:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>ps aux | grep bastian</command
> </userinput>
<computeroutput>
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
</computeroutput
>
</screen>
<para
>Као што сте можда запазили, ово производи споредан ефекат да је тешко убити процес који проузрокује невољу:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>killall kdesktop</command
></userinput>
<computeroutput
>kdesktop: no process killed</computeroutput
></screen>

<para
>Можда сте у искушењу да употребите <userinput
><command
>killall kdeinit</command
></userinput
>, али ће убијање свих <command
>kdeinit</command
> процеса резултовати гашењем целог <acronym
>КДЕ‑а</acronym
>. Тотално разарање!</para>

<para
>За ово постоје два једноставна решења:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdekillall kdesktop</command
></userinput>
# или старо добро:
<prompt
>%</prompt
> <userinput
><command
>kill 26195</command
></userinput
></screen>
<para
><command
>kdekillall</command
> је део <acronym
>КДЕ‑овог</acronym
> СДК пакета.</para>

</sect1>

</chapter>

<chapter id="customizing-kde">
<title
>Прилагођавање <acronym
>КДЕ‑а</acronym
></title>


<sect1 id="desktop-icons">
<title
>Иконе површи</title>

<para
><acronym
>КДЕ</acronym
> користи неколико врста икона:</para>
<itemizedlist>
<listitem
><para
>Документи</para>
</listitem>
<listitem
><para
>Везе ка веб сајтовима (преко .десктоп фајла) </para>
</listitem>
<listitem
><para
>Везе ка програмима (преко .десктоп фајла) </para>
</listitem>
<listitem
><para
>Уређаји — дискови, партиције и периферије: <itemizedlist>
<listitem
><para
>Изричито преко .десктоп фајла</para>
</listitem>
<listitem
><para
>Аутоматски преко У/И захвата <literal
>devices://</literal
></para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem
><para
>Посебно од издавача (нпр. СуСЕ‑ов „Мој рачунар“)</para>
</listitem>
</itemizedlist>

<sect2 id="desktop-icons-websites">
<title
>Веб сајтови</title>
<para
>Везе ка веб сајтовима путем .десктоп фајлова: <menuchoice
><guimenu
>Направи ново</guimenu
><guisubmenu
>Фајл</guisubmenu
><guimenuitem
>Веза до локације (УРЛ)...</guimenuitem
></menuchoice
>. Икону можете променити у дијалогу <guilabel
>Својства</guilabel
>. .Десктоп фајл који настаје: <programlisting
>[Desktop Entry]
Encoding=UTF-8
Icon=/opt/kde3/share/apps/kdesktop/pics/ksslogo.png
Type=Link
URL=http://www.kde.org/
</programlisting>
</para>
</sect2>

<sect2 id="desktop-icons-applications">
<title
>Програми</title>

<para
>Везе ка програмима путем .десктоп фајлова: <menuchoice
><guimenu
>Направи ново</guimenu
><guisubmenu
>Фајл</guisubmenu
><guimenuitem
>Веза до програма...</guimenuitem
></menuchoice
>. Детаље морате обезбедити сами. Превуците из К‑менија: или копирајте или повежите (прави симвезу), много лакше.</para>

<!-- Perhaps legacy and translated should be the other way around, but -->
<!-- this is how it appears in Waldo's presentation. Need to check -->
<!-- this -->

<programlisting
>[Desktop Entry]<co id="boilerplate"/>
Encoding=UTF-8
GenericName=IRC Client<co id="generic-desc"/>
GenericName[af]=Irc Klië
GenericName[de]=IRC Programm
...
GenericName[zu]=Umthengi we IRC<co id="legacy"/>
SwallowExec=<co id="translated"/>
Name=KSirc
Name[af]=Ksirc
Name[de]=KSirc
...
</programlisting>

<calloutlist>
<callout arearefs="boilerplate"
><para
>Предуметак</para>
</callout>
<callout arearefs="generic-desc"
><para
>Преведен генерички опис, не користи се на површи</para>
</callout>
<callout arearefs="legacy"
><para
>Застарело, може се уклонити</para>
</callout>
<callout arearefs="translated"
><para
>Преведено име које се даје на површи</para>
</callout>
</calloutlist>

<para
>Иконе површи</para>
<programlisting
>...
Name[zu]=Ksirc
MimeType=<co id="co-mimetype"/>
Exec=ksirc %i %m<co id="co-exec"/>
Icon=ksirc<co id="co-icon"/>
TerminalOptions=<co id="co-terminaloptions"/>
Path=<co id="co-path"/>
Type=Application<co id="co-type"/>
Terminal=0<co id="co-terminal"/>
X-KDE-StartupNotify=true<co id="co-x-kde-startupnotify"/>
X-DCOP-ServiceType=Multi<co id="co-x-dcop-servicetype"/>
Categories=Qt;KDE;Network<co id="co-categories"/>
</programlisting>

<calloutlist>
<callout arearefs="co-mimetype"
><para
>Подржани МИМЕ типови, не користе се на површи</para>
</callout>
<callout arearefs="co-exec"
><para
>Командна линија коју треба извршити</para>
</callout>
<callout arearefs="co-icon"
><para
>Икона, из теме икона или пуна путања</para>
</callout>
<callout arearefs="co-terminaloptions"
><para
>Само ако је потребан терминал</para>
</callout>
<callout arearefs="co-path"
><para
>Радна фасцикла за наредбу</para>
</callout>
<callout arearefs="co-type"
><para
>Још предуметка</para>
</callout>
<callout arearefs="co-terminal"
><para
><literal
>true</literal
> ако је потребан терминал, текстуални програм</para>
</callout>
<callout arearefs="co-x-kde-startupnotify"
><para
>Прикажи скакутајући показивач, искључи ако не ради.</para>
</callout>
<callout arearefs="co-x-dcop-servicetype"
><para
>Програм уредно покренут? Уклони ако не ради.</para>
</callout>
<callout arearefs="co-categories"
><para
>Категорије за К‑мени, не користи се на површи</para>
</callout>
</calloutlist>



</sect2>

<sect2 id="desktop-icons-exec">
<title
>Опција <varname
>Exec</varname
> .десктоп фајловима</title>

<para
>За наредбом може следити неколико местодржача, који ће бити замењени стварним вредностима кад се програм покрене: <variablelist>
<varlistentry>
<term
><literal
>%f</literal
></term
> <listitem
><para
>Појединачно име фајла; за испуштање фајла на икону, или са придружењима фајлу.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%F</literal
></term>
<listitem
><para
>Списак фајлова; за програме који могу да отворе неколико локалних фајлова одједном. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%u</literal
></term>
<listitem
><para
>Појединачни УРЛ: ако програм сам може да рукује нпр. ФТП или ХТТП УРЛ‑овима, иначе <acronym
>КДЕ</acronym
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%U</literal
></term>
<listitem
><para
>Списак УРЛ‑ова; прво ће преузети фајл и проследити локални фајл програму (!!)</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%d</literal
></term>
<listitem
><para
>Фасцикла фајла за отварање; корисно ако програм захтева фајл у текућој радној фасцикли.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%D</literal
></term>
<listitem
><para
>Списак фасцикли, не превише практично.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%i</literal
></term
> 
<listitem
><para
>Икона, опција <option
>--icon</option
>; <acronym
>КДЕ</acronym
> програм ће за траку задатака користити икону дату редом <varname
>Icon</varname
>=.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%m</literal
></term>
<listitem
><para
>Минијатурна икона, застарело.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><literal
>%c</literal
></term
> 
<listitem
><para
>Наслов, опција <option
>--caption</option
>; <acronym
>КДЕ</acronym
> програм ће за траку задатака користити име дато редом <varname
>Name</varname
>=.</para>
</listitem>
</varlistentry>

</variablelist>
</para>

<informalexample>
<para
>Примери: <segmentedlist>
<segtitle
>ред <varname
>Exec</varname
></segtitle>
<segtitle
>извршава наредбу</segtitle>
<seglistitem
><seg
><literal
>ksirc %i</literal
></seg
><seg
><command
>ksirc --icon ksirc</command
></seg>
</seglistitem>
<seglistitem
><seg
><literal
>cd %d; kedit $(basename %f)</literal
></seg
><seg
><command
>cd /tmp; kedit file.txt</command
></seg>
</seglistitem>
</segmentedlist>
</para>
</informalexample>

<!--Dont' know what this refers to: -->
<!--See What's This (Shift-F1) in Properties Dialog-->

</sect2>

<sect2 id="desktop-icons-devices">
<title
>Уређаји</title>
<para
>Везе ка уређајима путем .десктоп фајлова: <menuchoice
><guimenu
>Направи ново</guimenu
><guisubmenu
>Уређај</guisubmenu
></menuchoice
> </para>
</sect2>

<sect2 id="where-to-define">
<title
>Где дефинисати</title>

<para
>Многа су места за дефинисање икона површи: <itemizedlist>

<listitem
><para
><filename class="directory"
>~/Desktop</filename
>: копирано из <filename class="directory"
>/etc/skel/Desktop</filename
></para
></listitem>

<listitem
><para
><filename class="directory"
>$<envar
>KDEDIR</envar
>/apps/kdesktop/Desktop</filename
> (стопљено)</para
></listitem>

<listitem
><para
><filename class="directory"
>$<envar
>KDEDIR</envar
>/apps/kdesktop/DesktopLinks</filename
> (копирано)</para
></listitem>

<listitem
><para
>Иконе уређаја (динамички стопљене)</para
></listitem>

<listitem
><para
>Дистрибуцији својствено: СуСЕ копира неке иконе у <filename
>startkde.theme</filename
> из <filename class="directory"
>/opt/kde3/share/config/SuSE/default/</filename
></para
></listitem>

</itemizedlist>
</para>
</sect2>
</sect1>

<sect1 id="kde-menu">
<title
>К‑мени</title>

<sect2 id="how-it-works">
<title
>Начин рада</title>

<para
>У <acronym
>КДЕ‑у</acronym
> 3.2 уведен је заједнички формата менија са <ulink url="http://freedesktop.org/Standards/menu-spec/"
>http://freedesktop.org/Standards/menu-spec/</ulink
></para>
<para
>Пре <acronym
>КДЕ‑а</acronym
> 3.2: <itemizedlist>

<listitem
><para
>структура фасцикли под <filename class="directory"
>share/applnk</filename
></para
></listitem>

<listitem
><para
>структура фасцикли представља структуру менија</para
></listitem>

<listitem
><para
>сваки .десктоп фајл представља појединачни програм</para
></listitem>

</itemizedlist>
</para>

<para
>Било је тешко преуредити овакву структуру, па у <acronym
>КДЕ‑у</acronym
> 3.2 нови формат менија: <itemizedlist>
<listitem
><para
>дефинише структуру у једном <literal role="extension"
>.menu</literal
> фајлу</para
></listitem>
<listitem
><para
>заснован је на категоријама</para
></listitem>
<listitem
><para
>дели се између Гнома и <acronym
>КДЕ‑а</acronym
></para
></listitem>
<listitem
><para
>подржава и меније у стилу <literal
>applnk</literal
></para
></listitem>
</itemizedlist>
</para>

<informalexample>
<para
>Пример из <filename
>applications.menu</filename
>: <programlisting
><markup>
        &lt;Menu&gt;
            &lt;Name&gt;Office&lt;/Name&gt;
            &lt;Directory&gt;suse-office.directory&lt;/Directory&gt;
            &lt;Include&gt;
                &lt;Filename&gt;Acrobat Reader.desktop&lt;/Filename&gt;
                &lt;Filename&gt;kde-kpresenter.desktop&lt;/Filename&gt;
                &lt;Filename&gt;kde-kword.desktop&lt;/Filename&gt;
            &lt;/Include&gt;
        &lt;Menu&gt;
</markup
>
</programlisting>
</para>
<para
>Унос менија са три програма: <itemizedlist>

<listitem
><para
><filename
>/usr/share/applications/Acrobat Reader.desktop</filename
></para
></listitem>

<listitem
><para
><filename
>/opt/kde3/share/applications/kde/kpresenter.desktop</filename
></para
></listitem>

<listitem
><para
><filename
>/opt/kde3/share/applications/kde/kword.desktop</filename
></para
></listitem>

</itemizedlist>
</para>
</informalexample>
</sect2>

<sect2 id="stored-where">
<title
>А где се складиште?</title>

<para
>Фајлови који описују структуру менија, <literal role="extension"
>.menu</literal
>, складиште се у <filename class="directory"
>$<envar
>KDEDIR</envar
>/etc/xdg/menus</filename
> и <filename class="directory"
>/etc/xdg/menus</filename
>. Оне дефинишу структуру менија широм система, а контролише их $<envar
>XDG_CONFIG_DIRS</envar
>. <filename class="directory"
>$<envar
>HOME</envar
>/.config/menus</filename
> складишти кориснику својствене измене у структури менија, а контролише је $<envar
>XDG_CONFIG_HOME</envar
>. За више информација, погледајте <ulink url="http://www.freedesktop.org/Standards/basedir-spec"
> http://www.freedesktop.org/Standards/basedir-spec</ulink
>.</para>

<para
>.Десктоп фајлови описују програме и складиште се у: <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/applications</filename
>, <filename class="directory"
>/usr/share/applications</filename
>, <filename class="directory"
>/usr/local/share/applications</filename
>. Ово су .десктоп фајлови који важе широм система, контролише их $<envar
>XDG_DATA_DIRS</envar
>. </para>

<para
>Фасцикла <filename class="directory"
>$<envar
>HOME</envar
>/.local/applications</filename
> садржи .десктоп фајлове и кориснику својствене измене. Контролише је $<envar
>XDG_DATA_HOME</envar
>. За више информација, погледајте <ulink url="http://www.freedesktop.org/Standards/basedir-spec"
>http://www.freedesktop.org/Standards/basedir-spec</ulink
></para>


<para
>Фајлови који описују подменије, <literal role="extension"
>.directory</literal
>, складиште се у: <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/desktop-directories</filename
>, <filename class="directory"
>/usr/share/desktop-directories</filename
>, <filename class="directory"
>/usr/local/share/desktop-directories</filename
>. Ово су фајлови менија широм система, које контролише $<envar
>XDG_DATA_DIRS</envar
>. Кориснику својствене измене складиште се у: <filename class="directory"
>$<envar
>HOME</envar
>/.local/desktop-directories</filename
>. Њих контролише променљива $<envar
>XDG_DATA_HOME</envar
>. За више информација, погледајте <ulink url="http://www.freedesktop.org/Standards/basedir-spec"
>http://www.freedesktop.org/Standards/basedir-spec</ulink
>. </para>

<informalexample>
<para
>Пример из <filename
>applications.menu</filename
>: <programlisting
><markup>
             &lt;Menu&gt;
                        &lt;Name&gt;Art&lt;/Name&gt;
                       &lt;Directory&gt;suse-edutainment-art.directory&lt;/Directory&gt;
                        &lt;Include&gt;
                                &lt;Category&gt;X-SuSE-Art&lt;/Category&gt;
                        &lt;/Include&gt;
                &lt;/Menu&gt;
</markup
>
</programlisting>
</para>

<para
><literal
>Art</literal
> је унутрашње име за овај мени. <filename
>suse-edutainment-art.directory</filename
> дефинише име и икону за овај мени, а мени садржи све програме који као категорију имају наведено <literal
>X-SuSE-Art</literal
>, нпр: <programlisting
>Categories=Qt;KDE;Education;X-SuSE-Art
</programlisting
></para>

<para
><filename
>suse-edutainment-art.directory</filename
> дефинише име и икону за овај мени: <programlisting
>[Desktop Entry]
Name=Art and Culture
Icon=kcmsystem 
</programlisting>
</para>
</informalexample>
</sect2>

<sect2 id="common-pitfalls">
<title
>Уобичајене замке</title>

<para
>Програми који <emphasis
>нису</emphasis
> у менију <emphasis
>не</emphasis
> постоје с тачке гледишта других програма или придружења фајловима. Ако уклоните неки програм из менија, <acronym
>КДЕ</acronym
> претпоставља да не желите да га користите.</para>

<para
>Кад се програми не желе у менију, ставите их у мени <filename
>.hidden</filename
> или у наменски мени са <programlisting>
NoDisplay=true
</programlisting
> у фајлу <literal role="extension"
>.directory</literal
>.</para>
</sect2>

<sect2 id="essential-menus">
<title
>Важни менији</title>

<para
><filename class="directory"
>$<envar
>KDEDIR</envar
>/etc/xdg/menus/applications-merged/</filename
> садржи <filename
>kde-essential.menu</filename
>, који укључује неке важне меније који обично нису приказани у самом К‑менију: <itemizedlist>
<listitem
><para
>Контролни центар има скривени мени поставки, чији садржај дефинише <filename
>kde-settings.menu</filename
>, и чије име и икону дефинише <filename
>kde-settings.directory</filename
></para>
</listitem>
<listitem
><para
>Инфо центар има скривени мени информација, чији садржаје дефинише <filename
>kde-information.menu</filename
>, и чије име и икону дефинише <filename
>kde-information.directory</filename
>.</para>
</listitem>

<listitem
><para
>Чувари екрана садрже скривени мени систем/чувари екрана, чији садржај дефинише <filename
>kde-screensavers.menu</filename
>, и чије име и икону дефинише <filename
>kde-system-screensavers.directory</filename
>. <filename
>$<envar
>KDEDIR</envar
>/share/desktop-directories/kde-system-screensavers.directory</filename
> садржи: <programlisting
>NoDisplay=true
</programlisting>
</para>
</listitem>
</itemizedlist
></para>
</sect2>

<sect2 id="old-style-menus">
<title
>Менији у старом стилу</title>

<para
><acronym
>КДЕ</acronym
> наставља да подржава меније у старом стилу који су дефинисани структурама фасцикли у <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/applnk</filename
> (широм система) и <filename class="directory"
>$<envar
>HOME</envar
>/.kde/share/applnk</filename
> (кориснику својствено). На ово се спада ако .десктоп фајл нема ред <varname
>Categories</varname
>=. Ако има, категорије одређују локацију у менију.</para>
</sect2>

<sect2 id="ksycoca">
<title
><application
>К‑Сикока</application
></title>
<para
>К‑Сикока кешира структуру менија и податке о свим расположивим програмима. Базу података можете поново изградити наредбом <userinput
><command
>kbuildsycoca4</command
></userinput
>. Изграђена база података пребива у <filename class="directory"
>/var/tmp/kdecache-${<envar
>USER</envar
>}/ksycoca</filename
>. Аутоматски је ажурира КДЕД, проверава се при пријављивању у <acronym
>КДЕ</acronym
>, а КДЕД надгледа измене док сте пријављени.</para>

<para
>Да искључите надгледање измена (може бити споро преко НФС‑а), додајте у <filename
>kdedrc</filename
>: <programlisting
>[General]
CheckSycoca=false
</programlisting>
</para>

<para
>Да бисте приморали поновно стварање, извршите <userinput
><command
>touch $<envar
>KDEDIR</envar
>/share/services/update_ksycoca</command
></userinput
>.</para>

</sect2>

<sect2 id="kmenuedit">
<title
><application
>Уређивач К‑менија</application
></title>

<para
><application
>Уређивач К‑менија</application
> је намењен једнокорисничкој постави. Измене у структури менија уписују се у <filename
>~/.config/menus/applications-kmenuedit.menu</filename
>, измене у програмима у <filename class="directory"
>~/.local/share/applications/</filename
>, а измене у подменијима (икона, име) у <filename class="directory"
>~/.local/share/desktop-directories/</filename
>. Админ-алатка Киоска користи <application
>Уређивач К‑менија</application
> и копира горње измене у профиле или локације широм система. </para>

</sect2>

</sect1>

<!-- This section might be redundant. If it isn't, it needs some screenies -->
<sect1 id="kde-panel">
<title
><acronym
>КДЕ‑ов</acronym
> панел</title>

<para
><acronym
>КДЕ‑ов</acronym
> панел познат је и као <application
>Кикер</application
>. Модуларан је и састоји се од следећих компоненти: <itemizedlist>
<listitem
><para
>аплета</para
></listitem>
<listitem
><para
>програмских дугмади</para
></listitem>
<listitem
><para
>посебних дугмади</para
></listitem>
</itemizedlist>
</para>

<para
>Панел подразумевано садржи следеће аплете: <itemizedlist
> <listitem
><para
>пејџер, који приказује виртуелне површи</para
></listitem
> <listitem
><para
>траку задатака</para
></listitem
> <listitem
><para
>системску касету</para
></listitem
> <listitem
><para
>сат</para
></listitem
> </itemizedlist
> и следећу посебну дугмад: <itemizedlist>
<listitem
><para
>К‑мени</para
></listitem>
<listitem
><para
>дугме површи</para
></listitem>
</itemizedlist>
</para>

<para
>Колико дозвољава простор, додата су и разна програмска дугмад: <itemizedlist>
<listitem
><para
>домаће дугме</para
></listitem>
<listitem
><para
>дугме прегледача</para
></listitem>
<listitem
><para
>дугме <application
>К‑поште</application
></para
></listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="file-associations">
<title
>Придружења фајлова</title>

<para
>Придружења фајлова повезују тип фајла са програмом или програмима. Тип фајла се успоставља одређивањем његовог МИМЕ типа. МИМЕ типови познати <acronym
>КДЕ‑у</acronym
> складиште се у <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/mimelnk</filename
>, а .десктоп фајл сваког програма садржи списак МИМЕ типова које тај програм подржава.</para>

<informalexample>
<para
><filename
>kview.desktop</filename
> <programlisting
>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
</programlisting>
</para>

<para
><filename
>kuickshow.desktop</filename
>: <programlisting
>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
</programlisting>
</para>

<para
>Оба могу да отварају <literal
>image/gif</literal
>. Који се онда користи за отварање ГИФ фајла?</para>

<para
>Програм са највишим првенством. <filename
>kview.desktopkview.desktop</filename
> садржи <programlisting>
InitialPreference=3
</programlisting
> док <filename
>kuickshow.desktop</filename
> садржи <programlisting>
InitialPreference=6
</programlisting
> Стога ће се <application
>Квикшоу</application
> користити за отварање ГИФ фајлова. </para>

<para
>Како да задамо <application
>К‑приказ</application
> као подразумеван? </para>

<para
>Придружење фајлу корисник може да измени у Контролном центру. Те измене се складиште у <filename
>$<envar
>HOME</envar
>/.kde/share/config/profilerc</filename
>. Да бисте сачували исте поставке за више корисника, сачувајте их у фасцикли профила корисника или глобалној поставној фасцикли <acronym
>КДЕ‑а</acronym
> да се користе као подразумеване за више корисника.</para>

</informalexample>

</sect1>

</chapter>

<chapter id="locking-down-kde">
<title
>Закључавање <acronym
>КДЕ‑а</acronym
></title>

<sect1 id="how-it-works-the-basics">
<title
>Како функционише — основе</title>

<para
><acronym
>КДЕ‑ове</acronym
> могућности закључавања концентрисане су око следећих опција:</para>

<itemizedlist>
<listitem
><para
><link linkend="immutable-configuration-options"
>Учините непроменљивим поставне опције</link
></para
></listitem>
<listitem
><para
><link linkend="action-restrictions"
>Ограничења за поједине радње</link
></para
></listitem>
<listitem
><para
><link linkend="url-restrictions"
>Ограничите приступ извесним УРЛ‑овима</link
></para
></listitem>
<listitem
><para
><link linkend="configuration-modules"
>Ограничите приступ извесним поставним модулима</link
></para
></listitem>
</itemizedlist>

</sect1>

<sect1 id="immutable-configuration-options">
<title
>Непроменљиве поставне опције</title>
<subtitle
>Закључавање <acronym
>КДЕ‑а</acronym
></subtitle>

<para
>Непроменљиве опције омогућавају администратору система да обезбеди подразумеване поставке које корисник не може мењати.</para>

<para
>Кад се поставна опција учини непроменљивом, корисникове поставне опције које су претходно постојале биће игнорисане.</para>

<para
>Опције се могу контролисати по ставци, по групи ставки, или по фајлу.</para>

<para
>Ако су фајл или група непроменљиви, непроменљиве су све поставне опције за тај фајл или групу, чак и оне за које администратор система није обезбедио подразумеване.</para>

<note
><para
>Подршка у програмима за непроменљиве опције може да варира од програма до програма. Иако корисник неће моћи да врши трајне измене у непроменљивим поставним опцијама, ипак може добити опцију корисничког сучеља да изврши једну такву измену.</para
></note>

</sect1>

<sect1 id="action-restrictions">
<title
>Ограничења радњи</title>

<para
><acronym
>КДЕ</acronym
> програми изграђени су око концепта радњи. Радње се могу активирати на разне начине, типично преко траке менија, неке од трака алатки или пречицом са тастатуре. Пример је радња <action
>Сачувај документ</action
>. Радњу је могуће ограничити ако знате њено унутрашње име. Кад је радња једном ограничена, више се неће појављивати на траци менија или траци алатки. Унутрашње име радње <action
>Сачувај документ</action
> гласи <literal
>action/file_save</literal
>. Радни оквир за закључавање такође обезбеђује скуп апстрактнијих ограничења, која се могу користити да искључе функционалност која није покривена појединачном радњом. Пример је ограничење <literal
>shell_access</literal
>, које искључује сву функционалност која би пружила кориснички приступ уникс шкољци.</para>

<example>
<title
>Ограничите кориснички приступ шкољкама</title>

<para
>Да бисмо спречили кориснички приступ командној шкољци, можемо ограничити радњу <literal
>shell_access</literal
> тако што ћемо у <filename
>kdeglobals</filename
> додати: </para
> 

<screen
>[KDE Action Restrictions]
shell_access=false</screen>

<para
>Пошто ово утиче на К‑мени и расположиве програме, морамо приморати ажурирање базе података Сикоке:</para>

<screen
><userinput
><command
>touch</command
><filename
>$<envar
>KDEDIR</envar
>/share/services/update_ksycoca</filename
></userinput
></screen>

<para
>Сада се поново пријавимо у <acronym
>КДЕ</acronym
> и проверимо следеће:</para>

<itemizedlist>
<listitem
><para
>К‑мени</para
></listitem>
<listitem
><para
>У <application
>К‑освајачу</application
>, <menuchoice
><guimenu
>Алатке</guimenu
><guimenuitem
>Отвори терминал</guimenuitem
></menuchoice
></para
></listitem>
<listitem
><para
><keycombo action="simul"
><keycap
>Alt</keycap
><keycap
>F2</keycap
></keycombo
> извршава наредбу</para
></listitem>
</itemizedlist>
</example>
<para
>Пуна документација о расположивим радњама може се наћи на <ulink url="http://www.kde.org/areas/sysadmin/"
>http://www.kde.org/areas/sysadmin/</ulink
>.</para>

<para
>Доле је наведено неколико занимљивијих радњи:</para>

<variablelist>
<varlistentry>
<term
><option
>action/options_configure</option
></term>
<listitem
><para
>Опција <guimenuitem
>Подеси &lt;програм&gt;...</guimenuitem
> из менија <guimenu
>Поставке</guimenu
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>action/help_report_bug</option
></term>
<listitem
><para
>Опција <guimenuitem
>Пријави грешку</guimenuitem
> из менија <guimenu
>Помоћ</guimenu
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>action/kdesktop_rmb</option
></term>
<listitem
><para
>Контекстни мени (десни клик) површи.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>action/kicker_rmb</option
></term>
<listitem
><para
>Контекстни мени (десни клик) панела.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>user/root</option
></term>
<listitem
><para
>Сакријте све радње или програме који захтевају корени приступ.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>shell_access</option
></term>
<listitem
><para
>Сакрива све радње или програме који обезбеђују приступ шкољци. </para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>print/system</option
></term>
<listitem
><para
>Искључује опцију одабира штампарског система (позадине).</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>lock_screen</option
></term>
<listitem
><para
>Да ли ће корисник моћи да закључа екран</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>start_new_session</option
></term>
<listitem
><para
>Да ли корисник може да покрене другу сесију Икса (такође в. <application
>КДМ</application
>)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>opengl_screensavers</option
></term>
<listitem
><para
>Да ли се дозвољавају опенГЛ чувари екрана.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>manipulatescreen_screensavers</option
></term>
<listitem
><para
>Дозвољава чуваре екрана који не скривају цео екран</para
></listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="url-restrictions">
<title
>Ограничења УРЛ‑ова</title>

<para
>Постоје три врсте ограничења које се могу применити на УРЛ‑ове:</para>

<variablelist>
<varlistentry>
<term
>листање</term>
<listitem
><para
>контрола да ли је дозвољено листање фасцикли.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>отварање</term>
<listitem
><para
>контрола могућности отварања извесних УРЛ‑ова</para
></listitem>
</varlistentry>
<varlistentry>
<term
>преусмеравање</term>
<listitem
><para
>контрола да ли један УРЛ може да отвори други, било аутоматски или помоћу хипервезе.</para
></listitem>
</varlistentry>
</variablelist>

<para
>Правила се проверавају по редоследу којим су дефинисана. Последње примењено правило дефинише да ли се УРЛ‑у може приступити.</para>

<para
>Следећа правила искључују отварање ХТТП и ХТТПС УРЛ‑ова изван <systemitem class="domainname"
>.ourcompany.com</systemitem
>:</para>

<screenco
><areaspec>
<area id="url_commas" coords="3"/>
<area id="url_rule1" coords="3"/>
<area id="url_rule2" coords="4"/>
</areaspec>
<screen
>[KDE URL Restrictions]
rule_count=2
rule_1=open,,,,http,,,false
rule_2=open,,,,http,*.ourcompany.com,,true</screen
></screenco>

<calloutlist>
<callout arearefs="url_commas">
<para
>Прве четири запете прескачу критеријуме избора који се тичу изворног УРЛ‑а. Овај је део потребан само код правила за преусмеравање.</para
> 
</callout>
<callout arearefs="url_rule1"
><para
><option
>rule_1</option
> забрањује отварање било ког ХТТП или ХТТПС УРЛ‑а</para
></callout>
<callout arearefs="url_rule2"
><para
><option
>rule_2</option
> допушта отварање било ког ХТТП и ХТТПС УРЛ‑а у домену <systemitem class="domainname"
>.ourcompany.com</systemitem
>. Имајте у виду да је џокер <token
>*</token
> дозвољен само на почетку домена.</para
></callout>
</calloutlist>

<para
>Следећа правила спречавају корисника да прегледа фасцикле на локалном фајл систему које су изван његове домаће фасцикле ($<envar
>HOME</envar
>):</para>

<screenco
><areaspec>
<area id="home_rule1" coords="3"/>
<area id="home_rule2" coords="4"/>
</areaspec>
<screen
>[KDE URL Restrictions]
rule_count=2
rule_1=list,,,,file,,,false
rule_2=list,,,,file,,$HOME,true</screen
></screenco>

<calloutlist>
<callout arearefs="home_rule1"
><para
><option
>rule_1</option
> забрањује листање било које локалне фасцикле</para
></callout>
<callout arearefs="home_rule2"
><para
><option
>rule_2</option
> допушта листање фасцикли под корисниковом фасциклом $<envar
>HOME</envar
>.</para
></callout>
</calloutlist>

<para
>$<envar
>HOME</envar
> и $<envar
>TMP</envar
> су посебне вредности које показују домаћу и <acronym
>КДЕ‑ову</acronym
> привремену фасциклу за корисника, нпр. <filename class="directory"
>/tmp/kde-bastian</filename
></para>

<para
>Следећа правила спречавају корисника да отвара локалне фајлове који су изван његове домаће фасцикле:</para>

<screenco
><areaspec>
<area id="local_rule1" coords="3"/>
<area id="local_rule2" coords="4"/>
<area id="local_rule3" coords="5"/>
</areaspec>
<screen
>[KDE URL Restrictions]
rule_count=3
rule_1=open,,,,file,,,false
rule_2=open,,,,file,,$HOME,true
rule_3=open,,,,file,,$TMP,true</screen
></screenco>

<calloutlist>
<callout arearefs="local_rule1"
><para
><option
>rule_1</option
> забрањује отварање било ког локалног фајла</para
></callout>
<callout arearefs="local_rule2"
><para
><option
>rule_2</option
> допушта отварање фајлова под корисниковом фасциклом $<envar
>HOME</envar
>.</para
></callout>
<callout arearefs="local_rule3"
><para
><option
>rule_3</option
> допушта отварање фајлова у <acronym
>КДЕ‑овој</acronym
> привременој фасцикли корисника. Ово треба неким <acronym
>КДЕ</acronym
> програмима, који прво преузимају фајл или документ у привремену фасциклу, па га затим отварају.</para
></callout>
</calloutlist>


<para
>Опција преусмеравања контролише да ли документи са извесне локације могу упутити, аутоматски или ручно преко хипервезе, на неку другу локацију. Као општа мера безбедности, постоји скуп подразумеваних правила. На пример, документи на Интернету не могу да упућују на локално ускладиштене документе.</para>

<para
>Да бисмо, на пример, интранет серверу <systemitem class="systemname"
>www.mycompany.com</systemitem
> дали могућност упућивања на локалне фајлове, додали бисмо следеће правило:</para>

<screen
>[KDE URL Restrictions]
rule_count=1
rule_1=redirect,http,www.mycompany.com,,file,,,true</screen>

<para
>Уместо да навођења протокола по имену, могуће је такође одредити целу групу протокола. У ту сврху, дефинисане су следеће групе:</para>

<variablelist>
<varlistentry>
<term
><literal
>:local</literal
></term>
<listitem
><para
>Протоколи који приступају локално ускладиштеним информацијама. Примери: <literal
>file:/</literal
>, <literal
>man:/</literal
>, <literal
>fonts:/</literal
>, <literal
>floppy:/</literal
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><literal
>:internet</literal
></term>
<listitem
><para
>Уобичајени интернет протоколи, као ХТТП и ФТП</para
></listitem>
</varlistentry>
</variablelist>

<para
>Подаци о протоколима складиште се у <literal role="extension"
>*.protocol</literal
> фајловима, у фасцикли <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/services</filename
>.</para>

<para
>Унос <option
>Class</option
>= дефинише групу које је протокол део: <userinput
><command
>grep</command
> <option
>Class=</option
> <filename
>$<envar
>KDEDIR</envar
>/share/services/*.protocol</filename
></userinput
></para>

<para
>Општа правила:</para>

<itemizedlist>
<listitem
><para
>Локални протоколи могу упутити на било који други протокол</para
></listitem>
<listitem
><para
>Увек је дозвољено упутити на интернет протоколе</para
></listitem>
<listitem
><para
>Нису сви протоколи део неке групе, на пример <literal
>fish:/</literal
>.</para
></listitem>
</itemizedlist>

</sect1>

<sect1 id="configuration-modules">
<title
>Модули за подешавање</title>

<para
><acronym
>КДЕ</acronym
> поседује модуле за подешавање разних аспеката окружења. Модули за подешавање појављују се у Контролном центру, у дијалогу за подешавање програма или на оба места.</para>

<informalexample>
<para
>Модул за подешавање проксија појављује се у Контролном центру, али и као део <application
>К‑освајачевог</application
> дијалога за подешавање.</para>

<para
>Појединачни модули за подешавање могу се покренути наредбом <userinput
><command
>kcmshell4</command
> <replaceable
>module</replaceable
></userinput
></para>

<para
>За покретање модула проксија извршите:</para>
<itemizedlist>
<listitem
><para
><command
>kcmshell4</command
> <filename
>kde-proxy.desktop</filename
></para
></listitem>
<listitem
><para
><command
>kcmshell4</command
> <literal
>proxy</literal
></para
></listitem>
</itemizedlist>

<para
><note
><para
>Не користе сви програми модуле за подешавање, већ је дијалог за подешавање често нераздвојиви део самог програма.</para
></note
></para>
</informalexample>

<para
>Сви модули за подешавање, строго говорећи, део су К‑менију.</para>

<itemizedlist>
<listitem>
<para
>Видљиви модули у Контролном центру обично имају .десктоп фајл у <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/applications/kde</filename
> и поређани су под скривеним менијем <guimenu
>Поставке-модули</guimenu
> из фајла <filename
>kde-settings.menu</filename
>, укљученог из <filename
>kde-essential.menu</filename
></para>
<screen
><userinput
><command
>kbuildsycoca4</command
> <option
>--menutest</option
>2&gt;  /dev/null | <command
>grep</command
> <option
>-i</option
> Поставке-модули</userinput
></screen>
</listitem>
<listitem>
<para
>Програму својствени модули обично имају .десктоп фајл под <filename
>$<envar
>KDEDIR</envar
>/share/applnk/.hidden</filename
> који одговара скривеном менију <literal
>.hidden</literal
>, укљученом као резултат <markup
>&lt;KDELegacyDirs&gt;</markup
></para>
<screen
><userinput
><command
>kbuildsycoca4</command
> <option
>--menutest</option
>2&gt; /dev/null | <command
>grep</command
> <literal
>.hidden</literal
> .hidden</userinput
></screen>
</listitem>
<listitem
><para
>У <acronym
>КДЕ‑у</acronym
> 3.3 могуће је уређивати Контролни центар Уређивачем К‑контроле. Уређивач К‑контроле ради исто као <application
>Уређивач К‑менија</application
>, и измене важе само за тренутног корисника. Користите Админ-алатку Киоска да начините измене за све.</para
></listitem
> 
</itemizedlist>

<para
>Појединачни модули за подешавање могу се искључити додавањем у <filename
>kdeglobals</filename
>:</para>

<screen
>[KDE Control Module Restrictions]
<replaceable
>module-id</replaceable
>=false</screen>
<para
>На пример, за искључење модула проксија:</para>
<screen
>[KDE Control Module Restrictions]
kde-proxy.desktop=false</screen>
<para
>Потом у Контролном центру и дијалогу за подешавање <application
>К‑освајача</application
> проверите да ли је подешавање проксија још увек тамо. </para>

</sect1>
<!-- 
<sect1 id="making-it-work">
<title
>Making it Work</title>

Making It Work
KDE 3.2: Set $KDEDIRS from startkde script
Distribute profiles to all clients

</para>
</sect1>
-->
</chapter>

<chapter id="the-lazy-admin">
<title
>Лењи администратор</title>

<!-- This section appears to need quite a lot of additional words to -->
<!-- make sense. Perhaps it would be better to comment it out if it -->
<!-- can't be updated before the next release (Phil) -->
<!-- FIXME: Commented it out until it's got some more content fleshing it -->
<!-- out (Lauri)

<sect1 id="lazy-admin-overview">
<title
>Overview</title>

<para>
The Lazy Admin
Overview
Deployment
	How to get &kde; available on many clients
Remote Desktop Sharing
Take a look at someone else desktop
DCOP
	The DCOP command line tool makes it possible to control &kde; applications from the command line
KDialog
	A versatile tool to use standard &kde; dialogs in your own scripts



Deployment
Thin Clients
Installing Software
= AutoYaST
= KickStart
Maintaining Settings
= /etc/kderc, other settings
= Use rsync to copy files around
= Shared filesystem such as NFS
o store profiles themselves on NFS



http://www.suse.de/~nashif/autoinstall/index.html

</para>
</sect1>
-->
<sect1 id="remote-desktop-sharing">
<title
>Удаљено дељење површи</title>

<para
>Удаљено дељење површи омогућава удаљеним корисницима да виде и, опционо, контролишу површ тренутног корисника. Удаљеном кориснику мора се послати позивница, а могуће је направити трајну позивницу заштићену лозинком. Ово је идеално за тимове техничке подршке или администраторе, да би имали приступ површима корисника ради претресања и отклањања проблема, или вођења корисника кроз неки поступак.</para>

<para
>Удаљено дељење површи укључује два програма: <application
>КРФБ</application
> („<acronym
>КДЕ‑ов</acronym
> удаљени кадробафер“, ВНЦ сервер) и <application
>КРДЦ</application
> („<acronym
>КДЕ‑ова</acronym
> веза с удаљеном површи“, ВНЦ клијент).</para>

<para
><application
>КРФБ</application
> може да користи сваки корисник да ствара позивнице и управља њима. Уз позивнице се добија једнократна лозинка која примаоцу допушта да се повеже на вашу површ. Она подразумевано важи за само једно успешно повезивање и истиче после сат времена ако се не искористи.</para>

<para
>КДЕД модул <literal
>kinetd</literal
> рукује долазним везама. Да ли ради можете проверити наредбом <userinput
><command
>dcop</command
> kded kinetd services</userinput
>. <application
>КРФБ</application
> подразумевано чека на везе на порту 5900. Кад је долазна веза остварена, појављује се дијалог који тражи потврду од тренутног корисника.</para>

<!-- TODO: Write a bit more here, with a walk through maybe? -->

</sect1>

<sect1 id="kde-diy">
<title
>„Уради сам“ у <acronym
>КДЕ‑у</acronym
> — градња сопствених алатки</title>

<sect2 id="dcop">
<title
>ДКОП</title>

<para
>Протокол за комуникацију на радној површи, ДКОП, лагани је механизам за међупроцесну комуникацију. ДКОП омогућава кориснику интеракцију са програмима у извршавању. <acronym
>КДЕ</acronym
> обезбеђује два програма за коришћење ДКОП‑а: наредбу командне линије <command
>dcop</command
> и ГУИ програм <application
>К‑ДКОП</application
>. </para>
<para
>Неколико белешки о наредби <command
>dcop</command
>: </para>

<para>
<itemizedlist>
<listitem>
<para
><userinput
><command
>dcop</command
> [опције] [програм [објекат [функција [арг1] [арг2] ... ] ] ]</userinput
> </para>
</listitem>
<listitem>
<para
>Програми који могу да отворе више од једног прозора истовремено биће наведени као <literal
>&lt;програм&gt;-ПИД</literal
> </para>
</listitem>
<listitem>
<para
>Сви аргументи разликују величину слова. Нпр. <function
>setFullScreen</function
> и <function
>setfullscreen</function
> две су различите функције. </para>
</listitem>
<listitem>
<para
>Токен * регуларних израза може се користити у програму и аргументима објекта. <screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> kon*</option
></userinput>
konqueror-16006
konsole-8954
</screen>
</para>
</listitem>

</itemizedlist>

</para>

<para
>Неке наредбе за пример и њихов излаз: </para>

<informalexample>
<screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> konsole*</option
></userinput>
konsole-8954
</screen>
<para
>Примерак <application
>Конзоле</application
> у раду са ПИД‑ом 8954.</para>

<screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> konsole-8954</option
></userinput>
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
</screen>
<para
>Овде можете видети да има четири текуће сесије.</para>

<screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> konsole-8954</option
><option
> konsole</option
></userinput>
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()
</screen>
<para
>Опције за главни програм <application
>Конзоле</application
>. </para>

<screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> konsole-8954</option
><option
> session-1</option
></userinput>
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)
</screen>
<para
>Опције за прву сесију, <literal
>session-1</literal
>.</para>

<screen
><prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> konsole-8954</option
><option
> konsole</option
><option
> setFullScreen</option
><parameter
> true</parameter
></userinput
>
</screen>
<para
>Поставља <application
>Конзолу</application
> преко целог екрана.</para>

</informalexample>

<para
>Ако има више од једног програма или објекта, који да употребите? Имате ли упућивач? </para>
<screen
><prompt
>% </prompt
><userinput
><command
>echo</command
><option
> $KONSOLE_DCOP</option
></userinput>
DCOPRef(konsole-7547,konsole)

<prompt
>% </prompt
><userinput
><command
>dcop</command
><option
> $KONSOLE_DCOP</option
><option
> newSession</option
></userinput>
session-6

<prompt
>% </prompt
><userinput
><command
>dcopstart</command
><option
> konsole</option
></userinput>
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 /my/work/directory'

</screen>

</sect2>

<sect2 id="kdialog">
<title
>К‑дијалог</title>
<subtitle
>„Уради сам“ у <acronym
>КДЕ‑у</acronym
> — градња сопствених алатки</subtitle>

<para
>Можете користити <acronym
>КДЕ</acronym
> дијалоге у сопственим скриптама, комбинујући моћ скриптовања уникс шкољке са лакоћом коришћења <acronym
>КДЕ‑а</acronym
>.</para>

<screen
><userinput
><command
>kdialog</command
> <option
>--msgbox 'Стигла вам је пошта!'</option
></userinput
></screen>

<screen
><userinput
><command
>kdialog</command
> <option
>--title 'Нова пошта'</option
> <option
>--msgbox 'Стигла вам је пошта!'</option
></userinput
></screen>

<para
>К‑дијалог део може се заменити опцијом <option
>--caption</option
> </para>

<screen
><userinput
><command
>kdialog</command
> <option
>--title 'Нова пошта'</option
> <option
>--msgbox 'Стигла вам је пошта!'</option
> <option
>--dontagain myfile:mykey</option
></userinput
></screen>

<para
>Уписује у <filename
>$<envar
>KDEHOME</envar
>/share/config/myfile</filename
> да ли да поново покаже дијалог (додавањем у фајл следећих редова:</para>

<screen
>[Notification Messages]
mykey=false</screen>

<para
>Уместо <option
>--msgbox</option
> можете, кад одговара, користити и <option
>--sorry</option
> и <option
>--error</option
>. На пример, могли бисте употребити <userinput
><command
>kdialog</command
> <option
>--sorry 'Мрежа се не може досећи'</option
></userinput
>, или <userinput
><command
>kdialog</command
> <option
>--error 'Не могу да отворим поштанско сандуче'</option
></userinput
>.</para>

<para
>Такође је могуће створити дијалоге с поруком који прихватају одговор „да“ или „не“.</para>

<screen
><command
>kdialog</command
> <option
>--yesno 'Желите ли да се повежете
на Интернет?'</option
> <command
>echo</command
> <returnvalue
>$?</returnvalue
></screen>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>повратна вредност</entry>
<entry
>значење</entry>
</row>
</thead>
<tbody>
<row
><entry
>0</entry
><entry
>Да, У реду, Настави</entry
></row>
<row
><entry
>1</entry
><entry
>не</entry
></row>
<row
><entry
>2</entry
><entry
>Одустани</entry
></row>
</tbody>
</tgroup>
</informaltable>

<para
>Пазите да запамтите резултат у променљиву ако га не користите непосредно, пошто ће следећа наредба попунити <literal
>$?</literal
> новом вредношћу. Овде такође можете користити <option
>--dontagain</option
>, која ће запамтити корисников избор и вратити га следећи пут без приказивања дијалога.</para>

<para
>Даље варијације су:</para>

<variablelist>
<varlistentry>
<term
><option
>--warningyesno</option
></term>
<listitem>
<para
>као <option
>--yesno</option
> али са другачијом иконом</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><option
>--warningcontinuecancel</option
></term>
<listitem
><para
>Са дугмадима <guibutton
>Настави</guibutton
> и <guibutton
>Одустани</guibutton
>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><option
>--warningyesnocancel</option
></term>
<listitem
><para
>Са дугмадима <guibutton
>Да</guibutton
>, <guibutton
>Не</guibutton
> и <guibutton
>Одустани</guibutton
>. На пример:</para>
<screen
><command
>kdialog</command
> <option
>--warningyesnocancel 'Желите ли
да сачувате измене?'</option
></screen>
</listitem>
</varlistentry>
</variablelist>

<screen
><command
>kdialog</command
> <option
>--inputbox 'Унесите име:' 'ваше име'</option
> </screen>

<para
>Резултат се исписује на стдиз, а у променљиву га можете ставити помоћу <userinput
>name=$(kdialog --inputbox 'Унесите име' 'ваше име')</userinput
>. Последњи аргумент је опцион, користи се да претпопуни дијалог.</para>

<screen
><userinput
><varname
>password</varname
>=$(<command
>kdialog</command
> <option
>--password 'Унесите лозинку:'</option
>)</userinput
></screen>

<para
>Опција <option
>--dontagain</option
> не ради уз <option
>--inputbox</option
> или <option
>--password</option
></para>

<para
>Постоје два дијалога којима корисник може бирати са списка:</para>

<variablelist>
<varlistentry>
<term
><option
>--menu</option
></term>
<listitem>
<para
>Омогућава кориснику да изабере ставку са списка.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><option
>--checklist</option
></term>
<listitem>
<para
>Омогућава кориснику да изабере једну или више ставки са списка.</para>
</listitem>
</varlistentry>
</variablelist>

<screen
><userinput
><varname
>city</varname
>=$(<command
>kdialog</command
> <option
>--menu 'Изаберите град' а Лондон б Мадрид в Париз г Београд</option
>)</userinput
> </screen>

<para
><varname
>$city</varname
> ће бити <returnvalue
>а</returnvalue
>, <returnvalue
>б</returnvalue
>, <returnvalue
>в</returnvalue
> или <returnvalue
>г</returnvalue
>. </para>

<screen
><userinput
><varname
>city</varname
>=$(<command
>kdialog</command
> <option
>--checklist 'Изаберите градове' а Лондон off б Мадрид on в Париз off г Београд on</option
>)</userinput
></screen>

<para
>Мадрид и Београд ће бити предодабрани. Резултат са изабраним Мадридом и Београдом биће <returnvalue
>'б'</returnvalue
> <returnvalue
>'г'</returnvalue
>.</para>

<para
>Ако додате опцију <option
>--separate-output</option
>, ставиће <returnvalue
>б</returnvalue
> и <returnvalue
>г</returnvalue
> свако у свој ред, што олакшава обраду резултата.</para>

<screen
>file=$(kdialog --getopenfilename $HOME)
file=$(kdialog --getopenfilename $HOME "*.png *.jpg|Фајлови слика")
file=$(kdialog --getsavefilename $HOME/SaveMe.png)
file=$(kdialog --getexistingdirectory $HOME)</screen>

</sect2>

</sect1>

</chapter>
&groupware-with-kontact; </part>

<!-- Keep this comment at the end of the file
Local variables:
mode: xml
sgml-omittag:nil
sgml-shorttag:nil
sgml-namecase-general:nil
sgml-general-insert-case:lower
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:0
sgml-indent-data:true
sgml-parent-document:("index.docbook" "book" "part")
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
