# GNOME Kijelzőkezelő referencia-kézikönyv

## A kézikönyvben használt kifejezések és egyezmények

Ez a kézikönyv a GNOME Kijelzőkezelő 2.26.0-s verzióját ismerteti. Utoljára 2009. október 2-án volt frissítve.

Választó: egy program, amelyet egy távoli gép kiválasztására használnak egy kijelzőnek a csatlakoztatott kijelzőn történő távoli kezeléséhez (`gdm-host-chooser`).

FreeDesktop: az asztali szabványokat biztosító szervezet, mint például a GDM által használt asztalibejegyzés-specifikáció, bővebben: https://www.freedesktop.org.

GDM: GNOME Kijelzőkezelő (GNOME Display Manager). A szoftvercsomag egészének leírására szolgál.

Üdvözlő: a grafikus bejelentkezési ablak (a `gnome-shell` által biztosítva).

PAM: moduláris hitelesítési modulok

XDMCP - X-megjelenítéskezelő protokoll

Xserve: az X ablakozó rendszer egy megvalósítása. Például az Xorg Xserver kiszolgálót az X.org Alapítvány (https://www.x.org) biztosítja.

A kúpos zárójelek között lévő szóval kezdődő útvonalak a telepítési előtagtól relatívak. Például a `<share>/pixmaps/` az `/usr/share/pixmaps` könyvtárra hivatkozik, ha a GDM a `--prefix=/usr` kapcsolóval lett beállítva.

## Áttekintés

### Bevezetés

A GNOME Display Manager (GDM) egy olyan kijelzőkezelő, amely megvalósítja a csatlakoztatott és távoli kijelzők kezeléséhez szükséges összes jelentős funkciót. A GDM a semmiből íródott, és nem tartalmaz semmilyen XDM vagy X-konzorcium kódot.

Ne feledje, hogy a GDM konfigurálható, és számos beállítási lehetőség hatással van a biztonságra. Ebben a dokumentumban kiemelésre kerülnek azok a problémák, amelyekkel tisztában kell lenni.

Ne feledje, hogy egyes operációs rendszerek úgy állítják be a GDM-et, hogy az a jelen dokumentumban leírt alapértelmezett értékektől eltérően viselkedjen. Ha úgy tűnik, hogy a GDM nem a dokumentáltak szerint viselkedik, akkor ellenőrizze, hogy a kapcsolódó beállítások eltérnek-e az itt leírtaktól.

A GDM-mel kapcsolatos további információkért nézze meg a projekt webhelyét.

A GDM-mel kapcsolatos megbeszélések és kérdések a https://discourse.gnome.org/tag/gdm címen lévő vitafórumon találhatók. A korábbi levelezőlista archívuma szintén jó erőforrás, ahol a gyakori kérdésekre adott válaszokat keresheti.A lista a https://mail.gnome.org/archives/gdm-list/ címen lett archiválva, és rendelkezik keresési funkcióval a kulcsszavakkal történő üzenetkereséshez.

A hibajelentéseket és fejlesztési kéréseket a https://gitlab.gnome.org/GNOME/gdm/-/issues/ oldalon küldje be.

### Az interfész stabilitása

A GDM 2.20 és a korábbi verziók stabil beállítási interfészeket támogattak. A kódbázist azonban teljesen átírták a GDM 2.22-höz, és nem teljesen kompatibilis visszafelé a régebbi kiadásokkal. Ez részben azért van, mert a dolgok másképp működnek, így néhány kapcsolónak egyszerűen nincs értelme, részben azért, mert néhány kapcsolónak soha nem volt értelme, részben pedig azért, mert néhány funkciót még nem valósítottak meg újra.

A továbbra is stabilan támogatott interfészek közé tartoznak az Init, PreSession, PostSession, PostLogin és Xsession parancsfájlok. Az `<etc>/gdm/custom.conf` beállítófájlban lévő néhány dámonbeállítási kapcsoló továbbra is támogatott. A `~/.dmrc` és az arcböngésző képhelyei továbbra is támogatottak.

A GDM 2.20 és a korábbi verziók támogatták a több különálló grafikus kártyával rendelkező kijelzők kezelésének lehetőségét, mint például a terminálkiszolgáló környezetben használtakat, egy ablakban történő bejelentkezést egy olyan programon keresztül, mint az Xnest vagy a Xephyr, a gdmsetup programot, az XML-alapú üdvözlő témákat és az XDMCP választónak a bejelentkezési képernyőről történő futtatásának lehetőségét. Ezek a funkciók nem kerültek vissza a 2.22-es átírás során.

### Funkcionális leírás

A GDM felelős a rendszer kijelzőinek kezeléséért. Ez magában foglalja a felhasználók hitelesítését, a felhasználói munkamenet elindítását és a felhasználói munkamenet megszüntetését. A GDM konfigurálható, és a beállítási módokat ennek a dokumentumnak az „A GDM beállítása” szakasza ismerteti. A GDM a fogyatékkal élő felhasználók számára is elérhető.

A GDM lehetővé teszi a fő konzol kijelzőjének és a virtuális terminálon keresztül indított kijelzőknek a kezelését. Integrálva van más programokkal, mint például a Fast User Switch Applet (FUSA) és a gnome-screensaver, hogy az Xserver virtuális terminál (VT) interfészen keresztül több kijelzőt tudjon kezelni a konzolon. Képes az XDMCP kijelzőket is kezelni.

A kijelző típusától függetlenül a GDM a kijelző kezelése során a következőket teszi. Elindít egy Xserver folyamatot, majd rendszergazda felhasználóként lefuttatja az `Init` parancsfájlt, és elindítja az üdvözlő programot a kijelzőn.

Az üdvözlő program a jogosultság nélküli „gdm” felhasználóként/csoportként fut. Ezt a felhasználót és csoportot ennek a dokumentumnak a „Biztonság” szakasza ismerteti. Az üdvözlő program fő funkciói a bejelentkezési fiók kiválasztási mechanizmusának biztosítása, valamint a felhasználó és a rendszer közötti párbeszéd irányítása a fiók hitelesítése során. A hitelesítési folyamatot a PAM (Pluggable Authentication Modules – moduláris hitelesítési modulok) vezérli. A PAM-modulok határozzák meg, hogy a felhasználó milyen kéréseket kap (ha kap egyáltalán) a hitelesítéshez. Egy átlagos rendszeren az üdvözlő program felhasználónevet és jelszót kér a hitelesítéshez. Egyes rendszerek azonban úgy is konfigurálhatók, hogy kiegészítő mechanizmusokat, például ujjlenyomat- vagy intelligenskártya-olvasót használjanak. A GDM úgy is konfigurálható, hogy ezeket az alternatívákat párhuzamosan támogassa az üdvözlő bejelentkezési kiterjesztésekkel és az `--enable-split-authentication` `./configure` kapcsolóval, vagy egyenként a rendszer PAM-konfigurációjával.

Az intelligens kártya kiterjesztés az `org.gnome.display-manager.extensions.smartcard.active` gsettings-kulccsal engedélyezhető vagy tiltható le.

Hasonlóképpen, az ujjlenyomat kiterjesztés az `org.gnome.display-manager.extensions.fingerprint.active` gsettings-kulccsal engedélyezhető vagy tiltható le.

A GDM és a PAM úgy is konfigurálható, hogy ne igényeljen semmilyen bemenetet, amely azt eredményezi, hogy a GDM automatikusan bejelentkezik és egyszerűen elindít egy munkamenetet, ami hasznos lehet bizonyos környezetekben, például egyfelhasználós rendszereknél vagy kioszkoknál.

A hitelesítés mellett az üdvözlő program lehetővé teszi a felhasználó számára, hogy kiválassza, melyik munkamenetet indítsa el és milyen nyelvet használjon. A munkameneteket .desktop utótaggal végződő fájlok határozzák meg. Ezekről a fájlokról további információ a dokumentum „GDM felhasználói munkamenet és nyelvbeállítás” szakaszában található. Alapértelmezetten a GDM úgy van beállítva, hogy egy arcböngészőt jelenítsen meg, így a felhasználó egy képre kattintva kiválaszthatja felhasználói fiókját, ahelyett hogy be kellene gépelnie a felhasználónevét. A GDM nyomon követi a felhasználó alapértelmezett munkamenetét és nyelvét a felhasználó `~/.dmrc` fájljában, és ezeket az alapértelmezéseket használja, ha a felhasználó nem választott munkamenetet vagy nyelvet a bejelentkezési felületen.

A felhasználó hitelesítése után a démon rendszergazda felhasználóként lefuttatja a `PostLogin` parancsfájlt, majd rendszergazda felhasználóként lefuttatja a `PreSession` parancsfájlt. Ezen parancsfájlok futtatása után a felhasználói munkamenet elindul. Ha a felhasználó kilép a munkamenetéből, akkor a `PostSession` parancsfájl lefut rendszergazdaként. Ezek a parancsfájlok horgokként szolgálnak a disztribúciók és a végfelhasználók számára, hogy személyre szabhassák a munkamenetek kezelését. Ezekkel a horgokkal például létrehozhat egy olyan gépet, amely menet közben hozza létre a felhasználó $HOME könyvtárát, és kijelentkezéskor törli azt. A `PostLogin` és a `PreSession` parancsfájlok között az a különbség, hogy a `PostLogin` a pam_open_session hívás előtt fut, így ez a megfelelő hely minden olyan feladatra, amelyet a felhasználói munkamenet előkészítése előtt kell lefuttatni. A `PreSession` parancsfájl a munkamenet előkészítése után kerül meghívásra.

### Üdvözlő panel

A GDM üdvözlő program a képernyő aljára dokkolt panelt jelenít meg, amely további funkciókat biztosít. A felhasználó kiválasztásakor a panel lehetővé teszi a felhasználó számára, hogy a bejelentkezés után kiválassza a használni kívánt munkamenetet, nyelvet és billentyűzetkiosztást. A billentyűzetkiosztás-választó a jelszó beírásakor használt billentyűzetkiosztást is megváltoztatja. A panel tartalmaz egy területet is a bejelentkezési szolgáltatások számára, hogy állapotikonokat hagyjanak ott. Néhány példa az állapotikonokra az akkumulátor ikonja az akkumulátor aktuális használatához, valamint az akadálymentesítési funkciók engedélyezésének ikonja. Az üdvözlő program olyan gombokat is biztosít, amelyek lehetővé teszik a felhasználó számára a rendszer leállítását vagy újraindítását. Szükség esetén a GDM úgy is konfigurálható, hogy a leállítás és újraindítás gombok ne jelenjenek meg. A GDM a PolicyKit segítségével (vagy az Oracle Solaris rendszeren lévő szerepalapú hozzáférés-vezérlésen keresztül) úgy is konfigurálható, hogy a leállítási vagy újraindítási kérés elfogadása előtt a felhasználónak megfelelő jogosultsággal kelljen rendelkeznie.

Ne feledje, hogy a billentyűzetkiosztási funkciók csak a libxklavier támogatással rendelkező rendszereken érhetőek el.

### Akadálymentesítés

A GDM támogatja az „akadálymentes bejelentkezést”, amely lehetővé teszi a felhasználók számára, hogy akkor is bejelentkezzenek az asztali munkamenetükbe, ha nem tudják a képernyőt, az egeret vagy a billentyűzetet a szokásos módon, egyszerűen használni. Elérhetők az akadálymentes technológiai (AT) funkciók, mint például a képernyő-billentyűzet, a képernyőolvasó, a képernyőnagyító és az X-kiszolgáló AccessX billentyűzet-akadálymentesítése. Szükség esetén lehetőség van nagy méretű szöveg vagy nagy kontrasztú ikonok és vezérlők engedélyezésére is. A dokumentum „Akadálymentesítési beállítás” szakaszában további információkat talál arról, hogy hogyan lehet a különböző akadálymentesítési funkciókat beállítani.

Néhány operációs rendszeren meg kell győződni arról, hogy a GDM felhasználó tagja-e az „audio” csoportnak az olyan AT programok esetében, amelyeknek hangkimenetre van szükségük (például szövegről beszédre átalakító), hogy működőképesek legyenek.

### A GDB arcböngésző

Az arcböngésző egy olyan interfész, amely lehetővé teszi a felhasználók számára, hogy egy képre kattintva válasszák ki a felhasználónevüket. Ez a funkció az org.gnome.login-screen disable-user-list GSettings-kulcson keresztül engedélyezhető vagy tiltható le, és alapértelmezetten be van kapcsolva. Ha ki van kapcsolva, akkor a felhasználóknak kézzel kell beírniuk a teljes felhasználónevüket. Ha engedélyezve van, akkor megjeleníti az összes olyan helyi felhasználót, akik elérhetőek a bejelentkezésre a rendszeren (az /etc/passwd fájlban meghatározott összes felhasználói fiók, amelyeknek van érvényes parancsértelmezője és kellően magas UID-ja), valamint azokat a távoli felhasználókat, akik nemrég jelentkeztek be. A GDM 2.20 és a korábbi verziókban az arcböngésző az összes távoli felhasználót megpróbálta megjeleníteni, ami teljesítményproblémákat okozott a nagy, vállalati telepítésekben.

Az arcböngésző úgy van konfigurálva, hogy a leggyakrabban bejelentkező felhasználókat jelenítse meg a lista tetején. Ez segít abban, hogy a gyakran bejelentkező felhasználók gyorsan megtalálják bejelentkezési képüket.

Az arcböngésző támogatja a „kiegészítési keresést”, amely dinamikusan a listában lévő megfelelő felhasználónévre mozgatja az arckiválasztást a felhasználó gépelése közben. Ez azt jelenti, hogy egy hosszú felhasználónévvel rendelkező felhasználónak csak a felhasználónév első néhány karakterét kell beírnia, mielőtt a megfelelő elem kiválasztásra kerül a listában.

A GDM által használt ikonokat a rendszergazda globálisan telepítheti, vagy a felhasználó saját könyvtárában is elhelyezhetők. Globális telepítés esetén a `<share>/pixmaps/faces/` könyvtárban kell lenniük, és a fájlnévnek a felhasználó nevének kell lennie. Az arcképfájloknak a GTK+ által olvasható szabványos képeknek kell lenniük, például PNG vagy JPEG. A globális arcképek könyvtárában elhelyezett arcikonoknak a GDM felhasználó számára olvashatónak kell lenniük.

Ha a felhasználónak nincs globális ikonja, akkor a GDM a felhasználó $HOME könyvtárában keresi a képfájlt. A GDM először a felhasználó arcképét keresi a `~/.face` fájlban. Ha nem találja, akkor a `~/.face.icon` fájlt próbálja meg. Ha még mindig nem találja, akkor a `~/.gnome2/gdm` fájlban meghatározott „face/picture=” értéket használja.

Ha egy felhasználónak nincs meghatározott arcképe, akkor a GDM az aktuális GTK+ témában meghatározott „stock_person” ikont fogja használni. Ha nincs ilyen kép meghatározva, akkor egy általános arcképet fog használni tartalékként.

Ne feledje, hogy a távoli felhasználók saját könyvtáraiban található arcikonok betöltése és méretezése nagyon időigényes feladat lehet. Mivel a képek NIS-en vagy NFS-en keresztül történő betöltése nem praktikus, a GDM nem próbálja meg betölteni az arcképeket a távoli saját könyvtárakból.

Ha a böngésző be van kapcsolva, akkor a számítógépen lévő érvényes felhasználónevek mindenki számára láthatóvá válnak. Ha az XDMCP engedélyezve van, akkor a felhasználónevek a távoli felhasználók számára is láthatóak. Ez természetesen némileg korlátozza a biztonságot, mivel egy rosszindulatú felhasználónak nem kell kitalálnia az érvényes felhasználóneveket. Egyes nagyon szigorúan korlátozott környezetekben az arcböngésző nem biztos, hogy megfelelő.

### XDMCP

A GDM-démon úgy is konfigurálható, hogy figyelje és kezelje a távoli kijelzőktől érkező X-kijelzőkezelési protokoll (XDMCP) kéréseket. Alapértelmezetten az XDMCP-támogatás ki van kapcsolva, de igény szerint engedélyezhető. Ha a GDM TCP-csomagoló támogatással lett összeállítva, akkor a démon csak a TCP-csomagoló konfigurációs fájljában lévő GDM-szolgáltatás szakaszban megadott gépeknek ad hozzáférést.

A GDM számos olyan intézkedést tartalmaz, amelyek ellenállóbbá teszik az XDMCP-szolgáltatást érő szolgáltatásmegtagadási támadásokkal szemben. Sok protokollparaméter, a kézfogadási időkorlátok stb. finomhangolhatóak. Az alapértelmezett konfigurációnak észszerűen kell működnie a legtöbb rendszeren.

A GDM alapértelmezetten az XDMCP-kéréseket az XDMCP-nél használt normál UDP-porton, a 177-es porton figyeli, és a QUERY és BROADCAST_QUERY kérésekre egy WILLING csomag küldésével válaszol a küldőnek.

A GDM úgy is konfigurálható, hogy az INDIRECT lekérdezéseket tiszteletben tartsa, és gépválasztót jelenítsen meg a távoli kijelzőhöz. A GDM megjegyzi a felhasználó választását, és a későbbi kéréseket a kiválasztott kezelőhöz továbbítja. A GDM támogatja a protokoll olyan kiterjesztését is, amely elfelejteti az átirányítást, amint a felhasználó kapcsolódása sikerült. Ez a kiterjesztés csak akkor támogatott, ha mindkét démon GDM. Ez átlátszó, és az XDM vagy más, XDMCP-t megvalósító démonok figyelmen kívül fogják hagyni.

Ha úgy tűnik, hogy az XDMCP nem működik, akkor győződjön meg arról, hogy az összes gép meg van-e adva az `/etc/hosts` fájlban.

Az XDMCP használata során felmerülő biztonsági problémákkal kapcsolatos információkért olvassa el a „Biztonság” szakaszt.

### Naplózás

A GDM a rendszernaplót használja a hibák és az állapot naplózására. Naplózhat hibakeresési információkat is, amelyek hasznosak lehetnek a problémák felderítésében, ha a GDM nem működik megfelelően. A hibakeresési kimenetet az `<etc>/gdm/custom.conf` fájlban lévő „debug/Enable” kulcs „true” értékre állításával lehet engedélyezni.

A különböző X-kiszolgálóktól származó kimenetek a GDM naplókönyvtárában kerülnek tárolásra, amely általában a `<var>/log/gdm/` könyvtár. Az X-kiszolgáló minden üzenete a megjelenített értékhez tartozó `<display>.log` fájlba kerül mentésre.

A munkamenet kimenete átirányításra kerül a GDM-démonon keresztül a `~/`$XDG_CACHE_HOME`/gdm/session.log` fájlba, amely általában a `~/.cache/gdm/session.log` fájlra kerül kiterjesztésre. A fájl minden egyes bejelentkezéskor felülíródik, így ugyanannak a felhasználónak a GDM-en keresztüli kijelentkezése és újbóli bejelentkezése az előző munkamenet minden üzenetének elvesztését okozza.

Ne feledje, hogy ha a GDM valamilyen okból nem tudja létrehozni ezt a fájlt, akkor egy `~/`$XDG_CACHE_HOME`/gdm/session.log.XXXXXXXX` nevű tartalékfájl lesz létrehozva, ahol az `XXXXXXXX` néhány véletlenszerű karakter.

### Gyors felhasználóváltás

A GDM lehetővé teszi, hogy egyszerre több felhasználó is bejelentkezzen. Miután egy felhasználó bejelentkezett, további felhasználók jelentkezhetnek be a GNOME panelen lévő felhasználóváltón keresztül, vagy a GNOME képernyővédőjének zároló képernyő párbeszédablakában lévő „Felhasználóváltás” gombra kattintva. Az aktív munkamenet ugyanezzel a mechanizmussal váltható oda és vissza. Ne feledje, hogy egyes disztribúciók esetleg nem adják hozzá a felhasználóváltót az alapértelmezett panelkonfigurációhoz. A panel helyi menüjének használatával adható hozzá.

Ne feledje, hogy ez a funkció a virtuális terminálokat támogató rendszereken érhető el. Ez a funkció nem fog működni, ha a virtuális terminálok nem érhetők el.

## Biztonság

### A GDM felhasználója és csoportja

A megfelelő működéshez biztonsági okokból ajánlott egy külön erre a célra létrehozott felhasználó- és csoportazonosítót használni. Ez a felhasználó és csoport a legtöbb rendszeren általában „gdm”, de bármilyen felhasználóra vagy csoportra beállítható. Az összes grafikus felhasználói felületű GDM program ezen felhasználóként fut, így a felhasználóval interakcióba lépő programok egy védőfallal ellátott környezetben futnak. Ennek a felhasználónak és csoportnak korlátozott jogosultságokkal kell rendelkeznie.

A „gdm” felhasználó számára szükséges egyetlen különleges jogosultság az Xauth-fájlok olvasásának és írásának képessége a `<var>/run/gdm` könyvtárban. A `<var>/run/gdm` könyvtárnak root:gdm tulajdonjoggal és 1777 jogosultsággal kell rendelkeznie.

Soha, semmilyen körülmények között sem szabad a GDM felhasználót vagy csoportot olyan felhasználóra beállítani, amelyhez egy felhasználó könnyen hozzáférést szerezhet, például a `nobody` felhasználóhoz. Bármely felhasználó, aki hozzáférést szerez egy Xauth-kulcshoz, kémkedhet a kapcsolódó munkamenetben futó grafikus felhasználói felületű programok után és vezérelheti azokat, vagy szolgáltatásmegtagadásos támadást hajthat végre ellene. Fontos gondoskodni arról, hogy a rendszer megfelelően legyen konfigurálva, és csak a „gdm” felhasználónak legyen hozzáférése ezekhez a fájlokhoz, illetve ne lehessen könnyen bejelentkezni ebbe a fiókba. Például a fiókot úgy kell beállítani, hogy ne legyen jelszava, vagy ne engedje, hogy nem rendszergazda felhasználók is bejelentkezhessenek a fiókba.

A GDM üdvözlő konfigurációja a GConf beállításai között van tárolva. Ahhoz, hogy a GDM felhasználó képes legyen a konfiguráció írására, az szükséges, hogy a „gdm” felhasználónak írható $HOME könyvtára legyen. A felhasználók tetszés szerint konfigurálhatják az alapértelmezett GConf konfigurációt, hogy ne kelljen írható $HOME könyvtárral rendelkező „gdm” felhasználót biztosítani. Azonban a GDM egyes funkciói letiltásra kerülhetnek, ha nem képes állapotinformációkat írni a GConf-konfigurációba.

### PAM

A GDM a PAM-et használja a bejelentkezés hitelesítésére. A PAM a Pluggable Authentication Modules (moduláris hitelesítési modulok) rövidítése, és a legtöbb olyan program használja, amely hitelesítést kér a számítógépen. Lehetővé teszi a rendszergazdának, hogy a különböző bejelentkezési programok (például ssh, bejelentkezési grafikus felület, képernyővédő stb.) számára különleges hitelesítési viselkedést állítson be.

A PAM bonyolult és nagymértékben konfigurálható, de ennek a dokumentációnak nem célja, hogy ezt részletesen elmagyarázza. Ehelyett inkább áttekintést kíván adni arról, hogy a PAM konfigurációja hogyan kapcsolódik a GDM-hez, hogyan konfigurálják általában a PAM-ot a GDM-mel, valamint az ismert problémákat ismerteti. Elvárható, hogy egy olyan személynek, akinek a PAM konfigurációját kell elvégeznie, a PAM dokumentációjának további olvasása szükséges ahhoz, hogy megértse, hogyan kell a PAM-ot konfigurálni, és hogy megértse az ebben a szakaszban használt kifejezéseket.

A PAM konfigurációjának eltérő, de hasonló interfészei vannak a különböző operációs rendszereken, ezért a részletekért nézze meg a pam.d vagy pam.conf kézikönyvoldalakat. Győződjön meg arról, hogy elolvasta-e a PAM dokumentációját, és tisztában van-e a konfiguráción végrehajtani kívánt változtatások biztonsági vonatkozásaival.

Ne feledje, hogy alapértelmezetten a GDM a „gdm” PAM-szolgáltatásnevet használja a normál bejelentkezéshez és a „gdm-autologin” PAM-szolgáltatásnevet az automatikus bejelentkezéshez. Előfordulhat, hogy ezek a szolgáltatások nincsenek meghatározva a pam.d vagy pam.conf beállítófájlban. Ha nincs bejegyzés, akkor a GDM az alapértelmezett PAM-viselkedést fogja használni. A legtöbb rendszeren ennek jól kell működnie. Azonban előfordulhat, hogy az automatikus bejelentkezés funkció nem működik, ha a gdm-autologin szolgáltatás nincs meghatározva.

A `PostLogin` parancsfájl a pam_open_session meghívása előtt fut le, a `PreSession` parancsfájl pedig azután kerül meghívásra. Ez lehetővé teszi a rendszergazdának, hogy bármilyen parancsfájlt hozzáadjon a bejelentkezési folyamathoz akár a PAM-munkamenet előkészítése előtt, akár utána.

Ha a GDM-et más típusú hitelesítési mechanizmusokkal (például ujjlenyomat- vagy intelligenskártya-olvasóval) is működőképessé szeretné tenni, akkor ezt a kívánt hitelesítési típushoz tartozó PAM-szolgáltatási modul használatával kell megvalósítania, nem pedig a GDM-kód közvetlen módosításának kísérletével. Olvassa el a rendszerén lévő PAM-dokumentációt.

A PAM-nak vannak bizonyos korlátai a tekintetben, hogy egyszerre több hitelesítési típussal is képes legyen dolgozni, például az intelligens kártya elfogadásának, illetve a felhasználónévnek és jelszónak a bejelentkezési programba való beírási képességének támogatásában. Vannak olyan technikák, amelyekkel ez működik, és a legjobb, ha egy ilyen konfiguráció beállításakor utánanéz, hogy ezt a problémát általában hogyan szokták megoldani.

Ha az automatikus bejelentkezés nem működik egy rendszeren, akkor ellenőrizze, hogy a „gdm-autologin” PAM-verem meg van-e határozva a PAM konfigurációjában. Ahhoz, hogy ez működjön, olyan PAM-modult kell használni, amely egyszerűen nem végez hitelesítést, vagy amely egyszerűen PAM_SUCCESS értéket ad vissza az összes nyilvános interfészéről. Feltételezve, hogy a rendszere rendelkezik olyan pam_allow.so PAM-modullal, amely ezt teszi, a „gdm-autologin” engedélyezéséhez szükséges PAM-konfigurációnak így kellene kinéznie:

           gdm-autologin auth  required    pam_unix_cred.so.1
           gdm-autologin auth  sufficient  pam_allow.so.1
           gdm-autologin account  sufficient  pam_allow.so.1
           gdm-autologin session  sufficient  pam_allow.so.1
           gdm-autologin password  sufficient  pam_allow.so.1

A fenti beállítás nem fogja az utolsó bejelentkezés bejegyzésének előállítását eredményezni. Ha utolsó bejelentkezés bejegyzése szükséges, akkor használja a következőket a munkamenethez:

           gdm-autologin session required pam_unix_session.so.1

Ha a számítógépet többen használják, ami miatt az automatikus bejelentkezés nem megfelelő, akkor egyes felhasználók számára engedélyezheti a jelszó megadása nélküli bejelentkezést. Ezt a funkciót a gnome-system-tools programban lévő users-admin eszközben lehet felhasználónként engedélyezni. Ez úgy érhető el, hogy a jelszó bekérése előtt ellenőrzi, hogy a felhasználó tagja-e a „nopasswdlogin” nevű Unix-csoportnak. Ahhoz, hogy ez működjön, a „gdm” szolgáltatás PAM-beállítófájljának tartalmaznia kell egy ehhez hasonló sort:

          gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin

### utmp és wtmp

A GDM utmp és wtmp felhasználó-nyilvántartási adatbázis-bejegyzéseket állít elő a munkamenetbe történő bejelentkezéskor és kijelentkezéskor. Az utmp-adatbázis tartalmazza a felhasználók hozzáférési és nyilvántartási adatait, amelyekhez olyan parancsok férnek hozzá, mint a `finger`, `last`, `login` és `who`. A wtmp-adatbázis tartalmazza az utmp-adatbázis felhasználó-hozzáférési és nyilvántartási információinak előzményeit. További információkért olvassa el az utmp és wtmp kézikönyvoldalakat a rendszerén.

### X-kiszolgáló hitelesítési séma

Az X-kiszolgáló felhatalmazási fájljai a `<var>/run/gdm` egy újonnan létrehozott alkönyvtárában vannak eltárolva az induláskor. Ezeket a fájlokat az X-ügyfelek és az X-kiszolgáló közötti „jelszó” tárolására és megosztására használják. Ez a „jelszó” egyedi minden egyes bejelentkezett munkamenetnél, így az egyik munkamenet felhasználói nem hallgathatják ki a másik munkamenet felhasználóit.

A GDM csak a MIT-MAGIC-COOKIE-1 X-kiszolgáló hitelesítési sémát támogatja. Általában keveset lehet nyerni a többi sémából, és eddig nem is tettek erőfeszítést a megvalósításukra. Különösen óvatosnak kell lenni az XDMCP használatával, mert az X-kiszolgáló hitelesítési sütije nyílt szövegként megy át a hálózaton. Ha a lehallgatás lehetséges, akkor egy támadó a használt hitelesítési sémától függetlenül egyszerűen lehallgathatja a hitelesítési jelszavát, amikor bejelentkezik. Ha a lehallgatás lehetséges és nem kívánatos, akkor inkább ssh-t kell használni az X-kapcsolat alagútjának létrehozására az XDMCP használata helyett. Az XDMCP-re egyfajta grafikus telnetként is gondolhat, amelynek ugyanolyan biztonsági problémái vannak. A legtöbb esetben az ssh -Y előnyben részesítendő a GDM XDMCP funkcióival szemben.

### XDMCP biztonság

Annak ellenére, hogy a kijelzőt sütik védik, az X-események és így a jelszavak bevitele során beírt billentyűleütések továbbra is nyílt szövegként kerülnek átvitelre a hálózaton. Ezek elfogása triviális.

Az XDMCP elsősorban vékony kliensek futtatásához hasznos, például terminál laborokban. Ezeknek a vékony klienseknek mindig csak a kiszolgáló eléréséhez van szükségük a hálózatra, ezért a legjobb biztonsági irányelvnek az tűnik, ha ezek a vékony kliensek külön hálózaton vannak, amelyhez a külvilág nem férhet hozzá, és csak a kiszolgálóhoz tudnak kapcsolódni. Az egyetlen pont, ahonnan a külvilágot el kell érni, az a kiszolgáló. Az ilyen típusú beállítások soha nem használhatnak kezeletlen elosztót vagy más lehallgatható hálózatot.

### XDMCP hozzáférés-vezérlés

Az XDMCP hozzáférés-vezérlése TCP-csomagolók használatával történik. Lehetséges a GDM-et TCP-csomagoló támogatása nélkül is lefordítani, így előfordulhat, hogy ez a funkció nem támogatott néhány operációs rendszeren.

A `gdm` démon nevét kell használnia a `<etc>/hosts.allow` és a `<etc>/hosts.deny` fájlokban. Például az `.evil.domain` tartományból származó számítógépek bejelentkezésének megtagadásához adja hozzá a következőt:

    gdm: .evil.domain

a `<etc>/hosts.deny` fájlhoz. Szükség lehet még a következő hozzáadására:

    gdm: .your.domain

a `<etc>/hosts.allow` fájlhoz, ha általában az összes szolgáltatást letiltja az összes gépről. A részletekért nézze meg a hosts.allow(5) kézikönyvoldalt.

### Tűzfal biztonság

Annak ellenére, hogy a GDM megpróbál túljárni az XDMCP-t kihasználni próbáló potenciális támadók eszén, mégis azt tanácsoljuk, hogy blokkolja az XDMCP-portot (általában a 177-es UDP-portot) a tűzfalán, hacsak valóban nincs rá szükség. A GDM védelmet nyújt a szolgáltatásmegtagadásos támadások ellen, de az X protokoll még mindig eleve nem biztonságos, és csak ellenőrzött környezetekben szabad használni. Emellett minden egyes távoli kapcsolat sok erőforrást vesz igénybe, így sokkal könnyebb szolgáltatásmegtagadásos támadást végrehajtani az XDMCP-n keresztül, mint egy webkiszolgálót megtámadni.

Az összes X-kiszolgáló portot is bölcs dolog blokkolni. Ezek a 6000 fölötti TCP-portok (minden kijelzőszámhoz egy) a tűzfalon. Ne feledje, hogy a GDM a 20-as és annál magasabb kijelzőszámokat használja a rugalmas, igény szerinti kiszolgálókhoz.

Az X nem túl biztonságos protokoll, ha az interneten keresztül használják, az XDMCP pedig még kevésbé biztonságos.

### PolicyKit

A GDM úgy is konfigurálható, hogy PolicyKitet használjon annak lehetővé tételére, hogy a rendszergazda vezérelhesse azt, hogy a bejelentkezési képernyő biztosítson-e leállítás és újraindítás gombokat az üdvözlő képernyőn.

Ezeket a gombokat az `org.freedesktop.consolekit.system.stop-multiple-users` és az `org.freedesktop.consolekit.system.restart-multiple-users` műveletek vezérlik, ebben a sorrendben. Ezeknek a műveleteknek a házirendjét a polkit-gnome-authorization eszköz vagy a polkit-auth parancssori program használatával lehet beállítani.

### RBAC (szerepalapú hozzáférés-vezérlés)

A GDM úgy is konfigurálható, hogy szerepalapú hozzáférés-vezérlést (RBAC) használjon a PolicyKit helyett. Ebben az esetben a szerepalapú hozzáférés-vezérlés konfigurációja használható annak vezérlésére, hogy a bejelentkezési képernyő biztosítson-e leállítás és újraindítás gombokat az üdvözlő képernyőn.

Például az Oracle Solaris rendszeren a „solaris.system.shutdown” felhatalmazást használják ennek vezérlésére. Egyszerűen módosítsa az `/etc/user_attr` fájlt úgy, hogy a „gdm” felhasználó rendelkezzen ezzel a felhatalmazással.

## ConsoleKit támogatás

A GDM támogatja a ConsoleKit nevű felhasználói és bejelentkezési munkamenet-nyilvántartási keretrendszerrel történő felhasználói bejelentkezési információk közzétételét. A ConsoleKit képes nyomon követni az összes jelenleg bejelentkezett felhasználót. Ebben a tekintetben használható a legtöbb Unix-szerű operációs rendszeren elérhető utmp vagy utmpx fájlok helyettesítéseként.

Amikor a GDM új bejelentkezési folyamat létrehozására készül egy felhasználó számára, akkor meghívja a ConsoleKit egy jogosultsággal rendelkező metódusát, hogy új munkamenetet nyisson a felhasználónak. Ekkor a GDM a ConsoleKitnek is megadja a felhasználói munkamenetre vonatkozó információkat, többek között például a felhasználó azonosítóját, a munkamenethez hozzárendelendő X11-kijelző nevét, azt a gépnevet, ahonnan a munkamenet származik (hasznos XDMCP-munkamenet esetén), valamint azt, hogy a munkamenet csatolt-e vagy sem. A felhasználói folyamatot kezdeményező entitásként a GDM egyedülálló helyzetben van ahhoz, hogy tudjon a felhasználói munkamenetről, és hogy megbízzanak benne ezeknek az információknak a megadásában. Ennek a jogosultsággal rendelkező metódusnak a használatát a D-Bus rendszerüzenetbusz biztonsági irányelvének használata korlátozza.

Abban az esetben, ha egy meglévő munkamenettel rendelkező felhasználó hitelesített a GDM-nél, és a meglévő munkamenet folytatását kéri, a GDM meghívja a ConsoleKit egy jogosultsággal rendelkező metódusát a munkamenet feloldásához. Annak pontos részletei, hogy mi történik, amikor a munkamenet megkapja ezt a feloldási jelet, nem meghatározott és a munkamenetre jellemző. Azonban a legtöbb munkamenet válaszul feloldja a képernyővédőt.

Ha a felhasználó a kijelentkezést választja, illetve ha a GDM vagy a munkamenet váratlanul kilép, akkor a felhasználói munkamenet regisztrációja törölve lesz a ConsoleKitből.

## Beállítás

A GDM számos konfigurációs interfésszel rendelkezik. Ezek közé tartoznak a parancsfájlírási integrációs pontok, a démon konfigurációja, az üdvözlő konfigurációja, az általános munkamenet beállításai, a gnome-settings-daemon konfigurációval való integráció és a munkamenet konfigurációja. Ezek az integrációs típusok az alábbiakban részletesen ismertetésre kerülnek.

### Parancsfájlírási integrációs pontok

A GDM parancsfájl-integrációs pontjai az `<etc>/gdm/` könyvtárban találhatók:

    Xsession
    Init/
    PostLogin/
    PreSession/
    PostSession/

Az `Init`, a `PostLogin`, a `PreSession` és a `PostSession` parancsfájlok az alábbiakban leírtak szerint működnek.

Minden egyes parancsfájltípusnál a „Default” nevű alapértelmezett parancsfájl kerül végrehajtásra, és a parancsfájltípushoz hozzárendelt könyvtárban van tárolva. Tehát az alapértelmezett `Init` parancsfájl az `<etc>/gdm/Init/Default`. Kijelzőnkénti parancsfájl is megadható, és ha létezik, akkor az fog lefutni az alapértelmezett parancsfájl helyett. Az ilyen parancsfájlok ugyanabban a könyvtárban vannak tárolva, mint az alapértelmezett parancsfájl, és ugyanaz a nevük, mint az X-kiszolgáló DISPLAY értéke az adott kijelzőnél. Ha például az `<Init>/:0` parancsfájl létezik, akkor a DISPLAY ":0" esetén ez fog lefutni.

Ezen parancsfájlok mindegyike rendszergazdai jogosultsággal fut, és 0-t ad vissza sikeres futtatás esetén, illetve egy nem nulla visszatérési kódot, ha olyan hiba történt, amely a bejelentkezési munkamenet megszakítását eredményezi. Ne feledje azt sem, hogy a GDM addig blokkol, amíg a parancsfájlok be nem fejeződnek, így ha bármelyik parancsfájl elakad, az a bejelentkezési folyamatot is megakasztja.

Ha a bejelentkezési felhasználói felület X-kiszolgálója sikeresen elindult, de még mielőtt a bejelentkezési felhasználói felület ténylegesen megjelenne, a GDM lefuttatja az `Init` parancsfájlt. Ez a parancsfájl hasznos az olyan programok indításához, amelyeket a bejelentkezési képernyő megjelenése során kell futtatni, vagy bármilyen különleges előkészítés elvégzéséhez, ha szükséges.

Miután a felhasználó sikeresen hitelesítette magát, a GDM lefuttatja a `PostLogin` parancsfájlt. Ez még azelőtt történik, hogy bármilyen munkamenet beállítása megtörtént volna, beleértve a pam_open_session hívást is. Ez a parancsfájl hasznos minden olyan munkamenet-előkészítés elvégzéséhez, amelynek a munkamenet indítása előtt kell megtörténnie. Például beállíthatja a felhasználó $HOME könyvtárát, ha szükséges.

Miután a felhasználói munkamenet előkészítése megtörtént, a GDM lefuttatja a `PreSession` parancsfájlt. Ez a parancsfájl hasznos minden olyan munkamenet-előkészítés elvégzéséhez, amelynek a munkamenet előkészítése után kell megtörténnie. Használható például munkamenet-kezeléshez vagy fiókművelethez.

Ha egy felhasználó befejezi a munkamenetét, a GDM lefuttatja a `PostSession` parancsfájlt. Ne feledje, hogy az X-kiszolgáló ennek a parancsfájlnak a futtatásakor már leállt, ezért nem lehet elérni.

Ne feledje, hogy a `PostSession` parancsfájl akkor is lefut, ha a kijelző nem válaszol bemeneti/kimeneti hiba vagy hasonló miatt. Így nincs garancia arra, hogy az X-alkalmazások működni fognak a parancsfájl végrehajtása közben.

A fenti parancsfájlok mindegyike a `$RUNNING_UNDER_GDM` környezeti változót `yes` értékre fogja állítani. Ha a parancsfájlok más kijelzőkezelőkkel is meg vannak osztva, akkor ez lehetővé teszi annak azonosítását, hogy a GDM mikor hívja ezeket a parancsfájlokat, így tetszőleges kódot futtathat a GDM használatakor.

### Automatikus indítás beállítása

A `<share>/gdm/autostart/LoginWindow` könyvtár a „FreeDesktop.org asztali alkalmazások automatikus indításának specifikációja” által meghatározott formátumú fájlokat tartalmaz. A specifikációban lévő szabványos funkciók használhatók olyan programok megadására, amelyeknek automatikusan újra kell indulniuk, vagy csak akkor kell elindulniuk, ha egy GConf konfigurációs érték be van állítva stb.

Az ebben a könyvtárban lévő bármely `.desktop` fájl hatására a hozzárendelt program automatikusan elindul a bejelentkezési felhasználói felület üdvözlőjével. Alapértelmezetten a GDM olyan fájlokkal érkezik, amelyek automatikusan elindítják magát a gdm-simple-greeter bejelentkezési felhasználói felület üdvözlőjét, a gnome-power-manager alkalmazást, a gnome-settings-daemon démont és a metacity ablakkezelőt. Ezek a programok szükségesek ahhoz, hogy az üdvözlőprogram működjön. Ezenkívül asztali fájlok is rendelkezésre állnak a különböző AT-programok indításához, ha az alábbi „Akadálymentesítési beállítások” szakaszban megadott konfigurációs értékek be vannak állítva.

### Az Xsession parancsfájl

Egy `Xsession` parancsfájl is található az `<etc>/gdm/Xsession` könyvtárban, amely a `PreSession` és a `PostSession` parancsfájlok között kerül meghívásra. Ez a parancsfájl nem támogatja a kijelzőnkénti futtatást, mint a többi parancsfájl. Ezt a parancsfájlt a felhasználói munkamenet tényleges elindításához használják. Ez a parancsfájl a felhasználó szerepében fut, és azt a munkamenetet fogja futtatni, amelyet a felhasználó az asztali munkamenetfájlban kiválasztott az indításhoz.

### Démon beállítása

A GDM-démon az `<etc>/gdm/custom.conf` fájl használatával kerül beállításra. Az alapértelmezett értékek a GConfban lévő `gdm.schemas` fájlban vannak tárolva. Ajánlott, hogy a végfelhasználók az `<etc>/gdm/custom.conf` fájlt módosítsák, mert a sémák fájlja felülíródhat, amikor a felhasználó frissíti rendszerét a GDM újabb verziójának beszerzéséhez.

Ne feledje, hogy a GDM régebbi verziói további beállítási lehetőségeket is támogattak, amelyek többé már nem támogatottak a GDM legújabb verzióiban.

Az `<etc>/gdm/custom.conf` fájl `kulcsfájl` formátumban van. A zárójelben lévő kulcsszavak a csoportszakaszokat határozzák meg, az egyenlőségjel (=) előtti karakterláncok a kulcsok, az egyenlőségjel utáni adatok pedig az értéküket jelentik. Az üres sorok vagy a kettőskereszttel (#) kezdődő sorok figyelmen kívül lesznek hagyva.

Az `<etc>/gdm/custom.conf` fájl a „[daemon]”, „[security]” és „[xdmcp]” csoportszakaszokat támogatja. Az egyes csoportokon belül vannak bizonyos kulcs-érték párok, amelyeket meg lehet adni a GDM viselkedésének módosítására. Például az időzített bejelentkezés engedélyezéséhez és az időzített bejelentkezés felhasználójának az „ember” nevű felhasználó megadásához úgy kell módosítani a fájlt, hogy az a következő sorokat tartalmazza:

    [daemon]
    TimedLoginEnable=true
    TimedLogin=ember

A támogatott beállítási kulcsok teljes listája a következő:

#### [chooser]

Multicast

-     Multicast=false

  Ha igaz és az IPv6 engedélyezve van, akkor a választó csoportcímes lekérdezést küld a helyi hálózatra, és összegyűjti a válaszokat a csoportcímes csoporthoz csatlakozott gépektől.

MulticastAddr

-     MulticastAddr=ff02::1

  Ez a kapcsolatszintű csoportcímes cím.

#### [daemon]

TimedLoginEnable

-     TimedLoginEnable=false

  Ha a `TimedLogin` értékében megadott felhasználót be kell jelentkeztetni a bejelentkezési képernyőn eltöltött (a `TimedLoginDelay` értékkel beállított) másodpercnyi inaktivitás után. Ez hasznos nyilvános hozzáférési termináloknál vagy esetleg akár otthoni használatnál is. Ha a felhasználó használja a billentyűzetet vagy böngészi a menüket, akkor az időkorlát visszaáll a `TimedLoginDelay` kulcsban megadott értékre vagy 30 másodpercre, amelyik nagyobb. Ha a felhasználó nem ad meg felhasználónevet, hanem csak lenyomja az ENTER billentyűt, miközben a bejelentkezési program a felhasználónevet kéri, akkor a GDM azt feltételezi, hogy a felhasználó azonnal be akar jelentkezni az időzített felhasználóként. Ne feledje, hogy ehhez a felhasználóhoz nem lesz jelszó kérve, ezért óvatosnak kell lennie, habár PAM használatakor be lehet állítani, hogy megkövetelje a jelszó megadását a bejelentkezés engedélyezése előtt. Olvassa el a kézikönyv „Biztonság → PAM” szakaszát a további információkért vagy segítségért, ha úgy tűnik, hogy ez a funkció nem működik.

TimedLogin

-     TimedLogin=

  Ez az a felhasználó, akit be kell jelentkeztetni a megadott számú másodpercnyi inaktivitás után.

  Ha az érték egy függőleges vonallal | (a csőszimbólummal) végződik, akkor a GDM végrehajtja a megadott programot, és a program által a szabványos kimeneten visszaadott bármilyen értéket használja fel a felhasználóként. A program a DISPLAY környezeti változó készletével fut annak érdekében, hogy lehetőség legyen a felhasználó kijelzőnkénti megadására. Ha például az érték az „/usr/bin/getloginuser|”, akkor az „/usr/bin/getloginuser” program lesz lefuttatva a felhasználó értékének lekéréséhez.

TimedLoginDelay

-     TimedLoginDelay=30

  A `TimedLogin` felhasználó bejelentkeztetése előtti késleltetés másodpercben.

AutomaticLoginEnable

-     AutomaticLoginEnable=false

  Ha igaz, akkor az `AutomaticLogin` értékében megadott felhasználót azonnal be kell jelentkeztetni. Ez a funkció hasonló a 0 másodperces késleltetésű időzített bejelentkezéshez.

AutomaticLogin

-     AutomaticLogin=

  Ez az a felhasználó, akit azonnal be kell jelentkeztetni, ha az `AutomaticLoginEnable` igaz.

  Ha az érték egy függőleges vonallal | (a csőszimbólummal) végződik, akkor a GDM végrehajtja a megadott programot, és a program által a szabványos kimeneten visszaadott bármilyen értéket használja fel a felhasználóként. A program a DISPLAY környezeti változó készletével fut annak érdekében, hogy lehetőség legyen a felhasználó kijelzőnkénti megadására. Ha például az érték az „/usr/bin/getloginuser|”, akkor az „/usr/bin/getloginuser” program lesz lefuttatva a felhasználó értékének lekéréséhez.

User

-     User=gdm

  Az a felhasználónév, amely alatt az üdvözlő és más grafikus felhasználói felületű programok futnak. További információkért olvassa el a `User` beállítási kulcsot és ennek a dokumentumnak a „Biztonság → A GDM felhasználója és csoportja” szakaszát.

Group

-     Group=gdm

  Az a csoportnév, amely alatt az üdvözlő és más grafikus felhasználói felületű programok futnak. További információkért olvassa el a `Group` beállítási kulcsot és ennek a dokumentumnak a „Biztonság → A GDM felhasználója és csoportja” szakaszát.

#### Hibakeresési beállítások

#### [debug]

Enable

-     Enable=false

  A hibakeresés engedélyezéséhez állítsa a „debug/Enable” kulcsot „true” értékre az `<etc>/gdm/custom.conf` fájlban, és indítsa újra a GDM-et. Ezután a hibakeresési kimenet a rendszer naplófájljába kerül küldésre (`<var>/log/messages` vagy `<var>/adm/messages` az operációs rendszertől függően).

#### Biztonsági beállítások

#### [security]

DisallowTCP

-     DisallowTCP=true

  Ha igaz, akkor a `-nolisten tcp` mindig hozzáadódik a parancssorhoz a csatolt X-kiszolgálók indításakor, ezáltal letiltva a TCP-kapcsolatot. Ez biztonságosabb beállítás, ha nem használ távoli kapcsolatokat.

#### XDCMP-támogatás

#### [xdmcp]

DisplaysPerHost

-     DisplaysPerHost=1

  Annak megakadályozásához, hogy a támadók megtöltsék a várakozási sorokat, a GDM csak egy kapcsolatot engedélyez minden egyes távoli számítógéphez. Ha egynél több képernyővel rendelkező számítógépek számára szeretne megjelenítési szolgáltatásokat nyújtani, akkor növelnie kell ezt az értéket.

  Ne feledje, hogy a csatlakoztatott KIJELZŐK megengedett száma nincs korlátozva. Csak az XDMCP-n keresztüli távoli kapcsolatokat korlátozza ez a beállítási lehetőség.

Enable

-     Enable=false

  Ennek igazra állítása engedélyezi az XDMCP-támogatást, amely lehetővé teszi a távoli kijelzők/X-terminálok GDM általi kezelését.

  A `gdm` a 177-es UDP-porton figyel a kérésekre. További információkért nézze meg a Port beállítást.

  Ha a GDM úgy lett összeállítva, hogy támogassa azt, akkor a távoli kijelzőkről való hozzáférés a TCP-csomagolók könyvtárának használatával vezérelhető. A szolgáltatás neve `gdm`.

  Hozzá kell adnia a

      gdm:.my.domain

  bejegyzést az `<etc>/hosts.allow` fájlhoz a TCP-csomagolók beállításától függően. A részletekért nézze meg a hosts.allow kézikönyvoldalt.

  Ne feledje, hogy az XDMCP nem különösebben biztonságos protokoll, és jó ötlet lehet a tűzfalon blokkolni a 177-es UDP-portot, hacsak nincs igazán szüksége rá.

HonorIndirect

-     HonorIndirect=true

  Engedélyezi az XDMCP INDIRECT választását (azaz a `gdmchooser` távoli végrehajtását) az olyan X-termináloknál, amelyek nem rendelkeznek saját kijelzőböngészővel.

MaxPending

-     MaxPending=4

  A szolgáltatásmegtagadásos támadások elkerülése érdekében a GDM rögzített méretű várakozási sorral rendelkezik a függőben lévő kapcsolatokhoz. Egyszerre csak a MaxPending beállításban megadott kijelzők indulhatnak el.

  Ne feledje, hogy ez a paraméter nem korlátozza a kezelhető távoli kijelzők számát. Csak az egyidejűleg kapcsolatot kezdeményező kijelzők számát korlátozza.

MaxSessions

-     MaxSessions=16

  Meghatározza az egyidejűleg kezelendő távoli kijelzőkapcsolatok legnagyobb számát. Vagyis a távoli kijelzők teljes számát, amelyek használhatják a gépét.

MaxWait

-     MaxWait=30

  Ha a GDM készen áll egy kijelző kezelésére, akkor egy olyan egyedi munkamenet-azonosítót tartalmazó ACCEPT csomagot küld neki, amely a későbbi XDMCP-beszélgetésekben lesz használva.

  A GDM ezután a munkamenet-azonosítót a várakozási sorba helyezi arra várva, hogy a kijelző egy MANAGE kéréssel válaszoljon.

  Ha nem érkezik válasz a MaxWait beállításban megadott másodpercen belül, akkor a GDM halottnak nyilvánítja a kijelzőt, és törli azt a várakozási sorból, felszabadítva ezzel a helyet más kijelzők számára.

MaxWaitIndirect

-     MaxWaitIndirect=30

  A MaxWaitIndirect paraméter határozza meg a másodpercek legnagyobb számát azon időpont között, amikor egy felhasználó kiválaszt egy gépet, és az azt követő közvetett lekérdezés között, amikor a felhasználó kapcsolódik a géphez. Az időkorlát túllépésekor a kiválasztott gépről szóló információk elfelejtésre kerülnek, és a közvetett tárolóhely felszabadul más kijelzők számára. Az információ korábban is elfelejtődhet, ha a `MaxPendingIndirect` paraméterben megadott értéknél több gép próbál közvetett lekérdezést küldeni.

Port

-     Port=177

  Annak az UDP-portnak a száma, ahol a `gdm` az XDMCP-kérésekre figyeljen. Ne változtassa meg ezt, hacsak nem tudja, hogy mit csinál.

Willing

-     Willing=<etc>/gdm/Xwilling

  Ha a gép egy WILLING csomagot küld vissza egy QUERY kérés után, akkor olyan karakterláncot küld, amely megadja ennek a kiszolgálónak az aktuális állapotát. Az alapértelmezett üzenet a rendszer azonosítója, de lehetőség van olyan parancsfájl létrehozására, amely személyre szabott üzenetet jelenít meg. Ha ez a parancsfájl nem létezik vagy ez a kulcs üres, akkor az alapértelmezett üzenet kerül elküldésre. Ha ez a parancsfájl sikeres és kimenetet állít elő, akkor a kimenet első sora kerül elküldésre (és csak az első sor). Legfeljebb 3 másodpercenként egyszer fut le, hogy megakadályozza a gép QUERY csomagokkal való elárasztásával történő lehetséges szolgáltatásmegtagadást.

### Egyszerű üdvözlő beállítása

A GDM alapértelmezett üdvözlőjét egyszerű üdvözlőnek hívják, és a GConf segítségével állítható be. Az alapértelmezett értékek a GConfban lévő `gdm-simple-greeter.schemas` fájlban vannak tárolva. Ezek az alapértékek felülbírálhatók, ha a „gdm” felhasználó rendelkezik írható $HOME könyvtárral a GConf-beállítások tárolásához. Ezek az értékek a `gconftool-2` vagy a `gconf-editor` programok használatával szerkeszthetők. A következő beállítási lehetőségek támogatottak:

### Üdvözlő beállítási kulcsai

/apps/gdm/simple-greeter/banner_message_enable

-     false (logikai)

  Azt szabályozza, hogy a szalagcímüzenet szövege megjelenjen-e.

/apps/gdm/simple-greeter/banner_message_text

-     NULL (karakterlánc)

  Megadja az üdvözlőablakban megjelenítendő szöveges szalagcímüzenetet.

/apps/gdm/simple-greeter/disable_restart_buttons

-     false (logikai)

  Azt szabályozza, hogy megjelenjenek-e az újraindítási gombok a bejelentkezési ablakban.

/apps/gdm/simple-greeter/disable_user_list

-     false (logikai)

  Ha igaz, akkor az ismert felhasználókkal rendelkező arcböngésző nem jelenik meg a bejelentkezési ablakban.

/apps/gdm/simple-greeter/logo_icon_name

-     computer (karakterlánc)

  Az üdvözlő logóhoz használandó tematikus ikon nevének beállítása.

/apps/gdm/simple-greeter/recent-languages

-     [] (karakterlánclista)

  A bejelentkezési ablakban alapértelmezetten megjelenítendő nyelvek listájának beállítása. Az alapértelmezett érték a „[]”. Az alapértelmezett beállítással csak a rendszer alapértelmezett nyelve és az „Egyéb…” lehetőség jelenik meg, amely az elérhető nyelvek teljes listáját megjelenítő párbeszédpanelt jeleníti meg, hogy a felhasználó választhasson közülük.

  A felhasználók nem szándékoznak kézzel megváltoztatni ezt a beállítást. Ehelyett a GDM nyomon követi az ebben a beállítási kulcsban kiválasztott nyelveket, és megjeleníti azokat a nyelv kombinált listájában az „Egyéb…” választási lehetőséggel együtt. Ezáltal a gyakran kiválasztott nyelveket könnyebb kiválasztani.

/apps/gdm/simple-greeter/recent-layouts

-     [] (karakterlánclista)

  A bejelentkezési panelen alapértelmezetten megjelenítendő billentyűzetkiosztások listájának beállítása. Az alapértelmezett érték a „[]”. Az alapértelmezett beállítással csak a rendszer alapértelmezett billentyűzetkiosztása és az „Egyéb…” lehetőség jelenik meg, amely az elérhető billentyűzetkiosztások teljes listáját megjelenítő párbeszédpanelt jeleníti meg, hogy a felhasználó választhasson közülük.

  A felhasználók nem szándékoznak kézzel megváltoztatni ezt a beállítást. Ehelyett a GDM nyomon követi az ebben a beállítási kulcsban kiválasztott billentyűzetkiosztásokat, és megjeleníti azokat a billentyűzetkiosztás kombinált listájában az „Egyéb…” választási lehetőséggel együtt. Ezáltal a gyakran kiválasztott billentyűzetkiosztásokat könnyebb kiválasztani.

/apps/gdm/simple-greeter/wm_use_compiz

-     false (logikai)

  Azt szabályozza, hogy a compiz legyen-e használva ablakkezelőként a metacity helyett.

### Akadálymentesítési beállítások

Ez a szakasz a GDM-ben elérhető akadálymentesítési beállítási lehetőségeket ismerteti.

#### A GDM akadálymentesítési párbeszédablaka és a GConf-kulcsok

A bejelentkezési képernyőn lévő GDM üdvözlőpanel megjelenít egy akadálymentesítési ikont. Az ikonra kattintva megnyílik a GDM akadálymentesítési párbeszédablaka. A GDM akadálymentesítési párbeszédablakában található egy jelölőnégyzetekből álló lista, így a felhasználó engedélyezheti vagy letilthatja a kapcsolódó segédeszközöket.

A képernyő-billentyűzet, a képernyőnagyító és a képernyőolvasó segédeszközöknek megfelelő jelölőnégyzetek arra a három GConf-kulcsra hatnak, amelyek ennek a dokumentumnak a következő szakaszában kerülnek ismertetésre. Ezen jelölőnégyzetek engedélyezésével vagy letiltásával a hozzárendelt GConf-kulcs „true” (igaz) vagy „false” (hamis) értékre lesz beállítva. Ha a GConf-kulcs igazra van állítva, akkor az ehhez a GConf-kulcshoz kapcsolt segédeszközök elindulnak. Ha a GConf-kulcs „false” (hamis) értékre van állítva, akkor a GConf-kulcshoz kapcsolt minden futó segédeszköz befejeződik. Ezek a GConf-kulcsok nem lesznek automatikusan visszaállítva az alapértelmezett állapotba, miután a felhasználó bejelentkezett. Következésképpen az utolsó GDM bejelentkezési munkamenet során futó segédeszközök automatikusan elindulnak a következő GDM bejelentkezési munkamenetnél.

A GDM akadálymentesítési párbeszédablakában lévő többi jelölőnégyzetnek nincs megfelelő GConf-kulcsa, mivel az általuk nyújtott akadálymentesítési funkciók biztosításához nincs további program elindítva. Ezek az egyéb lehetőségek olyan akadálymentesítési funkcióknak felelnek meg, amelyeket a GDM-munkamenet során mindig futó X-kiszolgáló biztosít.

#### Akadálymentesítési GConf-kulcsok

A GDM a következő GConf-kulcsokat nyújtja az akadálymentesítési funkcióinak vezérléséhez:

#### GDM beállítási kulcsok

/desktop/gnome/interface/accessibility

-     false (logikai)

  Azt vezérli, hogy az akadálymentesítési infrastruktúra elinduljon-e a GDM grafikus felhasználói felületével. Erre számos akadálymentesítési technológiai programnak szüksége van a működéséhez.

/desktop/gnome/applications/at/screen_magnifier_enabled

-     false (logikai)

  Ha be van állítva, akkor az ehhez a GConf-kulcshoz kapcsolt segédeszközök elindulnak a GDM grafikus felhasználói felületű programmal. Alapértelmezetten ez egy képernyőnagyító alkalmazás.

/desktop/gnome/applications/at/screen_keyboard_enabled

-     false (logikai)

  Ha be van állítva, akkor az ehhez a GConf-kulcshoz kapcsolt segédeszközök elindulnak a GDM grafikus felhasználói felületű programmal. Alapértelmezetten ez egy képernyő-billentyűzet alkalmazás.

/desktop/gnome/applications/at/screen_reader_enabled

-     false (logikai)

  Ha be van állítva, akkor az ehhez a GConf-kulcshoz kapcsolt segédeszközök elindulnak a GDM grafikus felhasználói felületű programmal. Alapértelmezetten ez egy képernyőolvasó alkalmazás.

#### GConf-kulcsok összekapcsolása az akadálymentesítési eszközökkel

A screen_magnifier_enabled, a screen_keyboard_enabled és a screen_reader_enabled GConf-kulcsoknál az induló segédeszköz a GDM automatikus indítási könyvtárában található asztali fájloktól függ, amint ennek a kézikönyvnek az „Automatikus indítás beállítása” szakaszában bemutatásra került. A GDM automatikus indítási könyvtárában lévő bármely asztali fájl összekapcsolható ezekkel a GConf-kulcsokkal azáltal, hogy az asztali fájlban lévő AutostartCondition értékben megadásra kerül az adott GConf-kulcs. Tehát az asztali fájlban lévő pontos AutostartCondition sor az alábbiak egyike lehet:

    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_magnifier_enabled
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_reader_enabled

Ha egy akadálymentesítési kulcs igaz, akkor minden olyan program elindul, amely a GDM automatikus indítási asztali fájlban ehhez a kulcshoz hozzá van kapcsolva (hacsak a „Hidden” kulcs nincs igazra állítva az asztali fájlban). Egyetlen GConf-kulcs akár több segédeszközt is elindíthat, ha a GDM automatikus indítási könyvtárában több, ezzel az AutostartCondition bejegyzéssel rendelkező asztali fájl is megtalálható.

#### Példa az akadálymentesítési eszköz beállításainak módosítására

Ha például a GNOME a GOK-kal, mint alapértelmezett képernyő-billentyűzettel kerül terjesztésre, akkor ezt lehet egy másik programmal helyettesíteni, ha szükséges. A GOK alkalmazásnak az „onboard” képernyő-billentyűzet alkalmazással történő cseréjéhez, valamint a „mousetweaks” segédeszköz használati támogatásának aktiválásához a következő beállításra van szükség.

Hozzon létre egy asztali fájlt az „onboard” és egy másodikat a „mousetweaks” számára, például onboard.desktop és mousetweaks.desktop néven. Ezeket a fájlokat a GDM automatikus indítási könyvtárában kell elhelyezni, és ennek a dokumentumnak az „Automatikus indítás beállítása” szakaszában bemutatott formátumban kell lenniük.

A következő egy példa az `onboard.desktop` fájlra:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Onboard képernyő-billentyűzet
    Comment=Egy képernyő-billentyűzet használata
    TryExec=onboard
    Exec=onboard --size 500x180 -x 20 -y 10
    Terminal=false
    Type=Application
    StartupNotify=true
    Categories=GNOME;GTK;Accessibility;
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

A következő egy példa a `mousetweaks.desktop` fájlra:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Szoftveres egérkattintások
    Comment=Kattintások végrehajtása a mutatóval történő használattal
    TryExec=mousetweaks
    Exec=mousetweaks --enable-dwell -m window -c -x 20 -y 240
    Terminal=false
    Type=Application
    StartupNotify=true
    Categories=GNOME;GTK;Accessibility;
    AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Ne feledje az AutostartCondition sort, amely hozzákapcsolja mindkét asztali fájlt a képernyő-billentyűzet GConf-kulcsához.

A GOK indításának letiltásához el kell távolítani vagy deaktiválni kell a GOK képernyő-billentyűzet asztali fájlját. Ellenkező esetben az onboard és a GOK egyszerre indulna el. Ez úgy érhető el, ha eltávolítja a gok.desktop fájlt a GDM automatikus indítási könyvtárából, vagy ha hozzáadja a „Hidden=true” kulcsbeállítást a gok.desktop fájlhoz.

Ezen változtatások elvégzése után a GOK többé nem kerül elindításra, amikor a felhasználó aktiválja a képernyő-billentyűzetet a GDM munkamenetben. Ehelyett az onboard és a mousetweaks lesz elindítva.

### Általános munkamenet-beállítások

A GDM üdvözlő részben ugyanazt a keretrendszert használja, mint amelyet az asztali munkamenet használni fog. És ezáltal számos azonos GConf-beállítás befolyásolja. Ezen beállítások mindegyikénél az üdvözlő az alapértelmezett értéket fogja használni, hacsak azt kifejezetten nem bírálja felül a GDM telepített kötelező házirendje vagy a rendszer kötelező házirendje. A GDM saját kötelező házirendet telepít, hogy bizonyos beállításokat biztonsági okokból lezárjon.

### GNOME beállítási démon

A GDM a következő gnome-settings-daemon bővítményeket engedélyezi: a11y-keyboard, background, sound, xsettings.

Ezek olyan dolgokért felelősek, mint a háttérkép, a betűkészlet- és témabeállítások, a hangesemények stb.

A bővítmények a GConf használatával is letilthatók. Ha például le akarja tiltani a hangbővítményt, akkor szüntesse meg a következő kulcsot: `/apps/gdm/simple-greeter/settings-manager-plugins/sound/active`.

### A GDM-munkamenet beállítása

A GDM-munkamenetek a FreeDesktop.org asztalibejegyzés-specifikációjának használatával vannak megadva, amely a következő URL-címen érhető el: https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Alapértelmezetten a GDM az asztali fájlokat a `<share>/xsessions` könyvtárba telepíti. A GDM a következő könyvtárakat ebben a sorrendben nézi át az asztali fájlok megtalálásához: `<etc>/X11/sessions/`, `<dmconfdir>/Sessions`, `<share>/gdm/BuiltInSessions` és `<share>/xsessions`. Alapértelmezetten a `<dmconfdir>` az `<etc>/dm/` könyvtárra van beállítva, hacsak a GDM nem úgy van beállítva, hogy más könyvtárat használjon a „--with-dmconfdir” kapcsolón keresztül.

Egy munkamenet letiltható az asztali fájl szerkesztésével és a következő sor hozzáadásával: `Hidden=true`.

A GDM asztali fájlok támogatnak egy GDM-specifikus kiterjesztést, egy „X-GDM-BypassXsession” nevű kulcsot. Ha a kulcs nincs megadva egy asztali fájlban, akkor az értéke alapértelmezetten „false” (hamis). Ha ez a kulcs „true” (igaz) értékkel van megadva egy asztali fájlban, akkor a GDM elindítja az asztali fájl „Exec” kulcsa által meghatározott programot közvetlenül a felhasználói munkamenet indításakor. Nem fogja futtatni a programot az `<etc>/gdm/Xsession` parancsfájlon keresztül, ami a normális viselkedés. Mivel az `<etc>/gdm/Xsession` parancsfájl megkerülésével elkerüli a felhasználói munkamenet normál rendszer- és felhasználói beállításokkal történő beállítását, az így indított munkamenetek hasznosak lehetnek a rendszer vagy a felhasználói parancsfájlok azon problémáinak hibakereséséhez, amelyek megakadályozhatnak egy felhasználót abban, hogy képes legyen munkamenetet indítani.

### GDM felhasználói munkamenet és nyelvbeállítás

A felhasználó alapértelmezett munkamenet- és nyelvválasztása a `~/.dmrc` fájlban van tárolva. Amikor egy felhasználó először jelentkezik be, akkor ez a fájl létrehozásra kerül a felhasználó kezdeti választásaival. A felhasználó megváltoztathatja ezeket az alapértelmezett értékeket, ha bejelentkezéskor egyszerűen más értékre vált. A GDM megjegyzi ezt a változtatást a későbbi bejelentkezéseknél.

A `~/.dmrc` fájl a szabványos `INI` formátumban van. Tartalmaz egy `[Desktop]` szakaszt, amelynek két kulcsa van: `Session` és `Language`.

A `Session` kulcs adja meg a munkamenet `.desktop` fájljának alapnevét, amelyet a felhasználó általában a `.desktop` kiterjesztés nélkül szeretne használni. A `Language` kulcs adja meg azt a nyelvet, amelyet a felhasználó alapértelmezetten használni szeretne. Ha valamelyik kulcs hiányzik, akkor a rendszer által alapértelmezettet lesz használva. A fájl általában a következőképpen néz ki:

    [Desktop]
    Session=gnome
    Language=cs_CZ.UTF-8

## GDM parancsok

### GDM rendszergazda-felhasználói parancsok

A GDM csomag a következő parancsokat biztosítja az `sbindir` alatt, amelyeket rendszergazda felhasználónak kell futtatnia:

#### A `gdm` parancssori kapcsolói

A `gdm` a fő démon, amely beállítja a grafikus bejelentkezési környezetet és elindítja a szükséges segédprogramokat.

#### A `gdm` parancssori kapcsolói

-?, --help

- Rövid áttekintést ad a parancssori kapcsolókról.

--fatal-warnings

- Olyanná teszi az összes figyelmeztetést, hogy a GDM kilépését okozza.

--timed-exit

- Kilépés 30 másodperc után. Hibakereséshez hasznos.

--version

- A GDM-démon verziójának kiírása.

#### A `gdm-restart` parancssori kapcsolói

A `gdm-restart` leállítja és újraindítja a GDM-et a GDM démonnak küldött HUP szignállal. Ez a parancs azonnal befejezi az összes munkamenetet, és kijelentkezteti a GDM-mel jelenleg bejelentkezett felhasználókat.

#### A `gdm-safe-restart` parancssori kapcsolói

A `gdm-safe-restart` leállítja és újraindítja a GDM-et a GDM-démonnak küldött USR1 szignállal. A GDM azonnal újraindul, amikor minden felhasználó kijelentkezik.

#### A `gdm-stop` parancssori kapcsolói

A `gdm-stop` leállítja a GDM-et a GDM-démonnak küldött TERM szignállal.

## Hibaelhárítás

Ez a szakasz a GDM működésbe hozásához szükséges hasznos tanácsokat ismerteti. Általánosságban elmondható, hogy ha problémája van a GDM használatával, akkor küldhet hibajelentést vagy e-mailt a gdm-list levelezőlistára. Az ezzel kapcsolatos információk a dokumentum „Bevezetés” szakaszában találhatók.

Ha a GDM nem működik megfelelően, mindig jó ötlet hibakeresési információkat mellékelni. A hibakeresés engedélyezéséhez állítsa a „debug/Enable” kulcsot „true” értékre az `<etc>/gdm/custom.conf` fájlban, és indítsa újra a GDM-et. Ezután használja a GDM-et addig a pontig, ahol nem működik, és a hibakimenet a rendszer naplófájljába kerül (`<var>/log/messages` vagy `<var>/adm/messages` az operációs rendszerétől függően). Ha ezt a kimenetet megosztja a GDM közösséggel egy hibajelentésen vagy e-mailen keresztül, akkor csak a GDM-hez kapcsolódó hibakeresési információkat mellékelje, és ne a teljes fájlt, mivel az nagy lehet. Ha nem lát semmilyen GDM rendszernapló kimenetet, akkor lehet, hogy be kell állítania a rendszer naplózását (nézze meg a syslog kézikönyvoldalt).

### A GDM nem indul el

Számos probléma okozhatja, hogy a GDM nem indul el, de ez a szakasz néhány gyakori problémát tárgyal, és azt, hogy miként közelítheti meg a GDM indulásával kapcsolatos probléma felderítését. Néhány probléma azt eredményezi, hogy a GDM hibaüzenettel vagy párbeszédablakkal válaszol, amikor megpróbál elindulni, de nehéz lehet a problémák nyomon követése, ha a GDM visszajelzés nélkül lesz működésképtelen.

Először győződjön meg arról, hogy az X-kiszolgáló megfelelően van-e beállítva. A GDM konfigurációs fájl tartalmaz egy parancsot a [server-Standard] szakaszban, amely az X-kiszolgáló indítására szolgál. Ellenőrizze, hogy ez a parancs működik-e az Ön rendszerén. A parancs konzolból történő futtatásakor el kell indítania az X-kiszolgálót. Ha ez nem sikerül, akkor a probléma valószínűleg az X-kiszolgáló beállításával van. Nézze meg az X-kiszolgáló hibanaplóját, hogy megtudja, mi lehet a probléma. A probléma az is lehet, hogy az X-kiszolgáló különböző parancssori kapcsolókat igényel. Ha ez a helyzet, akkor módosítsa az X-kiszolgáló parancsot a GDM konfigurációs fájlban úgy, hogy az megfeleljen az Ön rendszerének.

Győződjön meg arról is, hogy a `/tmp` könyvtár megfelelő tulajdonjoggal és jogosultságokkal rendelkezik-e, és hogy a gép fájlrendszere nincs-e tele. Ezek a problémák a GDM indításának sikertelenségét okozzák.

## Licenc

Ez a program szabad szoftver; terjeszthető illetve módosítható a Free Software Foundation által kiadott GNU General Public License dokumentumában leírtak; akár a licenc 2-es, akár (tetszőleges) későbbi változata szerint.

A programot abban a reményben terjesztjük, hogy hasznos lesz, de nem vállalunk SEMMIFÉLE GARANCIÁT, még olyan értelemben sem, hogy a program alkalmas-e a KÖZREADÁSRA vagy EGY BIZONYOS FELADAT ELVÉGZÉSÉRE. További részletekért tanulmányozza a GNU GPL licencet.

A GNU General Public License egy példányát függelékként tartalmazza a GNOME felhasználói kézikönyv. Beszerezheti a GNU General Public License egy példányát a Free Software Foundation webhelyének meglátogatásával, vagy írjon egy levelet az alábbi címre:

          Free Software Foundation, Inc.
          51 Franklin Street, Fifth Floor
          Boston, MA 02110-1301
          USA