# Podręcznik &kdm-dopelniacz;

## Wprowadzenie

&kdm; udostępnia interfejs graficzny do logowania w systemie. Pyta o nazwę użytkownika i hasło, uwierzytelnia użytkownika i rozpoczyna sesję. &kdm; odróżnia się (pozytywnie) od &xdm; w wielu sprawach.

## Szybkie wprowadzenie

To wprowadzenie przeznaczone jest dla użytkowników, których sytuacja spełnia następujące warunki:

- Polecenie `startx` wydane z wiersza poleceń powoduje poprawne uruchomienie X Window.

- Każdy użytkownik wykorzystuje jednego menedżera okien lub środowisko i nie zmienia zbyt często swoich przyzwyczajeń, albo nie widzi trudności w modyfikacji jednego pliku.

Ten scenariusz będzie wystarczający w wielu przypadkach (dla jednego, ale też wielu użytkowników), kiedy po prostu uruchamia się komputer i loguje do swojego ulubionego środowiska.

## Ustawianie domyślnej sesji

1. Utwórz lub otwórz plik `~/.xinitrc`

   Jeśli już masz poprawny plik `~/.xinitrc`, przejdź do następnego kroku

2. Jeśli jeszcze nie istnieje, dodaj do `~/.xinitrc` wiersz z poleceniem uruchamiającym Twoje ulubione środowisko lub menedżera okien.

   Dla &kde; trzeba wpisać:

       startkde

   Jeśli używasz innego menedżera okien lub środowiska, poszukaj właściwego polecenia w jego dokumentacji.

3. Utwórz dowiązanie:

       ln -s ~/.xinitrc ~/.xsession

Na tym etapie użycie polecenia ``startx`` w wierszu poleceń powinno uruchomić X Window z sesją &kde;. Następne zadanie to wykorzystanie &kdm;.

Jako administrator (użytkownik `root`), wydaj polecenie ``kdm``.

Powinno pojawić się okno logowania, które jest opisane dokładniej w login.

Po wpisaniu nazwy użytkownika i hasła lub pozostawieniu opcji `domyślna` jako typu sesji, powinna się rozpocząć nowa sesja &kde;.

Jeśli dany komputer wykorzystują także inni użytkownicy, powtórz powyższą procedurę dla każdego z nich.

Jest to krótkie wprowadzenie, które zajmuje się tylko uruchomieniem &kdm;. Zapewne zajdzie potrzeba dokładniejszej konfiguracji, na przykład ukrycia nazw użytkowników systemowych, zezwalania na kolejne sesje i tak dalej. Jak tego dokonać dowiesz się z dalszej części tego podręcznika.

## Okno logowania

Interfejs użytkownika &kdm; składa się z okien dialogowych. Główne okno zawiera:

- Elementy interfejsu służące do uwierzytelnienia. Jeśli wybrana jest metoda "klasyczna", są to:

  - Pole Nazwa użytkownika: do wpisywania nazwy użytkownika.

  - Pole Hasło: służące do wpisywania hasła.

- (Opcjonalnie) Lista wpisów zawierająca nazwę i obrazek związany z użytkownikiem (na przykład cyfrowa fotografia). Kliknięcie na elemencie listy jest równoważne wpisaniu odpowiedniej nazwy użytkownika w pole Nazwa użytkownika:.

- (Opcjonalnie) Obszar po prawej lub w górę od obszaru uwierzytelnienia, który może być wykorzystywany do wyświetlania statycznego obrazu lub zegara analogowego.

- Przycisk Zaloguj, który powoduje sprawdzenie poprawności wpisanej nazwy użytkownika i hasła. Jeśli to zakończy się sukcesem, rozpoczynana jest nowa sesja wybranego typu.

- Przycisk Menu, którego wciśnięcie powoduje otwarcie menu z następującymi opcjami:

  - (Opcjonalnie) Element Typ sesji służący do wybrania typu sesji (środowiska graficznego, menadżera okien) do uruchomienia. Więcej o konfigurowaniu typów sesji można znaleźć w different-window-managers-with-kdm.

  - (Opcjonalnie) Element Metoda uwierzytelniania do przełączania między różnymi metodami uwierzytelnienia jak klasyczne nazwa użytkownika+hasło, karty inteligentne, biometria itd. Uwierzytelnianie jest wykonywane przez moduły PAM wraz z odpowiadającymi im modułami interfejsu (wtyczki konwersacji). Więcej możesz znaleźć w option-pluginslogin.

  - (Opcjonalnie na lokalnym komputerze) Element Przełącz użytkownika... pozwalający na przełączanie między sesjami działającymi w różnych wirtualnych terminalach na tym komputerze.

  - (Opcjonalnie na komputerze lokalnym) Ponowne uruchomienie serwera X. Zatrzymuje &X-Server;, uruchamia jego nową kopię. Następnie pokazywane jest ponownie okno logowania. Ta opcja jest użyteczna, jeśli wyświetlanie działa źle.

  - (Opcjonalnie na komputerze zdalnym) Zamknij połączenie. Powoduje zakończenie istniejącego połączenia do serwera &XDMCP;. Jeśli nastąpiło ono przez okno do wybierania serwera, zobaczysz je ponownie. W przeciwnym wypadku zostanie tylko ponowne uruchomiony &X-Server; i pokazane okna logowania.

  - (Opcjonalnie na lokalnym komputerze) Element Logowanie zdalne, który wyświetla okno wyboru serwera &XDMCP; , do którego można się zdalnie zalogować.

  - (Opcjonalnie na komputerze lokalnym) Element Przełącz na konsolę służy do włączenia graficznego logowania i przełączenia na konsolę. Więcej informacji: option-consolettys i option-servertty.

  - (Opcjonalnie) Element Zamknij system..., którego wybranie powoduje pokazanie okna dialogowego Zamknięcie systemu.

