<para>Ten rozdział opisuje pliki, które wpływają na zachowanie programu &tdm;. Niektóre z nich można zmieniać przy pomocy modułów &kcontrol;, ale nie wszystkie.</para>
<title>&tdmrc; - Główny plik konfiguracyjny &tdm;</title>
<para>Ogólny format pliku przypomina format <quote>plików INI</quote>. Opcje to pary złożone z klucza i wartości, umieszcza się je w sekcjach. Ważna jest wielkość liter (wielkie i małe są traktowane inaczej). Błędy składniowe i nierozpoznane pary klucz/wartość powodują komunikaty o błędach, ale nie zakończenie działania &tdm;.</para>
<para>Wiersze zaczynające się od znaku <literal>#</literal> to komentarze; puste wiersze są także ignorowane.</para>
<para>Sekcje są wyróżnione przez <literal>[</literal><replaceable>Nazwę sekcji</replaceable><literal>]</literal>. </para>
<para>Każdy ekran X można konfigurować osobno.</para>
<para>Każdy ekran ma nazwę , która składa się z nazwy komputera (która jest pusta dla ekranów lokalnych podanych w <option>StaticServers</option> i <option>ReserveServers</option>), dwukropka i numeru ekranu. Ekran należy także do lasy ekranów (w większości przypadków można to zignorować).</para>
<para>Sekcje z ustawieniami dotyczącymi określonego ekranu mają składnię, którą można zapisać formalnie jako <literal>[X-</literal> <replaceable>komputer</replaceable> [ <literal>:</literal> <replaceable>numer</replaceable> [ <literal>_</literal> <replaceable>klasa</replaceable> ] ] <literal>-</literal> <replaceable>podsekcja</replaceable> <literal>]</literal> </para>
<para>Wszystkie sekcje z tą samą <replaceable>podsekcją</replaceable> tworzą klasę sekcji.</para>
<para>Znaku specjalnego <literal>*</literal> można użyć w polach <replaceable>komputer</replaceable>, <replaceable>numer</replaceable> i <replaceable>klasa</replaceable>. W ten sposób określa się wszystkie wartości tego pola. Można także pominąć końcowe pola, zakłada się wtedy, że mają one wartość <literal>*</literal>. Nazwa komputera to albo nazwa domenowa, jak <replaceable>.inf.tu-dresden.de</replaceable> lub znak specjalny <literal>+</literal> (oznacza wartość niepustą).</para>
<para>Sekcja, z której wykorzystywane są ustawienia jest określona zgodnie z pewną liczbą zasad. Oto one:</para>
<para>Dokładne dopasowanie jest ważniejsze od niepełnego (dla nazwy komputera), które z kolei jest ważniejsze od znaku specjalnego (<literal>+</literal> przed <literal>*</literal>).</para>
<para>Często spotykane sekcje to [X-*] (wszystkie ekrany), [X-:*] (wszystkie lokalne ekrany) i [X-:0] (pierwszy ekran lokalny).</para>
<para>Format wszystkich kluczy to <userinput><option><replaceable>klucz</replaceable></option> <literal>=</literal> <parameter>wartość</parameter></userinput>. Klucze są ważne tylko w klasie sekcji, dla której są zdefiniowane. Niektóre klucze nie stosują się do części ekranów, są wtedy ignorowane. </para>
<para>Jeśli ustawienie nie zostało znalezione dla żadnej z pasujących sekcji to używana jest wartość domyślna.</para>
<para>Znaki specjalne uzyskuje się używając kombinacji rozpoczynających się od odwrotnego ukośnika. Te znaki to: odstępy na początku i końcu (<literal>\s</literal>), tabulacje (<literal>\t</literal>), koniec wiersza (<literal>\n</literal>), powrót karetki (<literal>\r</literal>) i odwrotny ukośnik (<literal>\\</literal>)).</para>
<para>Na listach pola są oddzielane przecinkami, bez białych znaków. </para>
<para>Niektóre polecenia podlegają podziałowi na słowa, podobnemu do tego wykonywanego przez sh: pojedyncze i podwójne cudysłowy (<literal>'</literal> oraz <literal>"</literal>) mają swoje zwykłe znaczenie; odwrotny ukośnik cytuje wszystko (nie tylko znaki specjalne). Podwójne ukośniki muszą być podwojone z powodu dwóch poziomów cytowania.</para>
<note><para>Standardowy &tdmrc; zawiera bardzo wiele komentarzy. Wszystkie one są tracone po wykonaniu w nim zmian za pomocą Centrum Sterowania KDE.</para></note>
<para>Ta opcja istnieje tylko w celu ułatwienia automatycznego uaktualniania. <emphasis>Nie zmieniaj</emphasis> jej wartości, może to spowodować konflikt przy kolejnych uaktualnieniach i, w niektórych przypadkach, uniemożliwić uruchomienie &tdm;. </para>
<para>Lista ekranów (&X-Server;) zarządzanych przez &tdm;. Ekrany z nazwą komputera są ekranami zdalnymi, które powinny już działać; pozostałe ekrany są lokalne, &tdm; uruchamia dla każdego z nich własny &X-Server;; zobacz też <option>ServerCmd</option>. Każdy ekran należy do klasy ekranów; nazwę klasy dołącza się do nazwy ekranu po podkreśleniu. Po więcej szczegółów zajrzyj do <xref linkend="tdmrc-xservers"/>. </para>
<para>Domyślną wartością jest <quote>:0</quote>.</para>
<para>Lista wirtualnych terminali, które może otrzymać &X-Server;. W przypadku podania wartości ujemnej zostanie użyta jej wartość bezwzględna, a <acronym>terminal wirtualny</acronym> zostanie utworzony tylko jeśli jądro systemu stwierdzi, że taki jeszcze nie istnieje. Jeśli &tdm; wykorzysta wszystkie terminale z listy, utworzy nowe <acronym>terminale wirtualne</acronym> o numerach większych od ostatniego w listy. Opcja ta działa obecnie tylko w Linuksie. </para>
<para>Opcja dla systemów operacyjnych (<acronym>OS</acronym>) z obsługą terminali wirtualnych (<acronym>VT</acronym>) zarówno w &tdm;, jak i w samym <acronym>OS</acronym>. Obecnie działa tylko w Linuksie. </para><para>Kiedy &tdm; przełącza do trybu wiersza poleceń, rozpoczyna monitorowanie wszystkich <acronym>TTY</acronym> wpisanych w tej opcji (bez początkowego <literal>/dev/</literal>). Jeśli żaden z nich nie jest aktywny przez określony czas, &tdm; przełącza do graficznego okna logowania. </para>
<para>Wartością jest nazwa pliku, do którego zostanie zapisany identyfikator głównego procesu &tdm; w formacie ASCII (czyli jako ciąg cyfr). Jeśli nazwa pliku jest pusta, numer procesu nie będzie przechowywany w pliku. </para>
<para>Nazwa katalogu, w którym &tdm;, podczas inicjalizacji sesji, przechowuje pliki uwierzytelniania wykorzystywane przez &X-Server;. &tdm; spodziewa się, ze system wyczyści ten katalog podczas ponownego uruchamiania. </para><para>Plik uwierzytelniania do użycia dla konkretnego ekranu podaje się za pomocą opcji <option>AuthFile</option> w [X-*-Core]. </para>
<para>Domyślna wartość to <quote>/var/run/xauth</quote>.</para>
<para>Dodatkowe zmienne środowiska przekazywane przez &tdm; do uruchamianych przez niego programów. Często są to <envar>LD_LIBRARY_PATH</envar> i <envar>XCURSOR_THEME</envar>; w innych przypadkach opcja ta nie jest potrzebna zbyt często. </para>
<para>Jeśli system nie ma własnego źródła entropii jak /dev/urandom (zobacz: <option>RandomDevice</option>) i nie ma demona entropii takiego jak EGD (zobacz: <option>PrngdSocket</option> i <option>PrngdPort</option>), to &tdm; wykorzysta własny generator liczb pseudolosowych który, między innymi, będzie wykorzystywał sumy kontrolne fragmentów tego pliku (które, oczywiście, powinny się często zmieniać). </para><para>Ta opcja nie istnieje w Linuksie i wielu BSD. </para>
<para>Domyślna wartość to <quote>/dev/mem</quote>.</para>
<para>Jeśli system nie ma własnego źródła entropii jak /dev/urandom (zobacz: <option>RandomDevice</option>), wykorzystuje dane losowe z demona generatora liczb pseudolosowych, takiego jak EGD (http://egd.sourceforge.net) przez gniazdo domeny UNIX-a. </para><para>Ta opcja nie istnieje w Linuksie i wielu BSD. </para>
<para>Ścieżka do urządzenia znakowego, z którego &tdm; powinien czytać dane losowe. Pusta wartość oznacza, że ma zostać użyte systemowe źródło entropii, jeśli takie istnieje. </para><para>Ta opcja nie istnieje w OpenBSD, gdzie zamiast tego jest wykorzystywana systemowa funkcja arc4_random. </para>
<para>Katalog, w którym &tdm; ma przechowywać stałe dane robocze. Takie dane to na przykład informacja o poprzednio zalogowanym użytkowniku na określonym ekranie. </para>
<para>Domyślna wartość to <quote>/var/lib/tdm</quote>.</para>
<para>Katalog, w którym &tdm; ma przechowywać pliki <filename>.dmrc</filename> użytkowników. Jest potrzebny tylko jeśli przez zalogowaniem nie można odczytywać katalogów domowych (tak jest w przypadku AFS). </para>
<para>Port UDP używany przez &tdm; do nasłuchiwania nadchodzących żądań &XDMCP;. Jeśli nie zajmujesz się wyszukiwaniem błędów w systemie, zostaw domyślną wartość. </para>
<para>Domyślna wartość to <quote>177</quote>.</para>
<para>Metoda uwierzytelniania &XDMCP; XDM-AUTHENTICATION-1 wymaga, żeby klucz prywatny był współdzielony między &tdm; i terminalem. Za pomocą tej opcji podaje się plik z tymi wartościami. Każdy wpis pliku składa się z nazwy ekranu i współdzielonego klucza. </para>
<para>Aby zapobiegać nieautoryzowanym usługom &XDMCP; i pozwolić na przekazywanie żądań &XDMCP; IndirectQuery, ten plik zawiera bazę nazw komputerów, którym zezwala się na połączenia do tego komputera albo listę komputerów, do których takie żądania mają być przekazywane. Format tego pliku jest opisany w <xref linkend="tdmrc-xaccess"/>. </para>
<para>Domyślna wartość to <quote>${<envar>kde_confdir</envar>}/tdm/Xaccess</quote>.</para>
<para>Liczba sekund oczekiwania na odpowiedź ekranu po wybraniu go przez użytkownika za pomocą programu wyboru. Jeśli ekran wyśle w tym czasie IndirectQuery &XDMCP; to żądanie jest przekazywane do wybranego komputera. W przeciwnym wypadku zakłada się, że pochodzi z nowej sesji i użytkownik ponownie otrzymuje ekran wyboru. </para>
<para>Domyślna wartość to <quote>15</quote>.</para>
<para>Podczas tworzenia nazwy klientów &XDMCP; zostaje zazwyczaj użyta w pełni kwalifikowana nazwa terminala. Taka nazwa jest czasami nieczytelna, więc, jeśli ta opcja jest włączona, &tdm; usuwa część zawierającą nazwę domeny. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Wykorzystanie numerycznych adresów IP zamiast nazw komputerów dla połączeń przychodzących. Dla komputerów mających kilka połączeń sieciowych. W ten sposób unika się próby połączenia z interfejsem sieciowym, który może być w danej chwili wyłączony. </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Program, który jest uruchamiany (jako <systemitem class="username">root</systemitem>) kiedy otrzymane zostanie żądanie &XDMCP; DirectQuery lub BroadcastQuery, a komputer został skonfigurowany tak, aby udostępniał zarządzanie ekranami przez &XDMCP;. Wynik działania tego programu może być pokazywany w oknie wyboru. Jeśli nie podano żadnej nazwy programu, wysyłany jest ciąg znaków <quote>Willing to manage</quote>. </para>
<para>Polecenie (objęte podziałem na słowa) używane do zatrzymania/zakończenia pracy systemu. </para><para>Wartość domyślna to coś sensownego dla systemu, dla którego zbudowano &tdm;. Przykład: <command>/sbin/shutdown <option>-h</option> <parameter>now</parameter></command>. </para>
<para>Polecenie (objęte podziałem na słowa) używane do ponownego uruchomienia systemu. </para><para>Wartość domyślna to coś sensownego dla systemu, dla którego zbudowano &tdm;. Przykład: <command>/sbin/shutdown <option>-r</option> <parameter>now</parameter></command>. </para>
<para>Czy jest dozwolone przerywanie aktywnych sesji podczas zamykania systemu przy użyciu polecenia globalnego <acronym>FiFo</acronym>. </para><para>Odniesie skutek tylko jeśli włączona jest opcja <option>AllowFifo</option>. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Te opcje kontrolują sposób zachowania &tdm; podczas próby otwarcia połączenia do&X-Server;. <option>OpenDelay</option> to długość oczekiwania(w sekundach) między próbami zakończonymi sukcesem, <option>OpenRepeat</option> to liczba wykonywanych prób, a <option>OpenTimeout</option> to maksymalny czas trwania jednej próby. Po <option>OpenRepeat</option> próbach lub po <option>OpenTimeout</option> sekundach trwania dowolnej próby przyjmuje się, że próba rozpoczęcia połączenia nie udała się. </para>
<para>Domyślna wartość to <quote>5</quote>.</para>
<para>Ile razy &tdm; próbuje uruchomić <literal>odległy</literal> ekran z listy <option>StaticServers</option>. Jeśli nie uda się, ekran zostanie zablokowany. Jest tylko jedna próba uruchomienia ekranu lokalnego, a próby dla ekranów &XDMCP; są powtarzane w nieskończoność przez klienta (jeśli nie przekazano opcji <option>-once</option> do &X-Server;). </para>
<para>Domyślna wartość to <quote>4</quote>.</para>
<para>Polecenie używane do uruchomienia &X-Server;, bez numeru ekranu i terminala wirtualnego. Ciąg ten podlega podziałowi na słowa. </para><para>Wartość domyślna to coś sensownego dla systemu, dla którego zbudowano &tdm;. Przykład: <command>/usr/X11R6/bin/X</command>. </para>
<para>Terminal wirtualny na którym powinien być uruchomiony &X-Server;. Zamiast tej opcji powinno się używać <option>ServerVTs</option>. Wartość zerowa oznacza, że &tdm; ma automatycznie przydzielić <acronym>VT</acronym>. Ustawienie wartości <literal>-1</literal> powoduje nie przydzielanie <acronym>VT</acronym> - jest wymagane w przypadku konfiguracji z wieloma fizycznymi konsolami. Obecnie ta opcja jest dostępna tylko w Linuksie. </para>
<para>Jest to opcja dla <acronym>OS</acronym>ów bez obsługi <acronym>VT</acronym>; tak przez &tdm; jak i przez sam <acronym>OS</acronym>. Obecnie odnosi się do wszystkich <acronym>OS</acronym>ów poza Linuksem. </para><para>Po przełączeniu &tdm; do trybu wiersza poleceń zaczyna on monitorować ten <acronym>TTY</acronym> (podany bez początkowego <literal>/dev/</literal>). Jeśli nie jest używany przez pewien czas, &tdm; przełącza do graficznego ekranu logowania. </para>
<para>Aby dowiedzieć się o zniknięciu <emphasis>odległych</emphasis> ekranów, &tdm; regularnie je sprawdza. <option>PingInterval</option> określa czas (w minutach) między kolejnymi próbami, a <option>PingTimeout</option> maksymalny czas oczekiwania na odpowiedź od terminala (w minutach). Jeśli terminal nie odpowiada, to sesja zostaje zakończona. </para><para>W przypadku częstego wykorzystywania terminali X, które mogą zostać odcięte od głównego komputera, dobrym pomysłem może być zwiększenie czasu oczekiwania. Jedynym problemem jest to, że sesje będą istniały dalej po przypadkowym wyłączeniu terminala. </para>
<para>Domyślna wartość to <quote>5</quote>.</para>
<para>Czy &tdm; powinien uruchamiać ponownie lokalny &X-Server; po zakończeniu sesji, zamiast jej resetu. Ta opcja jest przydatna jeśli &X-Server; posiada błędy wycieków pamięci lub powoduje awarię systemu przy próbie resetu. </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Określa czy &tdm; generuje i używa uwierzytelniania dla <emphasis>lokalnych</emphasis> połączeń z &X-Server;. W przypadku ekranów &XDMCP; wykorzystywane jest uwierzytelnianie żądane przez ekran; zdalne ekrany nie wykorzystujące &XDMCP; w ogóle nie obsługują uwierzytelniania. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Jeśli opcja <option>Authorize</option> ma wartość true (prawda), wykorzystywany jest podany tu mechanizm uwierzytelniania. Metoda MIT-MAGIC-COOKIE-1 jest dostępna zawsze; dostępność XDM-AUTHORIZATION-1, SUN-DES-1 i MIT-KERBEROS-5 zależy od konfiguracji użytej do budowania. </para>
<para>Wartość domyślna to <quote>DEF_AUTH_NAME</quote>.</para>
<para>Niektóre <emphasis>stare</emphasis> &X-Server;y ponownie odczytują plik uwierzytelniania podczas resetu &X-Server;a, zamiast sprawdzenia pierwotnego połączenia. &tdm; generuje informacja wykorzystywane przy uwierzytelnianiu zaraz przed połączeniem z ekranem, więc stary &X-Server; nie otrzyma aktualnej informacji. Włączenie tej opcji powoduje, że &tdm; wysyła do &X-Server; sygnał SIGHUP po utworzeniu pliku. Powoduje to dodatkowy reset &X-Server;a, podczas którego odczyta on nowe informacje dotyczące uwierzytelniania. </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Ten plik jest wykorzystywany do przekazywania danych uwierzytelniania z &tdm; do &X-Server;, przy pomocy opcji wiersza poleceń <option>-auth</option> programu &X-Server;. Powinien być przechowywany w katalogu, który nie jest dostępny do zapisu dla użytkowników, jako że mógłby być łatwo usunięty, co spowodowałoby wyłączenie mechanizmu uwierzytelniania w &X-Server;. Jeśli nic nie podano, tworzona jest losowa nazwa z <option>AuthDir</option> i nazwą ekranu. </para>
<para>Ta opcja określa nazwę pliku do wczytania przez <command>xrdb</command> jako baza danych o zasobach dla okna głównego ekranu 0. Programy KDE nie używają zazwyczaj zasobów X, więc opcja ta jest potrzebna tylko jeśli programu <option>Setup</option> tego potrzebuje. </para>
<para>Program <command>xrdb</command> używany do odczytu pliku zasobów X podanego w <option>Recources</option>. Ciąg podlega podziałowi na słowa. </para>
<para>Wartość domyślna to <quote>${<envar>x_bindir</envar>}/xrdb</quote>.</para>
<para>Ciąg podlega podziałowi na słowa. Znajduje się tam nazwa programu uruchamianego przed oknem logowania (jako użytkownik <systemitem class="username">root</systemitem>). Można go wykorzystać do zmiany wyglądu ekranu wokół okna logowania lub do umieszczenia na ekranie innych okien (np. <command>xconsole</command>). Najczęściej używa się tutaj nazwy pliku <command>Xsetup</command>. Zobacz: <xref linkend="tdmrc-xsetup"/>. </para>
<para>Ciąg podlega podziałowi na słowa. Znajduje się tam nazwa programu uruchamianego (jako <systemitem class="username">root</systemitem>) po sukcesie procesu uwierzytelniania użytkownika. Najczęściej spotykaną tu nazwą pliku jest <command>Xstartup</command>. Zobacz: <xref linkend="tdmrc-xstartup"/>. </para>
<para>Ciąg podlega podziałowi na słowa. Znajduje się tam nazwa programu uruchamianego (jako <systemitem class="username">root</systemitem>) po zakończeniu sesji. Najczęściej spotykaną tu nazwą pliku jest <command>Xreset</command>. Zobacz: <xref linkend="tdmrc-xreset"/>. </para>
<para>Ciąg podlega podziałowi na słowa. Podaje się tu program sesji, który ma być uruchomiony (z prawami użytkownika posiadającego daną sesję). Najczęściej spotykaną nazwą wykorzystywanego tu pliku jest <command>Xsession</command>. Zobacz: <xref linkend="tdmrc-xsession"/>. </para>
<para>Wartość domyślna to <quote>${<envar>x_bindir</envar>}/xterm -ls -T</quote>.</para>
<para>Jeśli nie uda się uruchomić programu <option>Session</option>, &tdm; spróbuje podanego tutaj. Ten program jest uruchamiany bez argumentów, ale przy wykorzystaniu takich samych zmiennych środowiska jakie miałaby sesja (zobacz: <xref linkend="tdmrc-xsession"/>). </para>
<para>Wartość domyślna to <quote>${<envar>x_bindir</envar>}/xterm</quote>.</para>
<para>Zmienna środowiska <envar>PATH</envar> dla nie należącego do użytkownika <systemitem class="username">root</systemitem> programu <option>Session</option>. </para><para>Wartość domyślna zależy od systemu, dla którego zbudowano &tdm;. </para>
<para>Zmienna środowiska <envar>PATH</envar> dla wszystkich programów poza nie należącym do użytkownika <systemitem class="username">root</systemitem> programem <option>Session</option>. Jest dobrym pomysłem nie wpisywanie tu <literal>.</literal> (bieżący katalog). </para><para>Wartość domyślna zależy od systemu, dla którego zbudowano &tdm;. </para>
<para>Jeśli &tdm; nie może zapisać do zwykłego pliku uwierzytelniania ($<envar>HOME</envar>/.Xauthority), tworzy plik o unikalnej nazwie w tym katalogu i tak zmienia zmienną środowiska <envar>XAUTHORITY</envar>, żeby na niego wskazywała. </para>
<para>Wartość domyślna to <quote>/tmp</quote>.</para>
<para>Jeśli włączona, &tdm; automatycznie ponownie uruchomi sesję po awarii programu &X-Server; (lub jeśli został on wyłączony za pomocą Alt-Ctrl-BackSpace). Włączenie tej opcji otwiera lukę w bezpieczeństwie: blokadę ekranu daje się obejść (jeśli nie jest wykorzystana blokada wbudowana w &kde;). </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Jeśli włączone, nie pozwala użytkownikowi <systemitem class="username">root</systemitem> (i każdemu innemu z UID = 0) na bezpośrednie zalogowanie. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Użytkownicy, którzy nie muszą podawać hasła, żeby się zalogować. Elementy rozpoczynające się od <literal>@</literal> odnoszą się do wszystkich użytkowników w grupie o tej nazwie. <literal>*</literal> oznacza wszystkich użytkowników oprócz <systemitem class="username">root</systemitem> (i innych o UID = 0). <emphasis>Nigdy</emphasis> nie należy podawać tu użytkownika <systemitem class="username">root</systemitem>. </para>
<para>Jeśli włączone, automatycznie logowanie po wylogowaniu. Jeśli wyłączone to automatyczne logowanie odbywa się tylko przy rozpoczęciu sesji ekranu. </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Użytkownik do automatycznego logowania. <emphasis>Nigdy</emphasis> nie należy tu podawać nazwy <systemitem class="username">root</systemitem>! </para>
<para>Hasło użytkownika, który ma być automatycznie zalogowany. To <emphasis>nie</emphasis> jest potrzebne jeśli tylko użytkownik nie jest zalogowany w <acronym>NIS</acronym> lub domenie Kerberos. Jeśli wykorzystuje się tą opcję, powinno się także wykonać polecenie <command>chmod <option>600</option> <filename>tdmrc</filename></command> z oczywistych przyczyn. </para>
<para>Plik (o ścieżce określonej względem katalogu domowego użytkownika), do którego ma być przekierowane wyjście sesji. Jedno wystąpienie <parameter>%s</parameter> w tym ciągu zostanie zastąpione nazwą ekranu. Użycie <parameter>%%</parameter> pozwala uzyskać pojedynczyznak <literal>%</literal>. </para>
<para>Wartość domyślna to <quote>.xsession-errors</quote>.</para>
<para>Określenie czy ma być wykorzystana wbudowana w &tdm; rejestracja w utmp/wtmp/lastlog. Jeśli nie, to uruchomienie narzędzia <command>sessreg</command> powinno znaleźć się w skryptach <option>Startup</option> i <option>Reset</option>. Inna metoda to wykorzystanie modułu pam_lastlog w systemach wykorzystujących <acronym>PAM</acronym>. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Styl stosowany w programie logowania. Wartość pusta oznacza wykorzystanie stylu domyślnego, którym obecnie jest <literal>Plastik</literal>. </para>
<para>Zestaw kolorów dla ekranu logowania. Wartość pusta oznacza wykorzystanie zestawu domyślnego, który obecnie wykorzystuje odcienie szarożółte z niektórymi elementami jasnoniebieskimi i żółtymi. </para>
<para>Obiekt, który ma być pokazywany po prawej od pól logowania (jeśli wyłączona jest opcja <option>UserList</option>) lub ponad nimi (jeśli opcja <option>UserList</option> jest włączona): </para>
<para>Względne współrzędne (procent rozmiaru ekranu; X,Y) środka ekranu logowania.&tdm; przesuwa okno do wnętrza ekranu jeśli miałoby się znaleźć poza nim. </para>
<para>Wartość domyślna to <quote>50,50</quote>.</para>
<para>Ekran logowania powinien być pokazywany na wielu ekranach lub przy wykorzystaniu Xinerama. Licznik zaczyna się od 0. Dla Xinerama odpowiada to porządkowi aktywnych sekcji ServerLayout w pliku XF86Config; -1 oznacza wykorzystanie górnego lewego ekranu, a -2 górnego prawego. </para>
<para>Ta opcja określa, którzy użytkownicy będą pokazywani w widoku użytkowników (<option>UserList</option>) i/lub będą mieli włączone automatyczne uzupełnianie (<option>UserCompletion</option>). Jeżeli wartością tej opcji jest <literal>Selected</literal>, to lista użytkowników jest wartością <option>SelectedUsers</option>. Jeśli jest to <literal>NotHidden</literal>, pokazywani są wszyscy użytkownicy znalezieni w systemie. Ci podani w <option>HiddenUsers</option> są usunięci z tej listy, tak samo jak wszyscy o numerze użytkownika większym niż podany w <option>MaxShowUID</option> oraz ci o numerze niezerowym i mniejszym od <option>MinShowUID</option>. Elementy list <option>SelectedUsers</option> i <option>HiddenUsers</option> rozpoczynające się od <literal>@</literal> oznaczają wszystkich użytkowników należących do określonej grupy. Oprócz tego, jeśli lista użytkowników ma być posortowana alfabetycznie, to włączona powinna być opcja <option>SortUsers</option>. </para>
<para>Domyślna wartość to <quote>NotHidden</quote>.</para>
<para>Obrazki mogą być w dowolnym formacie rozpoznawanym przez Qt, ale nazwa pliku musi spełniać oczekiwania &tdm;: <literal>.face.icon</literal> to ikona 48x48, a <literal>.face</literal> obraz 300x300. Obecnie duży obraz jest używany tylko jeśli nie ma małego i jest skalowany w dół. W przyszłości może być wyświetlany w pełnym rozmiarze w oknie logowania lub podpowiedzi. </para>
<para>Domyślna wartość to <quote>AdminOnly</quote>.</para>
<para>Jeśli włączone jest <option>FocusPasswd</option> i jest domyślnie wybrany użytkownik, to kursor zostaje automatycznie umieszczony w polu hasła. </para>
<note><para>Włączenie automatycznego wyboru użytkownika można uważać za otworzenie luki w zabezpieczeniach, bo daje potencjalnemu napastnikowi prawidłową nazwę użytkownika. Napastnik musi więc <quote>tylko</quote> zgadnąć hasło. Z drugiej strony, można ustawić <option>DefaultUser</option> na nazwę użytkownika, który nie istnieje w systemie.</para></note>
<para>Jeśli włączone, &tdm; uruchomi program <command>krootimage</command> ustawiający tło; w przeciwnym wypadku za tło odpowiedzialny jest program <option>Setup</option>. </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Plik konfiguracyjny dla <command>krootimage</command>. Zawiera sekcję o nazwie <literal>[Desktop0]</literal>, tak jak <filename>kdesktoprc</filename>. Opcje tego pliku nie są tu opisane, można zgadnąć ich znaczenie lub skorzystać z Centrum Sterowania. </para>
<para>Domyślna wartość to <quote>${<envar>kde_confdir</envar>}/tdm/backgroundrc</quote>.</para>
<para>Program logowania przejmuje &X-Server; i klawiaturę podczas startu w celu zwiększenia bezpieczeństwa. Ta opcja pozwala określić czy przechwycenie programu &X-Server; ma trwać przez okres czytania nazwy użytkownika i hasła. Jeśli jest włączona, przechwycenie programu &X-Server; kończy się po przechwyceniu klawiatury. W przeciwnym wypadku &X-Server; jest zwalniany dopiero na chwilę przed rozpoczęciem sesji. </para>
<note><para>Włączenie tej opcji wyłącza <option>UseBackground</option> i <option>Setup</option>.</para></note>
<para>Ta opcja określa maksymalny czas oczekiwania &tdm; na zakończenie przechwytywania. Proces przechwytywania może się nie powieść jeśli inny klient X posiada ten &X-Server; lub klawiaturę lub jeśli opóźnienia sieci są bardzo duże. Czas oczekiwania należy zwiększać ostrożnie, bo użytkownik może być oszukany przez wyświetlenie mu podobnie wyglądającego okna. Jeśli przechwycenie się nie uda, &tdm; ponownie uruchamia &X-Server; (jeśli to możliwe) i sesję. </para>
<para>Domyślna wartość to <quote>3</quote>.</para>
<para>Określenie czy programy logowania na ekranach lokalnych powinny uruchamiać program wyboru komputera (zdalnie), czy też program logowania (lokalnie) i czy mogą przełączać się między tymi dwoma trybami. </para>
<para>Lista komputerów dodawanych automatycznie do menu logowania zdalnego. Nazwa specjalna <literal>*</literal> oznacza rozgłaszanie. Nie ma efektu jeśli wartością <option>LoginMode</option> jest <literal>LocalOnly</literal>. </para>
<para>Wartość domyślna to <quote>*</quote>.</para>
<para>Ta liczba jest używana jako ziarno generatora pseudolosowego przy tworzeniu typu sesji itd nieistniejących użytkowników. Utrudnia to atakującemu stwierdzenie, którzy użytkownicy istnieją w rzeczywistości. Ta wartość powinna być losowa, ale stała w domenie logowania. </para>
<para>Włączenie wbudowanego w &tdm; programu <command>xconsole</command>. Jest to możliwe tylko dla jednego ekranu na raz. Ta opcja jest dostępna tylko jeśli podczas budowania &tdm; skrypt <command>configure</command> został uruchomiony z parametrem <option>--enable-tdm-xconsole</option>. </para>
<para>Domyślna wartość to <quote>false</quote> (fałsz).</para>
<para>Źródła danych dla wbudowanego w &tdm; programu <command>xconsole</command>. Jeśli puste, następuje żądanie przekierowanie dzienników z <filename>/dev/console</filename>. Nie ma znaczenia jeśli wyłaczona jest opcja <option>ShowLog</option>. </para>
<para>Miejsce na podanie wtyczek konwersji dla okna logowania. Pierwsza na liście jest wybrana na początku. Wtyczki można podawać za pomocą tylko ich nazw (które są rozwijane do <filename>$<envar>kde_modulesdir</envar>/kgreet_<replaceable>nazwa</replaceable></filename>) lub pełnych ścieżek. </para><para>Wtyczki konwersji to moduły programu logowania, które pobierają od użytkownika dane logowania. Obecnie domyślnie w &kde; jest dostępna tylko wtyczka <literal>classic</literal>, która pokazuje dobrze znane okno z pytaniem o nazwę użytkownika i hasło. </para>
<para>Domyślna wartość to <quote>classic</quote>.</para>
<para>Lista opcji o formacie <replaceable>klucz</replaceable><literal>=</literal><replaceable>wartość</replaceable>. Wtyczki konwersji mogą sprawdzać te ustawienia; nazwy kluczy są określane przez wtyczki. </para>
<para>Pokazanie akcji <guilabel>Tryb konsoli</guilabel> w programie logowania (jeśli skonfigurowane jest <option>ServerTTY</option>/<option>ConsoleTTYs</option>). </para>
<para>Domyślna wartość to <quote>true</quote> (prawda).</para>
<para>Program uruchamiany kiedy program logowania jest widoczny. Jego zadaniem jest wczytanie tyle danych sesji (najbardziej prawdopodobnej) ile to możliwe. </para>
<title>Miejsce na listę stale uruchomionych programów &X-Server;</title>
<para>Każdy wpis listy <option>StaticServers</option> określa ekran nie wykorzystujący &XDMCP;, który ma być stale zarządzany. Ta metoda jest zazwyczaj stosowana tylko dla lokalnych programów &X-Server; uruchamianych przez &tdm;, ale &tdm; może zarządzać zewnętrznie uruchomionymi (<quote>odległymi</quote>) programami &X-Server;, niezależnie od tego czy działają na komputerze lokalnym czy zdalnym.</para>
</screen> dla wszystkich programów &X-Server;. <quote>Odległe</quote> ekrany odróżniają się posiadaniem nazwy komputera w nazwie ekranu; może to być także <literal>localhost</literal>.</para>
<para><replaceable>Nazwa ekranu</replaceable> musi być możliwa do przekazania jako wartość parametru <option>-display</option> programu X. Ten ciąg jest używany do tworzenia zależnych od ekranu nazw sekcji, więc należy uważać, żeby nazwy do siebie pasowały. Nazwy ekranów &XDMCP; pochodzą od adresu ekranu uzyskiwanego podczas odwrotnego odwzorowania nazw. Dla celów konfiguracyjnych przedrostek <literal>localhost</literal> w nazwach lokalnych ekranów &XDMCP; <emphasis>nie</emphasis> jest usuwany, co pozwala na odróżnienie ich od lokalnych programów &X-Server; uruchomionych przez &tdm;.</para>
<para>Część <replaceable>klasa ekranu</replaceable> jest też używana w sekcjach dotyczących ekranu. Jest to użyteczne jeśli ma się wiele podobnych ekranów (na przykład zbiór X-terminali) i potrzeba ustawić opcje dla całej ich grupy. Kiedy używa się &XDMCP;, ekran musi mieć klasę ekranów, więc dokumentacja każdego X terminala powinna zawierać klasę ekranu danego urządzenia. Jeśli tak nie jest, można uruchomić &tdm; w trybie rozwiązywania problemów (debug) i użyć polecenia <command>grep</command> na logach w poszukiwaniu ciągu <quote>class</quote>.</para>
<para>Ekrany podane w <option>ReserveServers</option> nie zostaną uruchomione na początku działania &tdm-dopelniacz;, ale dopiero po żądaniu otrzymanym z gniazda sterującego (lub <acronym>FiFo</acronym>). Jeśli podane są rezerwoweekrany, menu &kde; będzie posiadało na dole element <guilabel>Uruchom nową sesję</guilabel>. Jego użycie powoduje zarezerwowanie ekranu z nową sesją logowania. Monitor przełączy się na nowy ekran. Na zalogowanie się jest minuta. Jeśli nie ma więcej zarezerwowanych ekranów to ten element menu jest zablokowany.</para>
<para>Kiedy &tdm; rozpoczyna sesję, tworzy dane uwierzytelniania dla programu &X-Server;. W przypadku serwerów lokalnych &tdm; przekazuje <command><option>-auth</option> <filename><replaceable>nazwa_pliku</replaceable></filename></command> do wiersza poleceń programu &X-Server; wskazując mu dane uwierzytelniania. W przypadku ekranów &XDMCP;, &tdm; przekazuje dane uwierzytelniania do programu &X-Server; za pomocą wiadomości &XDMCP; <quote>Accept</quote>.</para>
<para>Plik podany w opcji <option>AccessFile</option> zawiera informacjewykorzystywane przez &tdm; do kontroli dostępu z ekranów wysyłających żądania za pomocą &XDMCP;. Plik zawiera cztery typy wpisów: wpisy kontrolujące odpowiedzi na żądania typu <quote>Direct</quote> i <quote>Broadcast</quote>, wpisy kontrolujące odpowiedzi na żądania typu <quote>Indirect</quote>, definicje makr dla wpisów typu <quote>Indirect</quote> i wpisy określające to, na którym interfejsie sieciowym &tdm; nasłuchuje żądań &XDMCP;. Puste wiersze są ignorowane, <literal>#</literal> traktowany jest jako znacznik komentarza powodujący ignorowanie reszty wiersza, a <literal>\</literal> powoduje ignorowanie następującego dalej znaku nowego wiersza, co pozwala na zajmującą wiele wierszy listę komputerów. </para>
<para>Format wpisów typu <quote>Direct</quote> jest prosty, składa się z nazwy komputera lub wzorca porównywanego z nazwą komputera, na którym znajduje się ekran. Wzorce różnią się od nazw komputerów zawieraniem jednego lub więcej meta znaku; <literal>*</literal> oznacza każdą sekwencję 0 lub więcej znaków, a <literal>?</literal> pojedynczy znak. Jeśli wpis jest nazwą komputera, to wszystkie porówniania dotyczą adresów sieciowych, może być więc użyta każda nazwa, którą daje się zamienić na poprawny adres sieciowy. Używany jest tylko pierwszy uzyskany adres. W przypadku wzorców do porównań używane są tylko nazwy kanoniczne, trzeba się więc upewnić, czy nie próbuje się porównywać aliasów. Nazwy komputerów z żądań &XDMCP; zawsze zawierają lokalną domenę, nawet jeśli odwrotne odwzorowanie nazwy zwraca krótką formę nazwy. Można więc używać wzorców dla lokalnej domeny. Poprzedzenie wpisu znakiem <literal>!</literal> powoduje wyłączenie nazwy, która miała być porównywana. Aby wysyłane były tylko odpowiedzi na żądania typu <quote>Direct</quote> o nazwę komputera lub wzorzec można użyć słowa kluczowego <literal>NOBROADCAST</literal>. Taka możliwość pozwala uniknąć pokazywania serwera z programem &tdm; w menu bazujących na żądaniach typu <quote>Broadcast</quote>.</para>
<para>Wpis <quote>Indirect</quote> zawiera także nazwę komputera lub wzorzec, ale dalej następuje lista nazw komputerów lub makr, do których żądania mają być przekazywane. Wpisy<quote>Indirect</quote> mogą być także wyłączające, w takich przypadkach (poprawna) nazwa komputera musi być podana w takiej formie, żeby wpis był odróżnialny od podobnego, ale typu <quote>Direct</quote>. Jeśli &tdm; jest skompilowany z obsługą IPv6, lista adresów, do których są przekazywane żądania może zawierać także adresy grup multicast. Jeśli w wierszu zawierającym nazwę komputera znajduje się słowo kluczowe <literal>CHOOSER</literal>, żądania <quote>Indirect</quote> nie są przekazywane, a zamiast tego pokazywane jest okno logowania. Program logowania będzie wysyłał żądania typu <quote>Direct</quote> do każdego pozostałego komputera z listy. Dla tych, które odpowiedzą będzie oferował menu. Lista komputerów może zawierać słowo kluczowe <literal>BROADCAST</literal>, co spowoduje wysyłanie także żądania typu <quote>Broadcast</quote>. W niektórych systemach pakiety UDP nie mogą być rozgłoszeniowe, wtedy ta właściwość nie będzie działać. </para>
<para>Podczas sprawdzania dostępu dla konkretnego komputera sprawdzany jest każdy wpis. Pierwszy dopasowany określa odpowiedź. Wpisy typów <quote>Direct</quote> i <quote>Broadcast</quote> są ignorowane podczas poszukiwania wpisu typu <quote>Indirect</quote> i odwrotnie.</para>
<para>Definicja makra zawiera nazwę makra i listę nazw komputerów i innych makr, na które rozwija się to makro. Aby rozróżnić makra od nazw komputerów nazwy makr zaczynają się od znaku <literal>%</literal>.</para>
<para>Ostatnim typem wpisu jest dyrektywa <literal>LISTEN</literal>. Składania to <screen>
</screen> Jeśli podany jest jeden lub więcej wiersz <literal>LISTEN</literal>, &tdm; nasłuchuje na żądania &XDMCP; tylko na podanych interfejsach. <replaceable>interfejs</replaceable> może być nazwą komputera lub adresem IP reprezentującym interfejs sieciowy na tym komputerze lub znakiem specjalnym <literal>*</literal> oznaczającym wszystkie dostępne interfejsy sieciowe. Jeśli w wierszu <literal>LISTEN</literal> podany jest adres grupy multicast, &tdm; dołącza do grupy na podanym interfejsie. W przypadku multicastu w IPv6 IANA przypisało zakres adresów ff0<replaceable>X</replaceable>:0:0:0:0:0:0:12b &XDMCP;. <replaceable>X</replaceable> w przedrostku można zastąpić każdym poprawnym identyfikatorem zakresu, takim jak 1 dla Node-Local, 2 dla Link-Local, 5 dla Site-Local i tak dalej (więcej informacji i definicje zakresów można znaleźć w IETF RFC 2373 lub dokumentach go zastępujących). &tdm; domyślnie nasłuchuje na adresie zakresu Link-Local ff02:0:0:0:0:0:0:12b, żeby możliwie dokładnie odwzorować rozgłaszanie w podsieci IPv4. Jeśli nie ma wierszy <literal>LISTEN</literal>, &tdm; nasłuchuje na wszystkich interfejsach i dołącza się do domyślnej grupy multicast IPv6 &XDMCP; (jeśli skompilowano go z obsługą IPv6). Wyłączenie nasłuchiwania &XDMCP; jest możliwe za pomocą wiersza <literal>LISTEN</literal> bez żadnego adresu. Preferowane jest jednak użycie <literal>[Xdmcp]</literal> <option>Enable</option>. </para>
<para>Program konfiguracyjny, uruchamiający i kończący (Setup, Startup i Reset) są uruchamiane jako <systemitem class="username">root</systemitem>, więc używając je trzeba brać pod uwagę bezpieczeństwo. Ich pierwszym argumentem jest <literal>auto</literal> jeśli sesja jest wynikiem automatycznego logowania. W przeciwnym wypadku nie są do nich przekazywane żadne argumenty. </para>
<para>Program <filename>Xsetup</filename> jest uruchamiany, kiedy działa już lub został ponownie uruchomiony &X-Server;, ale przed pokazaniem okna logowania. Jest to miejsce na zmianę tła (jeśli wyłączone jest <option>UseBackground</option>) lub pokazanie innych okien, które mają być na ekranie razem z oknem logowania. </para>
<para>Oprócz zmiennych środowiska podanych w <option>ExportList</option>, przekazywane są także:</para>
<para>&tdm; przechwytuje klawiaturę, więc inne okna nie będą otrzymywać informacji o naciśniętych klawiszach. Mogą wykorzystywać mysz; uwaga na luki w zabezpieczeniach z tym związane. Jeśli ustawione jest <option>GrabServer</option>, to programowi <filename>Xsetup</filename> nie uda się podłączenie do ekranu. Zasoby dla tego programu mogą być umieszczone w pliku o nazwie określonej przez opcję <option>Resources</option>. </para>
<para>Program <filename>Xstartup</filename> jest uruchamiany jako <systemitem class="username">root</systemitem> podczas logowania się użytkownika. Jest to miejsce na polecenia dodające wpisy do <filename>utmp</filename> (może być tu przydatny program <command>sessreg</command>), montujące katalogi domowe użytkowników z serwerów plików lub też przerywające sesję jeśli niektóre wymagania nie są spełnione (we współczesnych systemach większość z tych zadań jest wykonywana przez moduły <acronym>PAM</acronym>).</para>
<para>Oprócz zmiennych środowiska podanych w <option>ExportList</option>, przekazywane są także:</para>
<para>&tdm; czeka na zakończenie pracy tego programu przed rozpoczęciem sesji użytkownika. Jeśli wartość wyjściowa programu jest niezerowa, &tdm; przerwie sesję i rozpocznie kolejny cykl uwierzytelniania.</para>
<para>Program <filename>Xsession</filename> to polecenie uruchamiane jako sesja użytkownika. Działa z uprawnieniami użytkownika. Jako pierwszy argument przekazywane jest jedno ze słów kluczowych <literal>failsafe</literal>, <literal>default</literal> lub <literal>custom</literal>, albo ciąg znaków przekazywanych do polecenia <command>eval</command> powłoki Bourne'a.</para>
<para>Oprócz zmiennych środowiska podanych w <option>ExportList</option>, przekazywane są także:</para>
<listitem><para>wartość <option>UserPath</option> (lub <option>SystemPath</option> dla sesji użytkownika <systemitem class="username">root</systemitem>)</para>
<listitem><para>zawiera listę oddzielonych przecinkami parametrów, które mogą być interesujące dla sesji, jak lokalizacja polecenia <acronym>FiFo</acronym> i jego możliwości czy to, która wtyczka została użyta do logowania</para>
<para>Symetrycznie do <filename>Xstartup</filename>, <filename>Xreset</filename> jest uruchamiany po zakończeniu sesji użytkownika. Wykonywany jako <systemitem class="username">root</systemitem>; powinien zawierać polecenia wycofujące efektypoleceń z <filename>Xstartup</filename>, usuwające wpisy z <filename>utmp</filename> lub odmontowujące katalogi z serwera plików.</para>
<para>Zmienne środowiska przekazywane do <filename>Xstartup</filename> są też przekazywane do <filename>Xreset</filename>. </para>