Okno dialogowe Zamknięcie systemu daje możliwość wybrania jednej z następujących opcji:

Wyłącz komputer

- Zamknięcie systemu w kontrolowany sposób; można potem wyłączyć zasilanie komputera.

Ponownie uruchom komputer

- Zamknięcie systemu i ponowne uruchomienie komputera. W systemach, gdzie używane są Lilo lub Grub, pojawia się dodatkowa rozwijana lista. Pozwala na wybranie systemu (lub wersji jądra), który ma być uruchomiony przy następnym starcie komputera.

Zaplanuj...

- Jeśli ta opcja jest włączona, pokazuje bardziej skomplikowane okno do zamykania systemu. Więcej na ten temat: option-scheduledsd.

Przycisk Anuluj pozwala na powrót do głównego okna &kdm;.

## Konfiguracja &kdm;

W tym rozdziale zakłada się, że &kdm; już działa w Twoim systemie i chcesz w pewien sposób zmienić jego zachowanie.

Kiedy &kdm; rozpoczyna działanie, odczytuje konfigurację z katalogu `$`KDEDIR`/share/config/kdm/` (może to być także `/etc/kde4/kdm/` lub inna lokalizacja).

Głównym plikiem konfiguracyjnym jest &kdmrc;. Wszystkie odwołania do innych plików są w nim zawarte. Mogą one mieć dowolne nazwy i znajdować się w dowolnym katalogu - ale zazwyczaj nie będzie to miało większego sensu z oczywistych przyczyn (szczególnym wyjątkiem są odwołania do plików konfiguracyjnych programu &xdm; - jednak podczas instalacji &kdm; importuje te ustawienia, jeśli tylko znajdzie &xdm;).

W związku z tym, że &kdm; działa zanim zalogują się użytkownicy, nie jest związany z żadnym z nich. Nie ma też więc oddzielnych plików konfiguracyjnych, wszyscy dzielą jeden &kdmrc;. Wynika z tego, że konfiguracja &kdm; może być zmieniana tylko przez tych, którzy mają prawo do zapisu pliku `$`KDEDIR`/share/config/kdm/kdmrc` (zazwyczaj ograniczone do administratorów systemu zalogowanych jako `root`).

Możesz przeglądać &kdmrc; używany w Twoim systemie. Konfiguracja &kdm; następuje przez jego modyfikację. Inną metodą jest wykorzystanie graficznego narzędzia z &kcontrolcenter-dopelniacz; (Administracja systemu Menedżer logowania).

Pozostała część tego rozdziału omawia konfigurację &kdm; za pomocą modułu &kcontrolcenter-dopelniacz;, a następny opisuje opcje dostępne w samym &kdmrc;. Jeśli potrzebujesz ustawień tylko dla użytkowników lokalnych, moduł &kcontrolcenter-mianownik; powinien być wystarczający. Jeśli jednak chcesz wykorzystywać zdalne logowanie albo mieć wiele jednocześnie działających sesji &kdm;, czytaj dalej.

### Moduł menedżera logowania w &kcontrolcenter-miejscownik;

Przy pomocy tego modułu możesz skonfigurować graficznego menedżera logowania &kde;, czyli &kdm;. Masz możliwość wpływania na wygląd ekranu logowania, na to, kto może wykorzystywać menedżera logowania i kto może zakończyć pracę komputera.

Wszystkie ustawienia zostaną zapisane do pliku konfiguracyjnego &kdmrc;, który w swoim pierwotnym stanie zawiera wiele komentarzy pomagających osiągnąć pożądane zachowanie &kdm;. Wykorzystanie modułu &kcontrolcenter-dopelniacz; spowoduje usunięcie tych komentarzy. Wszystkie dostępne w &kdmrc; opcje są opisane w kdm-files.

W opisach wszystkich opcji w tym rozdziale znajdują się odnośniki do ich odpowiedników w &kdmrc;. Wszystkie opcje z modułu &kcontrol; są dostępne w &kdmrc;, ale nie odwrotnie.

Rozdział ten jest podzielony na kilka części: Wygląd KDM, Czcionka, Tło, Zamykanie, Użytkownicy i Ułatwienia.

Możesz przełączać między sekcjami używając kart na górze okna.

Bez uprawnień administratora nie możesz zmieniać ustawień w tym module. Aby je uzyskać kliknij przycisk Tryb administratora i podaj właściwe hasło.

#### Wygląd KDM

Na tej karcie można zmieniać wygląd &kdm;, menedżera logowania dla &kde;.

Powitanie: to tytuł okna logowania. Ustawianie go jest szczególnie przydatne, jeśli logujesz się na kilka serwerów. W tytule okna możesz używać różnych ciągów specjalnych, które są opisane razem z kluczem `GreetString` w &kdmrc;.

Dalej możesz zdecydować, co ma być wyświetlane w oknie logowania: czas systemowy, logo, albo nic. Wyboru tego dokonuje się poprzez zaznaczenie odpowiedniego przycisku z grupy oznaczonej Logo:. Odpowiada to opcji `LogoArea` w &kdmrc;

Jeśli wybierzesz Pokaż logo, to masz następujące możliwości:

- Upuszczenie pliku obrazka na przycisk obrazka.

- Kliknięcie przycisku obrazka i zaznaczenie właściwego pliku w oknie wyboru.

Jeśli nie określisz loga, zostanie wykorzystany plik domyślny: `$`KDEDIR`/share/apps/kdm/pics/kdelogo.xpm`.

Okno logowania jest zazwyczaj wyświetlane na środku ekranu. Jeśli chcesz zmienić jego położenie, użyj opcji Położenie:. Możesz podać pozycję względną środka okna (w procentach rozmiaru ekranu) względem lewego górnego rogu ekranu. Do tego służą pola X: oraz Y:. Opcja ta odpowiada kluczowi `GreeterPos` z &kdmrc;.

Podczas gdy styl &kde; zależy od ustawień użytkownika, ten wykorzystywany przez &kdm; jest konfigurowany przy pomocy opcji Styl użytkownika i Zestaw kolorów. Odpowiadają one kluczom `GUIStyle` i `ColorScheme` z &kdmrc;.

Niżej znajduje się lista rozwijana pozwalająca wybrać język używany przez okno logowania. Odpowiada to kluczowi `Language` z &kdmrc;.

#### Czcionka

W tej części modułu możesz zmienić czcionki wykorzystywane w oknie logowania. Dostępne są tylko te, do których dostęp mają wszyscy użytkownicy.

Z listy rozwijanej możesz wybrać trzy różne style czcionek (Ogólne, Błędy, Powitanie). Kiedy klikniesz przycisk Wybierz..., pojawi się okno dialogowe służące do ustawiania parametrów stylu czcionki.

- Ogólne - ta czcionka jest używana we wszystkich innych miejscach okna logowania.

- Jeśli logowanie się nie powiedzie, to jest wykorzystywany styl czcionki Błędy.

- Styl Powitanie jest wykorzystywany w tytule.

Możesz także zaznaczyć pole Użyj antyaliasingu, jeśli chcesz mieć wygładzone czcionki w oknie logowania.

#### Tło

Służy do zmiany tła pulpitu pokazywanego przed zalogowaniem się użytkownika. Opcje są takie same jak w ustawieniach tła poza niektórymi, które nie mają znaczenia w kontekście &kdm;.

#### Zamknij system

Możliwość zamknięcia systemu

Ta lista rozwijana służy do wskazania, kto może zamykać system:

- Nikt: Nikt nie może zamykać systemu za pomocą &kdm;. Trzeba się zalogować i wydać odpowiednie polecenie.

- Wszyscy: Każdy może zamykać system za pomocą &kdm;.

- Tylko administrator: &kdm; wymaga hasła administratora (użytkownika `root`) przed zamknięciem systemu.

Dla użytkowników lokalnych (Lokalnie:) i zdalnych (Zdalnie:) można oddzielnie określić kto ma prawo do zamykania systemu.

Polecenia

Te pola tekstowe służą do zdefiniowania dokładnej postaci polecenia zamykającego system.

Zatrzymanie: to domyślnie `/sbin/halt` . Z kolei Ponowne uruchomienie: to domyślnie `/sbin/reboot`.

Jeśli włączona jest opcja Pokaż opcje uruchamiania systemu w oknie "Wyłącz system...", to przy ponownym uruchamianiu &kdm; pokaże opcje z menedżera rozruchu lilo. Aby ta właściwość działała poprawnie, trzeba podać ścieżkę do polecenia `lilo` i pliku mapy. Uwaga: ta opcja nie jest dostępna we wszystkich systemach operacyjnych.

#### Użytkownicy

Tutaj możesz zmienić sposób wyświetlania informacji o użytkownikach w oknie logowania.

Listę użytkowników w &kdm; można wyłączyć w sekcji Pokaż użytkowników. Dostępne są następujące opcje:

Pokaż listę

- Pokaż tylko użytkowników wskazanych na liście

  Jeśli to pole nie zostanie zaznaczone, nie będzie listy. Jest to ustawienie najbezpieczniejsze, bo atakujący musi zgadnąć zarówno poprawną nazwę użytkownika, jak i hasło. To także dobre wyjście, jeśli system wykorzystuje bardzo wiele osób. W takim przypadku lista byłaby niepraktyczna.

Odwróć wybór

- Pozwala wybrać użytkowników, którzy nie będą pokazywani liście. Wszyscy pozostali się tam znajdą.

Zamiast podawać nazwy użytkowników, możesz wykorzystać pole UID-y systemowe do wpisania zakresu UID-ów, które znajdą się na liście. Domyślnie numery poniżej 1000 (oznaczające często użytkowników systemowych lub demony) oraz powyżej 65000 nie są pokazywane.

Jeśli także włączysz opcję Sortuj, to lista użytkowników będzie posortowana alfabetycznie. W przeciwnym wypadku kolejność określa plik haseł. &kdm; będzie wykorzystywać automatyczne dopełnianie nazw jeśli włączysz opcję Automatyczne dopełnianie.

Jeśli wybierzesz opcję pokazywania użytkowników, okno logowania będzie pokazywało obrazki (można je wybierać) odpowiadające użytkownikom. Kiedy ktoś chce się zalogować, wybiera odpowiednią nazwę użytkownika lub obrazek i wpisuje hasło. Otrzymuje wtedy dostęp do systemu.

Jeśli zezwalasz na wykorzystywanie obrazków użytkowników, możesz tu wskazać ich źródło.

Tutaj możesz wskazać domyślny obrazek dla danego użytkownika. W zależności od kolejności wybranej wyżej, użytkownicy mogą lub nie go zmieniać.

Jeśli nie zdecydujesz się na pokazywanie użytkowników, to okno logowania będzie bardziej tradycyjne. Użytkownicy muszą wpisać odpowiednią nazwę i hasło. Jest to lepsza metoda, jeśli z tego terminala korzysta wiele osób.

#### Ułatwienia

Karta Ułatwienia daje dostęp do kilku opcji, które ułatwiają życie leniwym osobom. Przykłady to automatyczne logowanie i zablokowanie haseł.

Wykorzystanie ich należy zawsze dokładnie przemyśleć. Każda z opcji z karty Ułatwienia znacznie pogarsza poziom bezpieczeństwa Twojego komputera. W praktyce opcje te nadają się do wykorzystania tylko w całkowicie niekrytycznym środowisku, na przykład prywatnym komputerze w domu.

##### Włącz automatyczne logowanie

Automatyczne logowanie daje każdemu dostęp do określonego konta na Twoim komputerze, bez konieczności jakiegokolwiek uwierzytelniania. Możesz to włączyć używając opcji Włącz automatyczne logowanie.

Konto, które ma być wykorzystane do automatycznego logowania, wybiera się z listy nazwanej Użytkownik:.

Automatyczne logowanie może być wyłączone. W tym celu należy nacisnąć Shift zaraz po tym jak &X-Server; włączy tryb graficzny i puścić po pojawieniu się ikony klepsydry &kdm-dopelniacz;.

##### Włącz logowanie bez hasła

Ta właściwość umożliwia niektórym użytkownikom logowanie się bez podawania hasła. Włącza się ją przy użyciu opcji Włącz logowanie bez hasła.

Poniżej tej opcji znajduje się lista użytkowników w systemie. Zaznaczenie pola obok nazwy użytkownika powoduje włączenie logowania bez hasła dla danego użytkownika. Domyślnie jest ono wyłączone dla wszystkich.

Również ta opcja może być używana tylko w bezpiecznym środowisku. Jeśli zostanie włączona w systemie publicznym, ważne jest, aby stało się tak tylko dla kont o bardzo ograniczonych uprawnieniach. Przykładem takiego konta jest `guest`.

Możesz także zdecydować, który użytkownik ma być wybrany przy starcie &kdm;. Domyślną opcją jest Brak. Pozostałe to Poprzedni (&kdm; używa ostatniego zalogowanego użytkownika) oraz Podany. W tym drugim przypadku należy wybrać jednego z listy. Można także skonfigurować &kdm; tak, aby bieżącym polem było pole hasła. W takim przypadku, po uruchomieniu &kdm; wystarczy tylko wpisać hasło.

Opcja Automatycznie zaloguj po awarii serwera X pozwala pominąć uwierzytelnianie po przypadkowej awarii serwera X.

&kdmrc-ref; &theme-ref;

## Konfiguracja systemu do wykorzystania &kdm;

W tym rozdziale zakłada się, że Twój system posiada już skonfigurowany system &X-Window; i pozostało do dodania tylko graficzne logowanie.

### Konfiguracja &kdm;

Podstawowym parametrem określającym czy Twój system kończy uruchamianie na tekstowym, czy też graficznym ekranie logowania jest domyślny poziom działania. Ustawia go program /sbin/init korzystając z pliku konfiguracyjnego `/etc/inittab`. Istnieją różnice w domyślnych poziomach działania między różnymi systemami z rodziny &UNIX-dopelniacz; (i dystrybucjami &Linux-dopelniacz;). Mimo to początek pliku `/etc/inittab` powinien wyglądać mniej więcej tak:

    # Default runlevel. The runlevels used by RHS are:
    # 0 - halt (Do NOT set initdefault to this)
    # 1 - Single user mode
    # 2 - Multiuser, without NFS
    # 3 - Full multiuser mode
    # 4 - unused
    # 5 - X11
    # 6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:

Wszystko oprócz ostatniego wiersza to komentarze. Znajduje się w nich informacja, że poziom 5 wykorzystuje X11, a poziom 3 to tryb wielu użytkowników bez X11 (czyli konsola tekstowa). Ostatni wiersz definiuje domyślny poziom działania. W tym przypadku jest to 3. Jeśli Twój system wykorzystuje graficzne logowanie (na przykład używając &xdm;), to poziom domyślny będzie odpowiadał temu z X11.

Oto poziomy działania z logowaniem graficznym (&xdm;) w niektórych popularnych dystrybucjach &Linux-dopelniacz;:

- 5 dla &RedHat; 3.x i wersji późniejszych oraz &Mandrake;

- 4 dla Slackware

- 3 dla &SuSE;. 4.x i 5.x

Pierwszym krokiem w konfiguracji Twojego systemu jest sprawdzenie czy udaje się uruchomić &kdm; z wiersza poleceń. Kiedy to działa, możesz zmienić konfigurację tak, aby &kdm; był uruchamiany przy starcie systemu.

Aby sprawdzić działanie &kdm; musisz najpierw zmienić poziom działania na taki, gdzie nie ma programu &xdm;. Wykorzystuje się do tego polecenie podobne do tego:

    /sbin/init 3

Zamiast `3` użyj właściwego numeru poziomu działania.

Jeśli w Twoim systemie są używane moduły PAM (Pluggable Authentication Modules), co jest standardem w systemie &Linux-mianownik; i &Solaris;, sprawdź czy konfiguracja PAM pozwala na logowanie przez usługę `kde`. Jeśli poprzednio używany był &xdm;, to do uruchomienia &kdm; nie powinno być konieczności jakichkolwiek zmian w konfiguracji PAM, w plikach `/etc/pam.conf` lub `/etc/pam.d/kde`. Opis konfiguracji PAM wychodzi poza zakres tego podręcznika, ale PAM posiada bogatą dokumentację (poszukaj w `/usr/share/doc/*pam*/html/`).

Nadszedł czas wypróbowania &kdm; przez wydanie polecenia:

    kdm -nodaemon

Jeśli widzisz okno logowania &kdm; i możesz się zalogować, to wszystko przebiegło dobrze. Najczęściej spotykanym problemem na tym etapie jest sytuacja, kiedy linker nie może znaleźć bibliotek &Qt; lub &kde;. Jeśli posiadasz binarną dystrybucję bibliotek &kde; sprawdź, czy &kdm; jest zainstalowany tam, gdzie biblioteki sądzą, że znajduje się &kde;. Spróbuj także ustawić zmienne środowiska tak, żeby wskazywały biblioteki &Qt; i &kde;.

Na przykład:

    export
    KDEDIR=/opt/kde
    export
    QTDIR=/usr/lib/qt4
    export
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    export
    LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

W przypadku niepowodzenia, spróbuj uruchomić &xdm;, żeby sprawdzić, czy nie jest ono związane z poważniejszym problemem w konfiguracji X Window.

Jeśli udało się uruchomić &kdm;, możesz rozpocząć zamianę &xdm; na &kdm;. Znów - metoda zależy od dystrybucji.

- W przypadku dystrybucji &RedHat; musisz zmienić plik `/etc/inittab`. Szukaj następującego wiersza:

      x:5:respawn:/usr/X11/bin/xdm -nodaemon

  zamień go na:

      x:5:respawn:/opt/kde/bin/kdm

  To powiadamia `init`(8), że na poziomie 5 ma ponownie uruchamiać &kdm; za każdym razem, kiedy zakończy on działanie. Warto zauważyć, że &kdm; nie potrzebuje opcji `-nodaemon`.

- W &Mandrake; poziom działania X11 z `/etc/inittab` wykorzystuje skrypt `/etc/X11/prefdm`, który wybiera menedżera wyświetlania spośród kilku; obsługuje także &kdm;. Upewnij się,że wszystkie ścieżki są poprawnie ustawione.

- W &SuSE; dodaj jako pierwszy wiersz do `/sbin/init.d/xdm`:

      . /etc/rc.config
      DISPLAYMANAGER=kdm
      export DISPLAYMANAGER

- Jeśli używasz FreeBSD, znajdź następujący wiersz w `/etc/ttys`:

      ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

  i zmodyfikuj go do następującej postaci:

      ttyv8   "/opt/kde/bin/kdm"  xterm   on secure

- Większość pozostałych dystrybucji używa metod podobnych do przedstawionych wyżej.

Na tym etapie możesz ponownie sprawdzić działanie programu &kdm; przez zmianę poziomu działania na ten, który powinien spowodować uruchomienie &kdm;. Aby to zrobić użyj polecenia podobnego do:

    /sbin/init 5

Zamiast liczby `5` podaj właściwy numer poziomu działania uruchamiającego X11 w Twoim systemie.

Ostatni krok to zmiana wpisu `initdefault` w `/etc/inittab` i podanie tam poziomu działania uruchamiającego X11.

Zanim dokonasz tej zmiany, upewnij się, że posiadasz sposób na awaryjne uruchomienie systemu, jeśli coś pójdzie źle. Może to być dyskietka ratunkowa wykonana podczas instalacji systemu albo specjalna ratunkowa dystrybucja, jak `tomsrtbt`. Większość płyt instalacyjnych współczesnych dystrybucji posiada opcję awaryjnego uruchomienia systemu. Szczegóły znajdziesz w dokumentacji systemu. Zalecenie posiadania awaryjnego sposobu uruchomienia ignorujesz na własną odpowiedzialność.

Zazwyczaj polega to na zmianie wiersza:

    id:3:initdefault:

na

    id:5:initdefault:

Po ponownym uruchomieniu systemu powinno pojawić się graficzne okno logowania za pomocą &kdm;.

Przypadki niepowodzenia tego etapu są zazwyczaj związane z różnicą między zmiennymi środowiska używanymi do testowania konfiguracji, a tymi używanymi przy starcie systemu. Jeśli chcesz równocześnie korzystać z dwóch wersji &kde;, zwróć uwagę szczególnie na zgodność między sobą ustawień zmiennych `PATH` i `LD_LIBRARY_PATH`. Sprawdź czy nie nadpisują ich skrypty startowe.

## Obsługa wielu menedżerów okien

&kdm; jest w stanie znaleźć po uruchomieniu większość menedżerów okien i środowisk graficznych. Oznacza to, że nowe środowisko powinno pojawić się automatycznie w oknie głównym &kdm; w menu Typ sesji.

Jeśli używasz bardzo nowego menedżera okien lub takiego, który nie jest znany programowi &kdm; należy sprawdzić kilka rzeczy. Upewnij się, że ścieżka do uruchamianego menedżera okien znajduje się w `PATH`. Oprócz tego sprawdź, czy nazwa programu nie została zmieniona podczas instalacji.

Jeśli program jest po prostu zbyt nowy i &kdm; jeszcze go nie obsługuje, w dość łatwy sposób możesz dodać nową sesję.

Sesje są zdefiniowane w plikach .desktop w `$`KDEDIR`/share/apps/kdm/sessions`. Możesz po prostu dodać odpowiednio nazwany plik `.desktop` do tego katalogu. Pola w tym pliku to:

    [Desktop Entry]
    Encoding=UTF-8 Ustawione na stałe na UTF-8
    i może być pominięte
    Type=XSession Ustawione na stałe na XSession
    i może być pominięte
    Exec=nazwa pliku wykonywalnego Przekazywana poleceniu
    eval exec powłoki Bourne'a
    TryExec=nazwa pliku wykonywalnego Obsługiwane,
    ale nie wymagane
    Name=nazwa pokazywana na liście sesji &kdm;

Są także trzy sesje specjalne:

default

- Domyślna sesja &kdm;, zazwyczaj &kde;. Konfigurowana przez administratora.

custom

- Taka sesja uruchamia skrypt użytkownika ~/.xsession (jeśli istnieje).

bezpieczna

- Sesja bezpieczna zawiera tylko podstawowe narzędzia i jest użyteczna tylko przy debugowaniu.

Aby zmienić typ sesji skopiuj plik .desktop z katalogu danych do tego z konfiguracją i dostosuj do swoich potrzeb. Usunięcie sesji domyślnych jest możliwe przez przesłonięcie ich za pomocą plików zawierających Hidden=true. W przypadku sesji specjalnych domyślnie nie istnieją pliki .desktop, ale &kdm; zachowuje się tak, jakby istniały. Można więc przesłonić je tak samo jak każde inne. W tym miejscu zakładamy, że domyślasz się też jak utworzyć nowy typ sesji.

## Wykorzystywanie &kdm; do logowania zdalnego (&XDMCP;)

&XDMCP; to standard Open Group. Skrót ten oznacza X Display Manager Control Protocol. Protokół XDMCP służy do konfiguracji połączeń między systemami w sieci.

&XDMCP; jest przydatny w konfiguracjach z wieloma użytkownikami, gdzie istnieje serwer znacznie potężniejszy od stacji roboczych. Ma on zasoby wystarczające dla wielu sesji X. &XDMCP; pozwala, na przykład, na wykorzystanie starych komputerów - Pentium lub nawet 486 z 16 MB pamięci RAM wystarcza do uruchomienia sesji X. Przy wykorzystaniu &XDMCP; można na takim komputerze używać pełnego &kde; w najnowszej wersji z serwera. Od strony serwera kosztowne jest tylko uruchomienie pierwszej kopii &kde; (lub innego środowiska). Każda kolejna sesja zużywa bardzo mało dodatkowych zasobów.

Udostępnienie innej metody logowania do Twojego systemu ma wpływ na bezpieczeństwo. Ta usługa powinna być uruchamiana tylko wtedy, kiedy potrzebujesz możliwości nawiązywania połączeń z Twoim komputerem przez zdalne serwery X. Nie potrzebują jej użytkownicy korzystający z pojedynczego komputera pracującego pod kontrolą systemu &UNIX;.

## Zagadnienia zaawansowane

### Gniazda poleceń

Jest to właściwość, którą można wykorzystywać do zdalnej kontroli &kdm;. Została stworzona z myślą o &ksmserver; i &kdesktop; z działającej sesji, ale będzie także współpracować z innymi programami.

Gniazda domeny &UNIX-dopelniacz; znajdują się w podkatalogach katalogu podanego w opcji `FifoDir`=. Ten podkatalog jest kluczowy jeśli chodzi o adresowanie i bezpieczeństwo; wszystkie gniazda mają używają nazwy pliku `socket` i praw dostępu `rw-rw-rw-` (0666). Jest tak, ponieważ niektóre systemy ignorują prawa nadawane plikom gniazd.

Istnieją dwa typy gniazd: globalne (dmctl) i związane z jednym ekranu (dmctl-<display>).

Podkatalog globalnego gniazda jest własnością administratora. Podkatalogi z gniazdami związanymi z jednym ekranem są własnością właściciela ekranu (administratora lub zalogowanego użytkownika). Uprawnienia dla grupy ustawia się za pomocą opcji FifoGroup=; domyślnie przyjmowana jest grupa root. Prawa do takiego podkatalogu są ustawione na rwxr-x--- (0750).

Pola polecenia są oddzielone tabulacjami (\t), pola list oddziela się odstępami, znak odstępu na liście pól uzyskuje się za pomocą \s.

Polecenie jest zakończone znakiem nowego wiersza (\n).

To samo odnosi się do odpowiedzi. W przypadku sukcesu odpowiedź to ok, opcjonalnie poprzedzona żądanymi danymi. Odpowiedź w przypadku błędu to jego krótki kod (⪚ perm, noent, &etc;) z następującym dalej dłuższym wyjaśnieniem.

### Polecenia globalne:

`login` `display` (`now` | `schedule`) `user` `password` [argumenty_sesji]

- Zalogowanie użytkownika do pracy z określonym ekranem. Jeśli podany jest parametr `now`, istniejąca sesja jest usuwana; w przeciwnym razie logowanie odbywa się po zakończeniu sesji. argumenty_sesji to treść dla .dmrc w formacie podobnym do używanego przez printf. Niewymienione klucze przyjmują ostatnio zapisane wartości.

`resume`

- Wymuś powrót z trybu konsoli, nawet jeśli sesje TTY ciągle działają.

`manage` `display` [`display_class` [`auth_name` `auth_data`]]

- Rozpocznij zarządzanie obcym ekranem o nazwie display

  Parametr `display_class`, jeśli określony i niepusty, zostanie użyty do dopasowania konfiguracji; zobacz kdm-files.

  Parametry `auth_name` i `auth_data` muszą być określone, jeśli ekran wymaga autoryzacji X. Format taki sam, jak druga i trzecia kolumna wyjścia `xauth list`.

`unmanage` `display`

- Przestań zarządzać obcym ekranem o nazwie display

### Polecenia odnoszące się do pojedynczego ekranu:

`lock`

- Ekran jest oznaczony jako zablokowany. Jeśli w tym stanie nastąpi awaria serwera X, nie będzie próby automatycznego ponowienia logowania nawet jeśli odpowiednia opcja jest włączona w konfiguracji.

`unlock`

- Odwrócenie efektu polecenia `lock` i ponowne włączenie automatycznego ponawiania logowania.

`suicide`

- Bieżąca sesja jest kończona "na siłę". Nie ma próby ponownego logowania, ale wydane wcześniej polecenia "login" odniosą skutek.

### Polecenia dla wszystkich gniazd

`caps`

- Zwraca listę właściwości gniazda:

  kdm

- identyfikuje &kdm;, na wypadek, jakby inne inne menedżery logowania również obsługiwały ten protokół

list, lock, suicide, login, resume, manage

- Odpowiednie polecenie jest obsługiwane.

bootoptions

- Obsługiwane jest polecenie `listbootoptions` oraz `=` przy poleceniu `shutdown`

shutdown <list>

- Dla podanej listy użytkowników obsługiwane jest polecenie `shutdown` (lista z elementami oddzielonymi odstępami.) * oznacza wszystkich użytkowników.

nuke <list>

- Wymienieni użytkownicy mają prawo do zamykania systemu.

nuke

- Wszyscy użytkownicy mają prawo do zamykania systemu

reserve <number>

- Skonfigurowane są rezerwowe ekrany, w tej chwili jest dostępnych liczba z nich

`list` [`all` | `alllocal`]

- Zwraca listę działających sesji. Domyślnie uzyskuje się wszystkie aktywne sesje. Jeśli podano parametr `all`, dodawane są także sesje pasywne. Parametr `alllocal` powoduje pokazanie także sesji pasywnych, ale bez przychodzących sesji zdalnych.

  Każdy opis sesji to lista oddzielonych odstępami wartości:

  - Nazwa ekranu lub TTY

  - Nazwa terminala wirtualnego (VT) dla sesji lokalnych

  - Nazwa użytkownika, pusta dla sesji pasywnych i wychodzących sesji zdalnych (tryb lokalnego programu powitalnego)

  - Typ sesji lub <remote> dla wychodzących sesji zdalnych, puste dla sesji pasywnych.

  - Pole flag:

    - `*` jeśli ekran należy do gniazda, z którego pochodzi żądanie.

    - `!` jeśli sesja nie może być zatrzymana przez gniazdo, z którego pochodzi żądanie.

  W przyszłości mogą zostać dodane nowe pola.

`reserve` [`czas w sekundach`]

- Uruchomienie zarezerwowanego ekranu logowania. Jeśli nikt się za jego pomocą nie zaloguje przez określony czas (domyślnie: jedna minuta), to ekran jest usuwany. Po zakończeniu sesji usuwany jest także ekran.

  Dozwolone tylko na gniazdach związanych z lokalnymi ekranami i gniazdach globalnych.

`activate` (`vt`|`display`)

- Przełączenie do określonego wirtualnego terminala (VT). Terminal może być podany bezpośrednio (⪚ `vt3`) lub pośrednio przez używający go ekran (np. `:2`).

  Dozwolone tylko na gniazdach związanych z lokalnymi ekranami i gniazdach globalnych.

`listbootoptions`

- Wyświetlenie dostępnych opcji uruchamiania.

  Wartość zwracana zawiera następujące elementy:

  - Lista opcji uruchamiania (jak pokazywane w &kdm;).

  - Domyślnie uruchamiana opcja.

  - Bieżąca opcja uruchamiania.

  Domyślna i bieżąca opcja to wartości liczbowe na liście opcji uruchamiania. Jeśli któraś z nich nie jest ustawiona lub nie ma znanej wartości, wynosi -1.

`shutdown` (`reboot` | `halt`) [`=`wybrany``] (`ask`|`trynow`|`forcenow`|`schedule`|`start (`-1`|`end (`force`|`forcemy`|`cancel)`)`)`)

- Żądanie zakończenia pracy systemu, restart lub wyłączenie komputera.

  System operacyjny, który ma być uruchomiony następnym razem, wybiera się z listy zwróconej przez `listbootoptions`

  Jeśli żądanie zakończenia pracy pochodzi z gniazda związanego z konkretnym ekranem, to następuje ono po zakończeniu bieżącej sesji na tym ekranie. Wydanie takiego żądania może spowodować pojawienie się okna dialogowego z prośbą o potwierdzenie i/lub żądaniem uwierzytelnienia

  `start` to moment, w którym nastąpi zakończenie pracy systemu. Jeśli czas jest podany ze znakiem plus to wartość ta jest dodawana do czasu bieżącego. Zero oznacza akcję natychmiastową.

  `end` określa kiedy najpóźniej powinno nastąpić zakończenie pracy jeśli są aktywne sesje. Jeśli czas ten jest podany ze znakiem plus, dodawany jest czas początkowy. -1 oznacza nieskończone oczekiwanie. Przed zamknięciem systemu z aktywnymi sesjami &kdm; może wykonać jedną z poniższych czynności:

  - `cancel` - wycofanie żądania zamknięcia systemu

  - `force` - zamknięcie systemu mimo działających sesji

  - `forcemy` - zamknięcie systemu jeśli wszystkie aktywne sesje należą do użytkownika, który zażądał tej operacji. Działa tylko dla gniazd powiązanych z ekranami.

  Parametry `start` oraz `end` podawane są w sekundach od początku epoki &UNIX-dopelniacz;.

  `trynow` to synonim `0 0 cancel`, `forcenow` - `0 0 force`, a `schedule` - `0 -1`.

  `ask` powoduje próbę natychmiastowego zamknięcia systemu. Jeśli istnieją aktywne sesje to wysyła informację do użytkownika. Tylko dla gniazd związanych z ekranami.

`shutdown cancel` [`local`|`global`}

- Wycofanie żądania zamknięcia systemu. Wysłane za pomocą gniazda globalnego powoduje wycofanie wszystkich żądań zamknięcia systemu. Jeśli pochodzi z gniazda związanego z ekranem, to dotyczy tylko skolejkowanych żądań pochodzących z tego ekranu.

`shutdown status`

- Zwraca listę zawierająca informacje o żądaniach zamknięcia systemu.

  Wpisy składają się z oddzielonych odstępami pól:

  - (global|local) - zamykanie systemu w toku lub do wykonania w przyszłości. Lokalne zwracane tylko przez gniazdo związane z ekranem.

  - (halt|reboot)

  - start

  - koniec

  - ("ask"|"force"|"forcemy"|"cancel")

  - Numer użytkownika od którego pochodzi żądanie, -1 dla gniazda globalnego.

  - System do uruchomienia po restarcie lub "-" jeśli nie wybrano.

  W przyszłości mogą zostać dodane nowe pola

Istnieją dwie metody używania gniazd:

- Bezpośrednie podłączenie do gniazda. FifoDir jest eksportowany jako $`DM_CONTROL`; nazwa gniazda związanego z ekranem pochodzi od wartości zmiennej $`DISPLAY`.

- Przez wykorzystanie polecenia `kdmctl` (⪚ w skrypcie powłoki) Więcej informacji uzyskuje się po wydaniu polecenia `kdmctl` `-h`.

Oto przykładowy skrypt powłoki powodujący uruchomienie systemu FreeBSD po restarcie:

    if kdmctl | grep -q shutdown; then
      IFS=$'\t'
      set -- `kdmctl listbootoptions`
      if [ "$1" = ok ]; then
        fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}')
        if [ -n "$fbsd" ]; then
          kdmctl shutdown reboot "=$fbsd" ask > /dev/null
        else
          echo "FreeBSD boot unavailable."
        fi
      else
        echo "Boot options unavailable."
      fi
    else
      echo "Cannot reboot system."
    fi

## Inne źródła informacji

&kdm; wywodzi się z programu &xdm;, stąd strona podręcznika &xdm; zawiera sporo użytecznych informacji. W przypadku problemów z działaniem X przejrzyj strony podręcznika X i startx. Jeśli masz pytania dotyczące programu &kdm;, na które odpowiedzi nie ma w tym podręczniku, wykorzystaj fakt, że &kdm; jest rozpowszechniany na licencji &GNU; General Public License: zajrzyj do jego kodu źródłowego.

## Autorzy i licencja

&kdm; bazuje na, i zawiera kod, z &xdm; © Keith Packard, MIT X Consortium.

&kdm; 0.1 został napisany przez Matthiasa Ettricha. Późniejsze wersje, do &kde; 2.0.x są autorstwa Steffena Hansena. Nowe właściwości dla &kde; 2.1.x i przepisanie na potrzeby &kde; 2.2.x wykonał Oswald Buddenhagen.

Prawa autorskie do innych części &kdm; mają ich autorzy. Fragmenty te są objęte licencją GNU GPL. Każdy może modyfikować i rozpowszechniać &kdm;, jeśli tylko wspomniane są nazwiska autorów.

&kdm; wymaga biblioteki &Qt;, do której prawa autorskie posiada Troll Tech AS.

Wkład do dokumentacji:

- Dokumentacja: &Steffen.Hansen; &Steffen.Hansen.mail;

- Dokumentacja rozszerzona przez Gregor'ego Zumsteinazumstein@ssd.ethz.ch. Ostatnie uaktualnienie: 9 sierpnia 1998

- Dokumentacja poprawiona dla KDE 2 przez Neala Crooka nac@forth.org. Ostatnie uaktualnienie: 6 sierpnia 2000

- Rozszerzenie i poprawienie dokumentacji dla &kde; 2.2 i 4.0: &Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;. Ostatnie uaktualnienie: 7 grudnia 2007.

Prawa autorskie do dokumentacji: copyright &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; i &Oswald.Buddenhagen;. Ten dokument zawiera także długie fragmenty strony podręcznika &xdm;, © Keith Packard. Dokumentacja formatu tematów jest silnie oparta na podręczniku GDM, © Martin K. Petersen, George Lebl, Red Hat, Inc. oraz Sun Microsystems, Inc.

Polskie tłumaczenie: Marta Rybczyńska mrybczynska@poczta.onet.pl

&underFDL;

## Słowniczek

program powitalny

Program powitalny to okno dialogowe, czyli ta część &kdm;, którą widzi użytkownik.

entropia

Entropia systemu jest miarą jego nieprzewidywalności. Wykorzystuje się to podczas generacji liczb losowych.