# GNOME priručnik upravitelja zaslona

0.0
2008-09

GDM je GNOME Upravitelj zaslonom, grafički program za prijavu.

Martin
K.
Petersen

    mkp@mkp.net

George
Lebl

    jirka@5z.com

Jon
McCann

    mccann@jhu.edu

Ray
Strode

    rstrode@redhat.com

Brian
Cameron

    Brian.Cameron@Oracle.COM

1998
1999
Martin K. Petersen
2001
2003
2004
George Lebl
2003
2007
2008
Red Hat, Inc.
2003
2011
Oracle i/ili njegove podružnice. Sva prava pridržana.
Ovaj priručnik opisuje 2.26.0 GNOME Upravitelja zaslona. Posljednji puta je nadopunjen 02/10/2009.

## Izrazi i sporazumi korišteni u ovome priručniku

Ovaj priručnik opisuje 2.26.0 GNOME Upravitelja zaslona. Posljednji puta je nadopunjen 02/10/2009.

Odabiratelj - Program koji se koristi za odabir udaljenog računala i udaljeno upravljanje zaslonom na priključenom zaslonu (`gdm-host-chooser`).

FreeDesktop - Organizacija koja pruža standarde za radne površine, poput Specifikacije unosa radne površine (Desktop Entry Specification) koju koristi GDM. http://www.freedesktop.org.

GDM - GNOME Upravitelj zaslonima. Koristi se za opisivanje softverskog paketa u cjelini.

Dobrodošlica - grafički prozor prijave (pružan od strane `gnome-shell`).

PAM - Priključiv mehanizamm ovjere

XDMCP - X Protokol upravljanja zaslonom

X poslužitelj - Implementacija X Window sustava. Primjerice, Xorg X poslužitelj koji osigurava X.org zaklada http://www.x.org.

Putanje koje počinju riječju u izlomljenim zagradama relativne su prema instalacijskom prefiksu. tj. `<share>/pixmaps/` odnosi se na `/usr/share/pixmaps` ako je GDM podešen s `--prefix=/usr`.

## Pregled

### Uvod

GNOME Upravitelj zaslona (GDM) je upravitelj zaslona koji implementira sve bitne značajke potrebne za upravljanje priključenim i udaljenim zaslonima. GDM je napisan iz početka i ne sadrži XDM ili X Consortium kôd.

Zapamtite da je GDM moguće podešavati, a mnoge postavke podešavanja utječu na sigurnost. Problemi kojih treba biti svjestan istaknuti su u ovom dokumentu.

Zapamtite da pojedini operativni sustavi podešavaju GDM tako da se ponaša drugačije od zadanih vrijednosti kako je opisano u ovom dokumentu. Ako se GDM ne ponaša kao što je dokumentirano, tada provjerite razlikuje li se neko povezano podešavanje od ovdje opisanog.

Za dodatne GDM informacije, posjetite web stranicu projekta na http://wiki.gnome.org/Projects/ GDM.

Za raspravu ili upite o GDM-u, pogledajte popis adrese e-pošte

    gdm-list@gnome.org

Ovaj popis je arhiviran i dobar je izvor za provjeru traženog odgovora na uobičajena pitanja. Ovaj popis je arhiviran na http://mail.gnome.org/archives/gdm-list/ i ima mogućnost pretrage poruka po ključnim riječima.

Pošaljite sve izvještaje grešaka ili zahtjeve za poboljšanjem u "gdm" kategoriju na http://bugzilla.gnome.org .

### Stabilnost sučelja

GDM 2.20 i starija izdanja podržavaju stabilna sučelja podešavanja. Ipak, baza kôda u potpunosti je ponovno napisana za GDM 2.22 i nije potpuno kompatibilna sa starijim izdanjima. To je dijelom zato što stvari funkcioniraju drugačije, stoga neke mogućnosti jednostavno nemaju smisla, dijelom zato što neke mogućnosti nikad nisu imale smisla, a dijelom zato što neke funkcije još nisu ponovno implementirane.

Sučelja koja su i dalje podržana na stabilan način uključuju Init, PreSession, PostSession, PostLogin i Xsession skripte. Pojedine mogućnosti podešavanja pozadinskog programa u `<etc>/gdm/custom.conf` datoteci i dalje su podržane. Podržani su i dalje `~/.dmrc` i lokacije slika preglednika lica.

GDM 2.20 i starija izdanja podržavali su mogućnost upravljanja višestrukim zaslonima s odvojenim grafičkim karticama, poput onih koje se koriste u okruženjima terminalskih poslužitelja, prijavu u prozor putem programa kao što su Xnest ili Xephyr, gdmsetup program, XML temeljene teme dobrodošlice i mogućnost pokretanja XDMCP odabirtatelja sa zaslona prijave. Ove značajke nisu dodane tijekom ponovnog pisanja 2.22 izdanja.

### Funkcionalni opis

GDM je odgovoran za upravljanje zaslonima u sustavu. To uključuje ovjeru korisnika, pokretanje korisničke sesije i prekid korisničke sesije. GDM je moguće podesiti, a načini na koji se može podesiti opisani su u odlomku "GDM podešavanje" ovog dokumenta. GDM je dostupan i korisnicima s invaliditetom.

GDM pruža mogućnost upravljanja zaslonom glavne konzole i zaslonima pokrenutim putem VT-a. Integriran je s drugim programima, kao što je Fast User Switch Applet (FUSA) i gnome-screensaver za upravljanje višestrukim zaslonima na konzoli putem sučelja Virtualni Terminal X poslužitelja (VT). Može upravljati i XDMCP zaslonima.

Neovisno o vrsti zaslona, GDM će učiniti sljedeće kada upravlja zaslonom. Pokrenut će proces X poslužitelja, zatim pokrenuti `Init` skriptu kao korijenski korisnik i pokrenuti program dobrodošlice na zaslonu.

Program dobrodošlice pokreće se kao nepovlašteni "gdm" korisnik/grupa. Ovaj korisnik i grupa opisani su u odjeljku "Sigurnost" ovog dokumenta. Glavne funkcije programa dobrodošlice su pružanje mehanizma za odabir računa prijave i pokretanje dijaloga između korisnika i sustava pri ovjeri tog računa. Proces ovjere pokreću Pluggable Authentication Modules (PAM). PAM moduli određuju koji se upiti (ako postoje) prikazuju korisniku za ovjeru prijave. U prosječnom sustavu, program dobrodošlice tražit će korisničko ime i lozinku za ovjeru prijave. Ipak, pojedini sustavi mogu biti podešeni za korištenje dodatnih mehanizama poput čitača otisaka prstiju ili pametnih kartica. GDM se može podesiti da podržava ove alternativne prijave paralelno s proširenjima prijave programa dobrodošlice i mogućnosti `--enable-split-authentication` `./configure`, ili jedne po jedne putem PAM sustava podešavanja.

Proširenje pametne kartice može se omogućiti ili onemogućiti putem `org.gnome.display-manager.extensions.smartcard.active` ključa postavki.

Isto tako, proširenje otiska prsta može se omogućiti ili onemogućiti putem `org.gnome.display-manager.extensions.fingerprint.active` gsettings ključa.

GDM i PAM mogu se podesiti da ne zahtijevaju nikakav unos, što će uzrokovati da se GDM automatski prijavi i jednostavno pokrene sesiju, što može biti korisno za pojedina okruženja, poput sustava s jednim korisnikom ili kioscima.

Kao dodatak ovjeri prijave, program dobrodošlice omogućuje korisniku odabir sesije i jezika koji će koristiti. Sesije su određene datotekama koje završavaju .desktop sufiksom, a više informacija o tim datotekama možete pronaći u odlomku "GDM korisnička sesija i podešavanje jezika" u ovom dokumentu. Po zadanome, GDM je podešen za prikaz preglednika lica tako da korisnik može odabrati svoj korisnički račun klikom na sliku umjesto upisivanja svog korisničkog imena. GDM prati korisnikovu zadanu sesiju i jezik u korisnikovoj `~/.dmrc` datoteci i koristit će te zadane postavke ako korisnik nije odabrao sesiju ili jezik u korisničkom sučelju za prijavu.

Nakon ovjere korisnika, pozadinski program pokreće `PostLogin` skriptu kao korijenski korisnik, zatim pokreće `PreSession` skriptu kao korijenski korisnik. Nakon pokretanja ovih skripti, pokreće se korisnička sesija. Kada korisnik izađe iz svoje sesije, `PostSession` skripta se pokreće kao korijenski korisnik. Ove se skripte ponašaju kao spojnice za distribucije i krajnje korisnike u svrhu prilagodbe upravljanja sesijama. Primjerice, korištenjem ovih spojnica možete postaviti sustav koji stvara korisnički $HOME direktorij u hodu i briše ga nakon odjave. Razlika između `PostLogin` i `PreSession` skripti je u tome što se `PostLogin` pokreće prije poziva pam_open_session stoga je ona pravo mjesto za prilagodbu svega potrebnog za pokretanje prije pokretanja korisničke sesije. Skripta `PreSession` poziva se nakon pokretanja sesije.

### Panel dobrodošlice

Program GDM dobrodošlice prikazuje panel pričvršćen na dnu zaslona koji pruža dodatnu funkcionalnost. Kada je korisnik odabran, panel mu omogućuje odabir sesije, jezika i rasporeda tipkovnice koji će koristiti nakon prijave. Izbornik rasporeda tipkovnice još mijenja i raspored tipkovnice koji se koristi pri upisivanju lozinke. Panel sadrži područje usluge prijave za napuštanje ikona stanja. Pojedini primjeri ikona stanja uključuju ikonu baterije trenutnu potrošnje baterije i ikonu omogućavanja značajki pristupačnosti. Program dobrodošlice isto nudi tipke koje korisniku omogućuju isključivanje ili ponovno pokretanje sustava, moguće je podesiti GDM da ne prikazuje te tipke, po potrebi. GDM se može podesiti putem PolicyKita (ili putem RBAC-a na Oracle Solarisu) da od korisnika zahtijeva odgovarajuću ovjeru prije pokretanja isključivanja ili ponovnog pokretanja.

Zapamtite da su značajke rasporeda tipkovnice dostupne samo na sustavima koji podržavaju libxklavier.

### Pristupačnost

GDM podržava "Pristupačnu prijavu", omogućujući korisnicima prijavu na svoju radnu površinu čak i ako ne mogu jednostavno koristiti zaslon, miš ili tipkovnicu na uobičajeni način. Tehnologija pristupačnosti (AT) ima značajke poput zaslonske tipkovnice, čitača zaslona, povećala zaslona i Xserver AccessX pristupačnost tipkovnice. Po potrebi, moguće je omogućiti ikone i upravljanja velikim tekstom i visokim kontrastom. Pogledajte odlomak "Podešavanje pristupačnosti" u dokumentu za više informacija o tome kako se različite značajke pristupačnosti mogu podesiti.

Na pojedinim operativnim sustavima, potrebno je osigurati da GDM korisnik bude član "audio" grupe za AT programe koji zahtijevaju zvučni izlaz (poput tekst-u-govor) kako bi bio funkcionalan.

### GDM preglednik lica

Preglednik lica je sučelje koje korisnicima omogućuje odabir korisničkog imena klikom na sliku. Ova se značajka može omogućiti ili onemogućiti putem GSettings org.gnome.login-screen disable-user-list ključa i uključena je po zadanome. Kada je onemogućena, korisnici moraju ručno upisati svoje puno korisničko ime. Kada je omogućena, prikazuje sve lokalne korisnike koji su dostupni za prijavu na sustav (svi korisnički računi određeni u /etc/passwd datoteci koji imaju valjanu ljusku i dovoljno visok UID) i udaljene korisnike koji su se nedavno prijavili. Preglednik lica u GDM 2.20 i starijim izdanjima pokušao bi prikazati sve udaljene korisnike, što je uzrokovalo probleme s performansama u velikim, poslovnim implementacijama.

Preglednik lica podešen je da prikaže korisnike koji se najčešće prijavljuju na vrhu popisa. Ovo pomaže osigurati korisnicima koji se često prijavljuju brži pronalazak svoje sliku za prijavu.

Preglednik lica podržava "pretragu unaprijed" koja dinamički pomiče odabir lica dok korisnik tipka odgovarajuće korisničko ime na popisu. To znači da će korisnik s dugim korisničkim imenom morati upisati samo prvih nekoliko znakova korisničkog imena prije nego što se odabere ispravna stavka na popisu.

Ikone koje koristi GDM, administrator sustava može instalirati globalno ili se mogu nalaziti u korisničkim osobnim direktorijima. Ako su instalirane globalno, trebale bi biti u `<share>/pixmaps/faces/` direktoriju, a naziv datoteke trebao bi biti ime korisnika. Datoteke sa slikom lica trebale bi biti standardne slike koje GTK+ može čitati, poput PNG ili JPEG formata. Ikone lica smještene u globalnom direktoriju lica moraju biti čitljive GDM korisniku.

Ako nema globalne ikone za korisnika, GDM će datoteku slike tražiti u korisnikovom $HOME direktoriju. GDM će prvo potražiti sliku lica korisnika u `~/.face`. Ako se ne pronađe, pokušat će `~/.face.icon`. Ako i dalje nije pronađena, koristit će vrijednost određenu za "face/picture=" u `~/.gnome2/gdm` datoteci.

Ako korisnik nema određenu sliku lica, GDM će koristiti ikonu "stock_person" određenu u trenutnoj GTK+ temi. Ako takva slika nije određena, vratit će se na generičku sliku lica.

Zapamtite da učitavanje i promjena veličine ikona lica smještenih u osobnim direktorijima udaljenih korisnika može biti dugotrajan zadatak. Budući da nije praktično učitavati slike preko NIS-a ili NFS-a, GDM ne pokušava učitati slike lica iz udaljenih osobnih direktorija.

Kada je preglednik uključen, valjana korisnička imena na računalu su svima dostupna. Ako je XDMCP omogućen, tada su korisnička imena dostupna i udaljenim korisnicima. Ovo, naravno, donekle ograničava sigurnost budući da zlonamjerni korisnik ne mora pogađati valjana korisnička imena. U pojedinim vrlo restriktivnim okruženjima preglednik lica možda neće biti prikladan.

### XDMCP

GDM pozadinski program se može podesiti da osluškuje i upravlja zahtjevima Protokola upravljanja X zaslona (XDMCP) s udaljenih zaslona. Po zadanome XDMCP podrška je isključena, ali se po potrebi može omogućiti. Ako je GDM izgrađen s podrškom za TCP Wrapper, tada će pozadinski program odobriti pristup samo poslužiteljima navedenim u odjeljku GDM usluge u TCP Wrappers datoteci podešavanja.

GDM uključuje nekoliko mjera koje ga čine otpornijim na napade uskraćivanjem usluge na XDMCP pozadinskom programu. Mnoštvo parametara protokola, čekanja rukovanja itd. mogu se precizno prilagoditi. Zadano podešavanje trebalo bi razumno raditi na većini sustava.

GDM po zadanome osluškuje XDMCP zahtjeve na normalnom UDP ulazu koji se koristi za XDMCP, ulaz 177 i odgovorit će na QUERY i BROADCAST_QUERY zahtjeve slanjem WILLING paketa pokretaču.

GDM se može podesiti da poštuje INDIREKTNE zahtjeve i predstavlja biratelja poslužitelja udaljenog zaslona. GDM će zapamtiti izbor korisnika i proslijediti sljedeće zahtjeve odabranom upravitelju. GDM još podržava i proširenje protokola koje će zaboraviti preusmjeravanje nakon što korisnikovo povezivanje uspije. Ovo proširenje je podržano samo ako su oba pozadinska programa GDM. Transparentan je i zanemarit će ga XDM ili drugi pozadinski programi koji implementiraju XDMCP.

Ako se čini da XDMCP ne radi, provjerite jesu li svi poslužitelji navedeni u `/etc/hosts` datoteci.

Pogledajte odlomak "Sigurnost" za informacije o sigurnosnim problemima kada se koristi XDMCP.

### Zapisivanje

GDM koristi syslog za zapisivanje grešaka i stanja. Može zapisivati i informacije otklanjanja grešaka, što može biti korisno za pronalaženje problema ako GDM ne radi ispravno. Zapisivanje otklanjanja grešaka može se omogućiti postavljanjem debug/Enable ključa na "true" u `<etc>/gdm/custom.conf` datoteci.

Zapis iz raznih X poslužitelja pohranjuje se u GDM direktorij zapisa, koji je uobičajeno `<var>/log/gdm/`. Sve poruke X poslužitelja spremaju se u datoteku pridruženu vrijednosti zaslona, `<display>.log`.

Izlaz sesije prenosi se kroz GDM pozadinski program u `~/$XDG_CACHE_HOME/gdm/session.log` datoteku koja se uobičajeno proširuje na `~/.cache/gdm/ session.log`. Datoteka se prebriše pri svakoj prijavi, tako da će odjava i ponovna prijava istog korisnika putem GDM-a uzrokovati gubitak svih poruka iz prijašnje sesije.

Zapamtite da ako GDM iz nekog razloga ne može stvoriti ovu datoteku, stvorit će se pričuvna datoteka naziva `~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX` gdje su `XXXXXXXX` neki naizmjenično odabrani znakovi.

### Brza zamjena korisnika

GDM omogućuje istovremenu prijavu više korisnika. Nakon što je jedan korisnik prijavljen, drugi se korisnici mogu prijaviti putem zamjenjivača korisnika na GNOME panelu ili pomoću "Zamijeni korisnika" tipke u dijalogu zaključanog zaslona GNOME čuvara zaslona. Aktivna sesija može se mijenjati naprijed i natrag koristeći isti mehanizam. Zapamtite da pojedine distribucije možda neće dodati zamjenu korisnika zadanom podešavanju panela. Zamjena korisnika može se dodati pomoću sadržajnog izbornika panela.

Zapamtite da je ova značajka dostupna na sustavima koji podržavaju virtualne terminale. Ova značajka neće funkcionirati ako virtualni terminali nisu dostupni.

## Sigurnost

### GDM korisnik i grupe

Iz sigurnosnih razloga preporuča se namjenski ID korisnika i grupe za pravilan rad. Ovaj korisnik i grupa uobičajeno su "gdm" na većini sustava, ali se mogu podesiti za bilo kojeg korisnika ili grupu. Svi programi GDM grafičkog korisničkog sučelja pokreću se kao ovaj korisnik, tako da se programi koji komuniciraju s korisnikom pokreću u sigurnom okruženju. Ovaj korisnik i grupa trebaju imati ograničene dozvole.

Jedina posebna dozvola koju "gdm" korisnik zahtijeva je mogućnost čitanja i pisanja Xauth datoteka u `<var>/run/gdm` direktorij. Direktorij `<var>/run/gdm` trebao bi imati root:gdm vlasništvo i 1777 dozvole.

Ni pod kojim okolnostima ne bi trebali podesiti GDM korisnika/grupu na korisnika kojem korisnik može lako pristupiti, poput korisnik `nobody`. Svaki korisnik koji dobije pristup Xauth ključu može njuškati i upravljati pokrenutim programima grafičkog korisničkog sučelja koji su pokrenuti u pridruženoj sesiji ili izvršiti napad uskraćivanjem usluge. Bitno je osigurati pravilno podešen sustav tako da samo "gdm" korisnik ima pristup ovim datotekama i da se nije lako prijaviti na ovaj račun. Primjerice, račun bi trebao biti postavljen tako da nema lozinku ili da dopušta nekorijenskim korisnicima prijavu na račun.

Podešavanje GDM dobrodošlice pohranjeno je u GConf. Kako bi GDM korisnik mogao pisati podešavanje, potrebno je da "gdm" korisnik ima $HOME direktorij s dozvolom pisanja. Korisnici mogu podesiti zadano GConf podešavanje po potrebi kako bi izbjegli da "gdm" korisniku daju $HOME direktorij s dozvolom pisanja. Ipak, pojedine GDM značajke mogu biti onemogućene ako se ne mogu zapisivati podaci o stanju u GConf podešavanju.

### PAM

GDM koristi PAM za ovjeru prijave. PAM je kratica za Pluggable Authentication Module, a koristi ga većina programa koji zahtijevaju ovjeru na vašem računalu. Omogućuje administratoru podešavanje specifičnog ponašanja ovjere za različite programe prijave (kao što su ssh, grafičko korisničko sučelja za prijavu, čuvar zaslona itd.)

PAM je složen i vrlo podesiv, a ova dokumentacija nema namjeru to opširno objašnjavati. Umjesto toga, namjera je dati pregled kako je PAM podešavanje povezano s GDM-om, kako se PAM uobičajeno podešava s GDM-om i koji su poznati problemi. Očekivano je da osoba koja ima potrebu podesiti PAM mora dodatno pročitati PAM dokumentaciju kako bi razumjela PAM podešavanje i pojmove koji se koriste u ovom odlomku.

PAM podešavanje ima različito, ali slično sučelje na raznim operativnim sustavima, stoga provjerite pam.d ili pam.conf stranice priručnika za pojedinosti. Obavezno pročitajte PAM dokumentaciju i upoznajte se sa sigurnosnim implikacijama bilo kakvih promjena koje namjeravate napraviti u svome podešavanju.

Zapamtite da GDM po zadanome koristi PAM "gdm" naziv usluge za normalnu prijavu i PAM "gdm-autologin" naziv usluge za automatsku prijavu. Ove usluge možda nisu određene u vašoj pam.d ili pam.conf datoteci podešavanja. Ako nema unosa, GDM će koristiti zadano PAM ponašanje. Na većini sustava ovo bi trebalo dobro funkcionirati. Ipak, značajka automatske prijave možda neće raditi ako usluga gdm-autologin nije određena.

Skripta `PostLogin` pokreće se prije pam_open_session poziva , a skripta `PreSession` se poziva nakon. Ovo omogućuje administratoru sustava dodavanje bilo koje skripte procesu prijave prije ili nakon što PAM pokrene sesiju.

Ako želite učiniti da GDM radi s drugim vrstama mehanizama ovjere (poput čitača otiska prsta ili pametne kartice), tada bi to trebali implementirati korištenjem servisnog modula PAM za željenu vrstu ovjere, umjesto pokušajem izravne izmjene GDM kôda. Pogledajte PAM dokumentaciju na vašem sustavu. O tome kako to učiniti često se raspravlja na

    gdm-list@gnome.org

mailing listi, tako da možete pogledati arhive popisa za više informacija.

PAM ima određena ograničenja u pogledu mogućnosti rada s više vrsta ovjere istovremeno, poput podrške mogućnosti prihvaćanja pametne kartice i mogućnosti upisivanja korisničkog imena i lozinke u program prijave. Postoje tehnike koje se koriste da bi ovo funkcioniralo, a najbolje je istražiti kako se ovaj problem uobičajeno rješava prilikom postavljanja takvog podešavanja.

Ako automatska prijava ne radi na sustavu, provjerite je li "gdm-autologin" PAM određen u PAM podešavanju. Kako bi ovo funkcioniralo, potrebno je koristiti PAM modul koji jednostavno ne vrši ovjeru ili koji jednostavno vraća PAM_SUCCESS sa svih svojih javnih sučelja. Pod pretpostavkom da vaš sustav ima pam_allow.so PAM modul koji to radi, PAM podešavanje za omogućavanje "gdm-autologin" izgledao bi ovako:

           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

Gornja postavka neće uzrokovati stvaranje unosa posljednje prijave. Ako želite unos posljednje prijave, tada koristite sljedeće za sesiju:

           gdm-autologin session required pam_unix_session.so.1

Ako računalo koristi više ljudi, što automatsku prijavu čini neprikladnom, možete dopustiti pojedinim korisnicima prijavu bez upisa svojih lozinki. Ova se značajka može omogućiti kao mogućnost po korisniku u user-admin alatu iz gnome-system-tools; to se postiže provjerom je li korisnik član Unix grupe pod nazivom "nopasswdlogin" prije nego što se zatraži lozinka. Kako bi ovo radilo, PAM datoteka podešavanja za uslugu "gdm" mora sadržavati redak kao što je:

          gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin

### utmp i wtmp

GDM stvara utmp i wtmp unose baze podataka korisničkih računa nakon prijave i odjave u sesiju. Baza podataka utmp sadrži informacije o korisničkom pristupu i informacije računa kojima se pristupa naredbama poput `finger`, `last`, `login` i `who`. Baza podataka wtmp sadrži povijest pristupa korisnika i informacija računa za bazu podataka utmp. Pogledajte utmp i wtmp stranice priručnika na vašem sustavu za više informacija.

### Shema ovjere X poslužitelja

Datoteke ovjere X poslužitelja pohranjuju se u novostvorenom poddirektoriju `<var>/run/gdm` pri pokretanju. Ove se datoteke koriste za pohranjivanje i dijeljenje "lozinke" između X klijenta i X poslužitelja. Ova "lozinka" je jedinstvena za svaku prijavljenu sesiju, stoga korisnici iz jedne sesije ne mogu njuškati korisnike iz druge.

GDM podržava samo MIT-MAGIC-COOKIE-1 shemu ovjere X poslužitelja. Ubičajeno malo se dobiva od drugih shema i do sada nije uložen nikakav trud da se one implementiraju. Budite posebno oprezni pri XDMCP korištenju jer kolačić ovjere X poslužitelja ide preko žice kao običan tekst. Ako je njuškanje moguće, napadač bi mogao jednostavno njuškati vašu lozinku ovjere dok se prijavljujete, bez obzira koja se shema ovjere koristi. Ako je njuškanje moguće i nepoželjno, tada bi trebali koristiti ssh za tuneliranje X povezivanja umjesto XDMCP-a. Možete zamisliti XDMCP kao neku vrstu grafičkog telneta, koji ima iste sigurnosne probleme. U većini slučajeva, ssh -Y treba imati prednost nad GDM-ovim XDMCP značajkama.

### XDMCP sigurnost

Iako je vaš zaslon zaštićen kolačićima, XEvents i pritisci tipki upisani pri upisu lozinki, i dalje će ići preko žice u običnom tekstu. Jednostavno ih je presresti.

XDMCP je prvenstveno koristan za pokretanje malih klijenta poput terminal laboratorija. Ti mali klijenti trebat će mrežu samo za pristup poslužitelju, stoga je najbolje sigurnosno pravilo imati te male klijente na zasebnoj mreži kojoj se ne može pristupiti izvana i mogu se povezati samo s poslužiteljem. Jedina točka s koje trebate pristup izvana je poslužitelj. Ova vrsta postavljanja nikada ne bi trebala koristiti neupravljano čvorište ili drugu mrežu koja se može njuškati.

### XDMCP upravljanje pristupom

XDMCP upravljanje pristupom vrši se pomoću TCP wrappera. Moguće je kompilirati GDM bez podrške za TCP wrapper, tako da ova značajka možda nije podržana na pojedinim operativnim sustavima.

Trebali bi koristiti naziv pozadinskog programa `gdm` u `<etc>/hosts.allow` i `<etc>/hosts.deny` datotekama. Primjerice, za zabranu prijave računala sa `.zla.domena`, dodajte

    gdm: .zla.domena

u `<etc>/hosts.deny`. Još možete dodati

    gdm: .vaša.domena

u `<etc>/hosts.allow` ako inače zabranjujete sve usluge sa svih poslužitelja. Pogledajte hosts.allow(5) stranicu priručnika za pojedinosti.

### Sigurnost vatrozida

Iako GDM pokušava nadmudriti potencijalne napadače koji pokušavaju iskoristiti XDMCP, ipak se savjetuje da blokirate XDMCP ulaz (uobičajeno UDP ulaz 177) na vatrozidu osim ako je stvarno potreban. GDM štiti od napada uskraćivanjem usluge, ali X protokol je još uvijek inherentno nesiguran i trebao bi se koristiti samo u kontroliranim okruženjima. Svako udaljeno povezivanje zauzima mnogo resursa, tako da je mnogo lakše izvršiti napad uskraćivanjem usluge putem XDMCP-a nego napadati web poslužitelj.

Pametno je blokirati sve ulaze X poslužitelja. To su TCP ulazi 6000+ (jedan za svaki broj prikaza) u vatrozidu. Zapamtite da će GDM koristiti brojeve prikaza 20 i više za prilagodljive poslužitelje na zahtjev.

X nije baš siguran protokol kada se koristi preko Interneta, a XDMCP je još manje siguran.

### PolicyKit

GDM se može podesiti da koristi PolicyKit kako bi administratoru sustava dopustio upravljanje omogućavanjem tipki isključivanja i ponovnog pokretanja u zaslonu prijave na zaslonu dobrodošlice.

Tim tipkama se upravlja radnjama `org.freedesktop.consolekit.system.stop-multiple-users` i `org.freedesktop.consolekit.system.restart-multiple-users`. Pravila za ove radnje mogu se postaviti pomoću polkit-gnome-authorization alata ili polkit-auth pragrama naredbenog retka.

### RBAC (Upravljanje pristupom temeljenom na ulogama)

GDM se može podesiti da koristi RBAC umjesto PolicyKita. U ovom se slučaju RBAC podešavanje koristi za upravljanje omogućavanjem tipki isključivanja i ponovnog pokretanja u zaslonu prijave na zaslonu dobrodošlice.

Primjerice, na Oracle Solarisu, "solaris.system.shutdown" ovjera se koristi za upravljanje ovim. Jednostavno promijenite `/etc/user_attr` datoteku tako da "gdm" korisnik ima ovu ovlast.

## Podrška za ConsoleKit

GDM uključuje podršku za objavljivanje podataka prijave korisnika s radnim okvirom korisnika i sesijom prijave poznatim kao ConsoleKit. ConsoleKit može pratiti sve trenutno prijavljene korisnike. U tom smislu, može se koristiti kao zamjena za utmp ili utmpx datoteke koje su dostupne na većini Unixoidnih operativnih sustava.

Kada GDM treba stvoriti novi proces prijave korisnika, pozvat će povlašteni način ConsoleKita kako bi otvorio novu sesiju za korisnika. U ovom trenutku GDM isto pruža ConsoleKit informacije o ovoj korisničkoj sesiji poput: ID korisnika, X11 naziva zaslona koji će biti povezan sa sesijom, naziv poslužitelja s kojeg sesija potječe (korisno u slučaju XDMCP sesije ), je li ova sesija priključena ili nije, itd. Kao entitet koji pokreće korisnički proces, GDM je u jedinstvenom položaju da zna sve o korisničkoj sesiji i da mu se vjeruje da će pružiti ove informacije. Korištenje ovog povlaštenog načina ograničeno je korištenjem sigurnosnih pravila sabirnice poruka D-Bus sustava.

U slučaju da se korisnik s postojećom sesijom ovjeri na GDM i zatraži nastavak te postojeće sesije, GDM poziva povlašteni način ConsoleKita za otključavanje dotične sesije. Točne pojedinosti o tome što se događa kada sesija primi ovaj signal za otključavanje nisu određene i specifične su za sesiju. Ipak, većina sesija će kao odgovor otključati čuvar zaslona.

Kada se korisnik odluči odjaviti ili ako se GDM ili sesija neočekivano prekinu, korisnička sesija bit će poništena s ConsoleKita.

## Podešavanje

GDM ima brojna sučelja podešavanja. To obuhvaća točke integracije skriptiranja, podešavanje pozadinskog programa, podešavanje zaslona dobrodošlice, opće postavke sesije, integraciju s gnome-settings-daemon podešavanjem i podešavanjem sesije. Ove vrste integracije opširno su opisane u nastavku.

### Točke integracije skriptiranja

GDM točke integracije skripte mogu se pronaći u `<etc>/gdm/` direktoriju:

    Xsession
    Init/
    PostLogin/
    PreSession/
    PostSession/

Skripte `Init`, `PostLogin`, `PreSession` i `PostSession` rade kako je opisano u nastavku.

Za svaku vrstu skripte, zadana skripta koja će se izvršiti naziva se "Default" i pohranjuje se u direktoriju povezanom s vrstom skripte. Stoga, zadana `Init` skripta je `<etc>/gdm/Init/Default`. Može se postaviti skripta za pojedini zaslon, a ako postoji pokrenut će se umjesto zadane skripte. Takve skripte su pohranjene u istom direktoriju kao i zadana skripta i imaju isti naziv kao Xserver DISPLAY vrijednost za taj zaslon. Primjerice, ako`<Init>/:0` skripta postoji, pokrenut će se za DISPLAY ":0".

Sve ove skripte pokreću se s korijenskim ovlastima i vraćaju 0 ako se uspješno izvrše, a do povratnog kôda različitog od nule dolazi pri bilo kakvom neuspjehu koji uzrokuje prekid prijave sesije. Zapamtite da će GDM biti blokiran sve dok se skripte ne izvrše, pa ako bilo koja od ovih skripti zastane, to će uzrokovati i zastoj procesa prijave.

Kada je X poslužitelj za grafičko korisničko sučelje prijave uspješno pokrenut, ali prije nego što se grafičko korisničko sučelje prijave ustvari prikaže, GDM će pokrenuti `Init` skriptu. Ova skripta korisna je za pokretanje programa koji se trebaju pokrenuti pri prikazu zaslona prijave, ili po potrebi, za izvođenje bilo kojeg specifičnog pokretanja.

Nakon što se korisnik uspješno ovjeri, GDM će pokrenuti `PostLogin` skriptu. Ovo se izvodi prije početka postavljanja sesije, uključujući prije pam_open_session poziva. Ova skripta je korisna za bilo koje pokretanje sesije koje se treba dogoditi prije početka sesije. Primjerice, možete postaviti korisnički $HOME direktorij, po potrebi.

Nakon što se korisnička sesija pokrene, GDM će pokrenuti `PreSession` skriptu. Ova skripta je korisna za bilo koje pokretanje sesije koje se treba dogoditi nakon što je sesija pokrenuta. Primjerice, može se koristiti za upravljanje sesijom ili računima.

Kada korisnik prekine svoju sesiju, GDM će pokrenuti `PostSession` skriptu. Zapamtite da će X poslužitelj biti zaustavljen u vremenu izvođenja ove skripte, stoga mu se ne bi trebalo pristupati.

Još zapamtite da će se `PostSession` skripta pokrenuti čak i kada zaslon ne odgovori uslijed I/U greške ili nešto sličnog. Stoga nema jamstva da će X aplikacije raditi tijekom izvođenja skripte.

Sve gore navedene skripte će postaviti `$RUNNING_UNDER_GDM` varijablu okruženja na `yes`. Ako se skripte dijele s drugim upraviteljima zaslona, to vam omogućuje da prepoznate kada GDM poziva te skripte, tako da možete pokrenuti određeni kôd kada se GDM koristi.

### Podešavanje automatskog pokretanja

Direktorij `<share>/gdm/autostart/LoginWindow` sadrži datoteke u formatu navedenom u "FreeDesktop.org specifikaciji automatskog pokretanja aplikacija radne površine". Standardne značajke u specifikaciji mogu se koristiti za određivanje programa koji se trebaju automatski ponovno pokrenuti ili pokrenuti samo ako je GConf vrijednost podešavanja postavljena, itd.

Sve `.desktop` datoteke u ovom direktoriju uzrokovat će automatsko pokretanje pridruženog programa s grafičkim korisničkim sučeljem dobrodošlice prijave. Po zadanome, GDM se isporučuje s datotekama koje će automatski pokrenuti sam gdm-simple-greeter dobrodošlicu grafičkog korisničkog sučelja prijave, gnome-power-manager aplikaciju, gnome-settings-daemon i metacity upravitelja prozora. Ovi programi su potrebni za rad programa dobrodošlice. Osim toga, .desktop datoteke potrebne su za pokretanje raznih AT programa ako su vrijednosti podešavanja određene u Podešavanje pristupačnosti u odjeljku ispod.

### Xsession skripta

Još postoji i `Xsession` skripta koja se nalazi u `<etc>/gdm/Xsession` koja se poziva između `PreSession` i `PostSession` skripte. Ova skripta ne podržava prikaz po pojedinom zaslonu kao druge skripte. Ustvari se koristi za pokretanje korisničke sesije. Skripta se pokreće kao korisnik, i pokrenut će bilo koju sesiju koju je odredila datoteka sesije radne površine, a koju je korisnik odabrao za pokretanje.

### Podešavanje pozadinskog programa

GDM pozadinski program se podešava pomoću datoteke `<etc>/gdm/custom.conf`. Zadane vrijednosti pohranjene su u GConf u `gdm.schemas` datoteci. Preporučuje se da krajnji korisnici mijenjaju datoteku `<etc>/gdm/custom.conf` jer bi datoteka sheme mogla biti prebrisana kada korisnik nadopuni svoj sustav s novijom GDM inačicom.

Starije GDM inačice su podržavale dodatne mogućnosti podešavanja koje više nisu podržane u novijim GDM inačicama.

Datoteka `<etc>/gdm/custom.conf` je u formatu `datoteke ključa`. Ključne riječi u zagradama definiraju odjeljke grupe, izrazi ispred znaka jednakosti (=) su ključevi, a podaci nakon znaka jednakosti predstavljaju njihovu vrijednost. Prazni redci ili redci koji počinju oznakom ljestvice (#) zanemaruju se.

Datoteka `<etc>/gdm/custom.conf` podržava "[daemon]", "[security]" i "[xdmcp]" odjeljke grupe. Unutar svake grupe postoje određeni parovi ključ/vrijednost koji se mogu navesti za promjenu GDM ponašanja. Primjerice, za omogućavanje vremenski određene prijave i određivanja da korisnik s vremenskom prijavom bude korisnik s imenom "vi", promijenite datoteku tako da sadrži sljedeće retke:

    [daemon]
    TimedLoginEnable=true
    TimedLogin=you

Cjelovit popis podržanih ključeva podešavanja slijedi u nastavku:

#### [chooser]

Multicast

      Multicast=false

  Ako je true i IPv6 je omogućen, chooser će poslati multicast upit lokalnoj mreži i prikupiti odgovore od poslužitelja koji su se pridružili multicast grupi.

MulticastAddr

      MulticastAddr=ff02::1

  Ovo je multicast adresa lokalnog povezivanja.

#### [daemon]

TimedLoginEnable

      TimedLoginEnable=false

  Ako korisnik naveden u `TimedLogin` treba biti prijavljen nakon nekoliko sekundi (postavljenih s `TimedLoginDelay`) neaktivnosti na zaslonu prijave. Ovo je korisno za javne pristupne terminale ili možda čak i za kućnu upotrebu. Ako korisnik koristi tipkovnicu ili pregledava izbornike, vremensko ograničenje će se vratiti na `TimedLoginDelay` ili 30 sekundi, ovisno o tome što je više. Ako korisnik ne upiše korisničko ime, već samo pritisne tipku ENTER dok program prijave zatraži korisničko ime, tada će GDM pretpostaviti da se korisnik želi odmah prijaviti kao vremenski ograničeni korisnik. Zapamtite da se za ovog korisnika neće zatražiti lozinka, stoga bi trebali biti oprezni, iako ako koristite PAM, može se podesiti tako da zahtijeva upis lozinke prije omogućavanja prijave. Pogledajte "PAM sigurnost" odlomak priručnika za više informacija ili za pomoć ako ova značajka slučajno ne radi.

TimedLogin

      TimedLogin=

  Ovo je korisnik koji bi se trebao prijaviti nakon određenog broja sekundi neaktivnosti.

  Ako vrijednost završava okomitom crtom | (simbol okomite crte), tada će GDM izvršiti navedeni program i koristiti bilo koju vrijednost koja se vrati na standardnom izlazu iz programa kao korisnik. Program se izvodi s postavljenom varijablom okruženja DISPLAY stoga je moguće navesti korisnika u prikazu po pojedinom zaslonu. Primjerice, ako je vrijednost "/usr/bin/getloginuser|", tada će se pokrenuti "/usr/bin/getloginuser" program kako bi se dobila korisnikova vrijednost.

TimedLoginDelay

      TimedLoginDelay=30

  Odgoda u sekundama prije nego što se `TimedLogin` korisnik prijavi.

AutomaticLoginEnable

      AutomaticLoginEnable=false

  Ako je true, korisnik naveden u `AutomaticLogin` trebao bi se odmah prijaviti. Ova je značajka poput vremenski ograničene prijave s odgodom od 0 sekundi.

AutomaticLogin

      AutomaticLogin=

  Ovo je korisnik koji bi se trebao odmah prijaviti ako je `AutomaticLoginEnable` true.

  Ako vrijednost završava okomitom crtom | (simbol okomite crte), tada će GDM izvršiti navedeni program i koristiti bilo koju vrijednost koja se vrati na standardnom izlazu iz programa kao korisnik. Program se izvodi s postavljenom varijablom okruženja DISPLAY stoga je moguće navesti korisnika u prikazu po pojedinom zaslonu. Primjerice, ako je vrijednost "/usr/bin/getloginuser|", tada će se pokrenuti "/usr/bin/getloginuser" program kako bi se dobila korisnikova vrijednost.

User

      User=gdm

  Korisničko ime pod kojim se pokreće dobrodošlica i drugi programi s grafičkim sučeljem. Pogledajte ključ podešavanja `Grupe` i "Sigurnost-GDM korisnik i grupe" odlomak u ovom dokumentu.

Group

      Group=gdm

  Naziv grupe pod kojim se pokreće dobrodošlica i drugi programi s grafičkim sučeljem. Pogledajte ključ podešavanja `Grupe` i "Sigurnost-GDM korisnik i grupe" odlomak u ovom dokumentu.

#### Mogućnosti otklanjanja grešaka

##### [debug]

Enable

      Enable=false

  Kako bi omogućili otklanjanje grešaka, postavite debug/Enable ključ na "true" u `<etc>/gdm/custom.conf` datoteci i ponovno pokrenite GDM. Zatim će se sadržaj otklanjanja grešaka bilježiti u datoteku zapisa sustava (`<var>/log/messages` ili `<var>/adm/messages` ovisno o vašem operativnom sustavu).

#### Mogućnosti zaslona dobrodošlice

##### [greeter]

IncludeAll

      IncludeAll=true

  Ako je true, tada će preglednik lica prikazati sve korisnike na lokalnom računalu. Ako je false, preglednik lica prikazat će samo nedavno prijavljene korisnike.

  Kada je ovaj ključ true, GDM će pozvati fgetpwent() za dobivanje popisa lokalnih korisnika na sustavu. Svi korisnici s ID-jem korisnika manjim od 500 (ili 100 ako rade na Oracle Solarisu) se filtriraju. Preglednik lica će prikazati sve korisnike koji su se prije prijavili na sustav (primjerice, NIS/LDAP korisnici). Ovaj popis dobiva se pozivanjem `ck-history` ConsoleKit sučelja. Filtrirat će i sve korisnike koji nemaju valjanu ljusku (valjane ljuske su sve ljuske koje getusershell() vraća - /sbin/nologin ili /bin/false smatraju se nevaljanim ljuskama čak i ako ih getusershell() vraća).

  Ako je false, tada GDM jednostavnije prikazuje samo korisnike koji su se prije prijavili na sustav (lokalne ili NIS/LDAP korisnike) pozivanjem `ck-history` ConsoleKit sučelja.

Include

      Include=

  Postavlja popis korisnika koji će uvijek biti uključeni u preglednik lica. Ova vrijednost postavlja popis korisnika odvojenih zarezima. Po zadanome, vrijednost je prazna.

Exclude

      Exclude=bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap

  Postavlja popis korisnika koji će se uvijek isključiti u pregledniku lica. Ova vrijednost postavlja popis korisnika odvojenih zarezima. Zapamtite da postavka u `custom.conf` zaobilazi zadanu vrijednost, stoga ako želite dodati dodatne korisnike na popis, morate postaviti vrijednost na zadanu vrijednost s dodatnim korisnicima dodatim na popis.

#### Mogućnosti sigurnosti

##### [security]

DisallowTCP

      DisallowTCP=true

  Ako je true, tada uvijek dodajte `-nolisten tcp` u naredbeni redak kada pokrećete priključene X poslužitelje, čime se onemogućuje TCP povezivanje. Ovo je sigurnije podešavanje ako ne koristite udaljeno povezivanje.

#### XDCMP podrška

##### [xdmcp]

DisplaysPerHost

      DisplaysPerHost=1

  Kako bi spriječio napadače da popune red čekanja, GDM će dopustiti samo jedno povezivanje za pojedino udaljeno računalo. Ako želite pružiti usluge na računalima s više od jednog zaslona, trebali bi povećati ovu vrijednost.

  Zapamtite da broj dopuštenih priključenih ZASLONA nije ograničen. Samo XDMCP udaljena povezivanja su ograničena ovom mogućnosti podešavanja.

Enable

      Enable=false

  Postavljanje na true omogućuje XDMCP podršku koja omogućuje upravljanje udaljenim zaslonima/X terminalima putem GDM-a.

  `gdm` osluškuje zahtjeve na UDP ulazu 177. Pogledajte Ulaz mogućnost za više informacija.

  Ako je GDM kompiliran da ga podržava, pristupom s udaljenih zaslona može se upravljati pomoću TCP Wrappers biblioteke. Naziv usluge je `gdm`

  Trebali bi dodati

      gdm:.my.domain

  u svoju `<etc>/hosts.allow` datoteku, ovisno o vašem TCP Wrappers podešavanju. Pogledajte hosts.allow stranicu priručnika za više pojedinosti.

  Zapamtite da XDMCP nije posebno siguran protokol i da je dobra ideja blokirati UDP ulaz 177 na vašem vatrozidu, osim ako vam stvarno nije potreban.

HonorIndirect

      HonorIndirect=true

  Omogućuje XDMCP INDIRECT odabir (tj. `gdmchooser` daljinsko izvršavanje) za X-terminale koji ne pružaju vlastiti preglednik zaslona.

MaxPending

      MaxPending=4

  Kako bi se izbjegli napadi uskraćivanja usluge, GDM ima nepromjenjivu veličinu čekanja povezivanja. Samo MaxPending zasloni mogu se pokrenuti istovremeno.

  Zapamtite da ovaj parametar ne ograničava broj udaljenih zaslona kojima se može upravljati. Ograničava samo broj zaslona koji istovremeno pokreću povezivanje.

MaxSessions

      MaxSessions=16

  Određuje najveći broj povezivanja udaljenog zaslona kojima će se upravljati istovremeno. tj. ukupan broj udaljenih zaslona koji mogu koristiti vaš poslužitelj.

MaxWait

      MaxWait=30

  Kada je GDM spreman za upravljanje zaslonom, šalje mu se ACCEPT paket koji sadrži jedinstveni ID sesije koji će se koristiti u budućim XDMCP razgovorima.

  GDM će zatim smjestiti ID sesije u red čekanja čekajući da zaslon odgovori MANAGE zahtjevom.

  Ako se odgovor ne primi unutar MaxWait sekundi, GDM će proglasiti zaslon mrtvim i obrisati ga iz reda čekanja oslobađajući mjesto za druge zaslone.

MaxWaitIndirect

      MaxWaitIndirect=30

  Parametar MaxWaitIndirect određuje najveći broj sekundi između trenutka kada korisnik odabere poslužitelja i naknadnog neizravnog upita kada je korisnik povezan s poslužiteljem. Kada se vrijeme čekanja prekorači, podaci o odabranom poslužitelju se zaboravljaju, a neizravni priključak se oslobađa za druge zaslone. Informacije se mogu zaboraviti ranije ako ima više poslužitelja koji pokušavaju poslati neizravne upite od `MaxPendingIndirect`.

PingIntervalSeconds

      PingIntervalSeconds=60

  Ako X poslužitelj ne odgovori u određenom broju sekundi, povezivanje se prekida i sesija završava. Kada se to dogodi, pozadinski program umire sa signalom ALARM. Zapamtite da su GDM 2.20 i starije inačice pomnožile ovu postavku sa 2, stoga će možda biti potrebno povećati vrijeme čekanja ako nadograđujete s GDM 2.20 i starijih inačica na noviju inačicu.

  Zapamtite da je GDM u prošlosti imao `PingInterval` ključ podešavanja koji je bio u minutama. U većini slučajeva željeli bi da ova postavka bude niža od jedne minute. Ipak, budući da bi u većini slučajeva gdje bi se XDMCP koristio (poput terminalskih laboratorija), kašnjenje od 15 i više sekundi značilo bi da je terminal isključen ili ponovno pokrenut i da bi htjeli prekinuti sesiju.

Port

      Port=177

  Broj UDP ulaza kojeg bi `gdm` trebao osluškivati za XDMCP zahtjeve. Ne mijenjajte ovo ako ne znate što radite.

Willing

      Willing=<etc>/gdm/Xwilling

  Kada sustav pošalje WILLING paket natrag nakon QUERY, on šalje izraz koji daje trenutno stanje ovog poslužitelja. Zadana poruka je ID sustava, no moguće je stvoriti skriptu koja prikazuje prilagođenu poruku. Ako ova skripta ne postoji ili je ovaj ključ prazan, šalje se zadana poruka. Ako ova skripta uspije i proizvede neki izlaz, šalje se prvi redak izlaza (i samo prvi redak). Pokreće se najviše jednom svake 3 sekunde kako bi se spriječilo moguće odbijanje usluge preopterećenjem sustava sa QUERY paketima.

### Jednostavno podešavanja zaslona dobrodošlice

Zadani GDM zaslon dobrodošlice naziva se jednostavnim zaslonom dobrodošlice i podešava se putem GConfa. Zadane vrijednosti pohranjene su u GConf u `gdm-simple-greeter.schemas` datoteci. Ove zadane postavke mogu se zaobići ako "gdm" korisnik ima $HOME direktorij s dozvolom pisanja za pohranu GConf postavki. Ove vrijednosti mogu se uređivati pomoću `gconftool-2` ili `gconf-editor` programa. Podržane su sljedeće mogućnosti podešavanja:

#### Ključevi podešavanja dobrodošlice

/apps/gdm/simple-greeter/banner_message_enable

      false (boolean)

  Upravlja hoće li se prikazati natpis teksta poruke.

/apps/gdm/simple-greeter/banner_message_text

      NULL (string)

  Određuje natpis teksta poruke koja će se prikazati u prozoru dobrodošlice.

/apps/gdm/simple-greeter/disable_restart_buttons

      false (boolean)

  Upravlja hoće li se u prozoru prijave prikazati tipke za ponovno pokretanje.

/apps/gdm/simple-greeter/disable_user_list

      false (boolean)

  Ako je true, preglednik lica s poznatim korisnicima nije prikazan u prozoru prijave.

/apps/gdm/simple-greeter/logo_icon_name

      computer (string)

  Postavite naziv tematske ikone koja će se koristiti za logotip dobrodošlice.

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

      [] (string list)

  Postavite popis jezika koji će se po zadanome prikazivati u prozoru prijave. Zadana vrijednost je "[]". Sa zadanom postavkom prikazan je samo zadani jezik sustava i mogućnost "Ostalo..." koja otvara dijalog koji prikazuje potpuni popis dostupnih jezika koje korisnik može odabrati.

  Korisnici ne namjeravaju ručno mijenjati ovu postavku. Umjesto toga, GDM prati sve jezike odabrane u ovom ključu podešavanja i prikazat će ih u dijalogu odabira jezika zajedno s "Ostalo..." odabirom. Na taj način lakše je odabrati najčešće odabrane jezike.

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

      [] (string list)

  Postavite popis rasporeda tipkovnice koji će se po zadanome prikazivati na panelu prijave. Zadana vrijednost je "[]". Sa zadanom postavkom prikazan je samo zadani raspored tipkovnice sustava i mogućnost "Ostalo..." koja prikazuje dijalog koji prikazuje potpuni popis dostupnih rasporeda tipkovnice koje korisnik može odabrati.

  Korisnici ne namjeravaju ručno mijenjati ovu postavku. Umjesto toga, GDM prati sve rasporede tipkovnice odabrane u ovom ključu podešavanja i prikazat će ih u dijalogu odabira rasporeda tipkovnica zajedno s "Ostalo..." odabirom. Na taj način lakše je odabrati najčešće odabrane rasporede tipkovnice.

/apps/gdm/simple-greeter/wm_use_compiz

      false (boolean)

  Upravlja hoće li se compiz koristiti kao upravitelj prozora umjesto metacityja.

### Podešavanje pristupačnosti

Ovaj odlomak opisuje GDM dostupne mogućnosti podešavanja pristupačnosti.

#### GDM dijalog pristupačnosti i GConf ključevi

GDM panel dobrodošlice na zaslonu prijave prikazuje ikonu pristupačnosti. Klikom na tu ikonu otvara se dijalog GDM pristupačnosti. U dijalogu GDM pristupačnosti nalazi se popis s preklopnicima pomoću kojih korisnik može omogućiti ili onemogućiti pridružene pomoćne alate.

Poreklopnici koji odgovaraju zaslonskoj tipkovnici, zaslonskom povećalu i pomoćnim alatima za čitač zaslona djeluju na tri GConf ključa opisana u sljedećem odlomku ovog dokumenta. Omogućavanjem ili onemogućavanjem ovih preklopnika, pridruženi GConf ključ postavlja se na "true" ili "false". Kada je ključ GConf postavljen na true, pokreću se pomoćni alati povezani s tim GConf ključem. Kada je GConf ključ postavljen na "false", svi pokrenuti pomoćni alati povezani s ovim GConf ključem se zatvaraju. Ovi GConf ključevi se ne vraćaju automatski na zadano stanje nakon što se korisnik prijavi. Posljedično, pomoćni alati koji su bili pokrenuti tijekom posljednje GDM prijave sesije automatski će se pokrenuti u sljedećoj GDM prijavi sesije.

Ostali preklopnici u dijalogu GDM pristupačnosti nemaju odgovarajuće GConf ključeve jer se ne pokreće nikakav dodatni program za pružanje značajki pristupačnosti koje nude. Ove druge mogućnosti odgovaraju značajkama pristupačnosti koje pruža X poslužitelj, koji je uvijek pokrenut tijekom GDM sesije.

#### GConf ključevi pristupačnosti

GDM nudi sljedeće GConf ključeve za upravljanje svojih značajki pristupačnosti:

##### GDM ključevi podešavanja

/desktop/gnome/interface/accessibility

      false (boolean)

  Upravlja hoće li se infrastruktura pristupačnosti pokrenuti s GDM grafičkim korisničkim sučeljem. Ovo je potrebno za rad mnogih programa tehnologije pristupačnosti.

/desktop/gnome/applications/at/screen_magnifier_enabled

      false (boolean)

  Ako je postavljeno, tada će se pomoćni alati povezani s ovim GConf ključem pokrenuti s GDM grafičkim korisničkim sučeljem. Po zadanome ovo je aplikacija za povećanje zaslona.

/desktop/gnome/applications/at/screen_keyboard_enabled

      false (boolean)

  Ako je postavljeno, tada će se pomoćni alati povezani s ovim GConf ključem pokrenuti s GDM grafičkim korisničkim sučeljem. Po zadanome ovo je aplikacija zaslonske tipkovnice.

/desktop/gnome/applications/at/screen_reader_enabled

      false (boolean)

  Ako je postavljeno, tada će se pomoćni alati povezani s ovim GConf ključem pokrenuti s GDM grafičkim korisničkim sučeljem. Po zadanome ovo je aplikacija čitača zaslona.

#### Povezivanje GConf ključeva s alatima pristupačmosti

Za screen_magnifier_enabled, screen_keyboard_enabled i screen_reader_enabled GConf ključeve, pomoćni alat koji se pokreće ovisi o datotekama radne površine koje se nalaze u GDM direktoriju automatskog pokretanja kao što je opisano u odlomku "Podešavanje automatskog pokretanja" ovog priručnika. Bilo koja datoteka radne površine u GDM direktoriju automatskog pokretanja može se povezati s ovim GConf ključem navođenjem tog GConf ključa u AutostartCondition vrijednostima u datoteci radne površine. Stoga, točan redak AutostartCondition u datoteci radne površine može biti jedan od sljedećeg:

    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

Kada je ključ pristupačnosti true, tada će se pokrenuti bilo koji program koji je povezan s tim ključem u datoteci radne površine za GDM automatsko pokretanje (osim ako je Hidden ključ postavljen na true u toj datoteci radne površine). Jedan GConf ključ može čak pokrenuti više pomoćnih alata ako postoji više datoteka radne površine s ovim AutostartCondition mogućnosti u GDM direktoriju automatskog pokretanja.

#### Primjer promjene podešavanja alata pristupačnosti

Primjerice, ako se GNOME distribuira s GOK-om kao zadanom zaslonskom tipkovnicom, to se po potrebi može zamijeniti drugim programom. Za zamjenu GOK-a s "onboard" aplikacijom zaslonske tipkovnice i dodatno aktiviranje pomoćnog alata "mousetweaks" za dwelling podršku, potrebno je sljedeće podešavanje.

Stvorite datoteku radne površine za onboard i drugu za mousetweaks; primjerice, onboard.desktop i mousetweaks.desktop. Ove datoteke moraju biti smještene u GDM direktorij automatskog pokretanja i biti u formatu kako je objašnjeno u odlomku "Podešavanje automatskog pokretanja" ovog dokumenta.

Slijedi primjer datoteke `onboard.desktop`:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Onboard Onscreen Keyboard
    Comment=Use an on-screen keyboard
    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

Slijedi primjer datoteke `mousetweaks.desktop`:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Software Mouse-Clicks
    Comment=Perform clicks by dwelling with the pointer
    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

Obratite pozornost na redak s AutostartCondition koji povezuje obje datoteke radne površine s GConf ključem za zaslonsku tipkovnicu.

Kako bi onemogućili pokretanje GOK-a, morate ukloniti ili deaktivirati datoteku radne površine za GOK zaslonsku tipkovnicu. U suprotnome, onboard i GOK bi se pokrenuli istovremeno. To se može učiniti uklanjanjem datoteke gok.desktop iz GDM direktorija automatskog pokretanja ili dodavanjem postavke "Hidden=true" ključa gok.desktop datoteci.

Nakon uvođenja ovih promjena, GOK se više neće pokretati kada korisnik aktivira zaslonsku tipkovnicu u GDM sesiji; ali onboard i mousetweaks će se umjesto pokrenuti.

### Opće postavke sesije

GDM zaslon dobrodošlice koristi isti radni okvir koji će koristiti vaša sesija radne površine. Stoga, na njega utječe nekoliko istih GConf postavki. Za svaku od ovih postavki zaslon dobrodošlice će koristiti zadanu vrijednost osim ako je izričito zaobilazi a) instalirana GDM obvezna pravila b) obvezna pravila sustava. GDM instalira vlastita obavezna pravila za zaključavanje pojedinih postavki radi sigurnosti.

### GNOME postavke pozadinskog programa

GDM omogućuje sljedeće gnome-settings-daemon priključke: a11y-keyboard, background, sound i xsettings.

Oni su odgovorni za stvari poput pozadinske slike, postavki slova i teme, zvučnih događaja itd.

Priključci se mogu onemogućiti pomoću GConfa. Primjerice, ako želite onemogućiti priključak zvuka, odznačite sljedeći ključ: `/apps/gdm/simple-greeter/settings-manager-plugins/sound/active`.

### Podešavanje GDM sesije

GDM sesije određene su pomoću FreeDesktop.org specifikacije unosa radne površine, na koju upućuje sljedeći URL: http: //www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Po zadanome, GDM će instalirati datoteke radne površine u direktorij `<share>/xsessions`. GDM će pretraživati sljedeće direktorije ovim redoslijedom kako bi pronašao datoteke radne površine: `<etc>/X11/sessions/`, `<dmconfdir>/Sessions`, `< share>/xsessions` i `<share>/gdm/BuiltInSessions`. Po zadanome `<dmconfdir>` je postavljen na `<etc>/dm/` osim ako GDM nije podešen za korištenje drugog direktorija putem "--with-dmconfdir" mogućnosti.

Sesija se može onemogućiti uređivanjem datoteke radne površine i dodavanjem sljedećeg retka: `Hidden=true`.

GDM datoteke radne površine podržavaju GDM specifično proširenje, ključ naziva "X-GDM-BypassXsession". Ako ključ nije naveden u datoteci radne površine, zadana vrijednost je "false". Ako je ovaj ključ naveden kao "true" u datoteci radne površine, tada će GDM pokrenuti program određen "Exec" ključem datoteke radne površine izravno pri pokretanju korisničke sesije. Neće pokrenuti program putem `<etc>/gdm/Xsession` skripte, što je normalno ponašanje. Budući da se zaobilaženjem `<etc>/gdm/Xsession` skripte izbjegava postavljanje korisničke sesije s normalnim postavkama sustava i korisnika, sesije započete na ovaj način mogu biti korisne za otklanjanje grešaka u sustavu ili korisničkim skriptama koje možda sprječavaju korisnika da pokrene sesiju.

### GDM korisnička sesija i podešavanje jezika

Korisnikova zadana sesija i odabir jezika pohranjeni su u `~/.dmrc` datoteci. Kada se korisnik prijavi po prvi puta, ova datoteka se stvara s početnim odabirom korisnika. Korisnik može promijeniti ove zadane vrijednosti jednostavnom promjenom na drugu vrijednost pri prijavi. GDM će zapamtiti ovu promjenu za sljedeće prijave.

Datoteka `~/.dmrc` je u standardnom `INI` formatu. Ima jedan odjeljak pod nazivom `[Desktop]` koji ima dva ključa: `Session` i `Language`.

Ključ `Session` navodi osnovni naziv datoteke sesije `.desktop` koju korisnik želi normalno koristiti bez datotečnog nastavka `.desktop`. Ključ `Language` određuje jezik koji korisnik želi koristiti po zadanome. Ako jedan od ovih ključeva nedostaje, koristi se zadana vrijednost sustava. Datoteka uobičajeno izgleda ovako:

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

## GDM naredbe

### GDM naredbe korijenskog korisnika

GDM paket pruža sljedeće naredbe u `sbindir` namijenjene za pokretanje s korijenskim korisnikom:

#### `gdm` mogućnosti naredbenog retka

`gdm` je glavni pozadinski program koji postavlja grafičko okruženje prijave i pokreće potrebne pomoćnike.

##### `gdm` mogućnosti naredbenog retka

-?, --help

  Prikazuje kratak pregled mogućnosti naredbenog retka.

--fatal-warnings

  Sva upozorenja uzrokuju izlazak iz GDM-a.

--timed-exit

  Izlaz nakon 30 sekundi. Korisno za otklanjanje grešaka.

--version

  Prikaz GDM inačice

#### `gdm-restart` mogućnost naredbenog retka

`gdm-restart` zaustavlja i ponovno pokreće GDM slanjem HUP signala GDM pozadinskom programu. Ova naredba će odmah prekinuti sve sesije i odjaviti korisnike koji su trenutno prijavljeni u GDM.

#### `gdm-safe-restart` mogućnost naredbenog retka

`gdm-safe-restart` zaustavlja i ponovno pokreće GDM slanjem GDM USR1 signala pozadinskom programu. GDM će se ponovno pokrenuti čim se svi korisnici odjave.

#### `gdm-stop` mogućnost naredbenog retka

`gdm-stop` zaustavlja GDM slanjem GDM signala TERM pozadinskom programu.

## Rješavanje problema

Ovaj odlomak govori o korisnim savjetima za GDM pokretanje. Općenito, ako imate problema s GDM korištenjem, možete prijaviti grešku ili poslati e-poštu na gdm-list mailing listu. Informacije o tome kako to učiniti nalaze se u Uvod odjeljku ovog dokumenta.

Ako GDM ne radi ispravno, uvijek je dobra ideja uključiti informacije otklanjanja grešaka. Kako bi omogućili otklanjanje grešaka, postavite debug/Enable ključ na "true" u `<etc>/gdm/custom.conf` datoteci i ponovno pokrenite GDM. Zatim koristite GDM do točke pojave greške, a rezultat otklanjanja grešaka bit će poslan u datoteku zapisa sustava (`<var>/log/messages` ili `<var>/adm/messages` ovisno o vašem operativnom sustavu). Ako podijelite ovaj rezultat s GDM zajednicom putem izvještaja greške ili e-poštom, uključite samo informacije otklanjanja grešaka koje se odnose na GDM, a ne cijelu datoteku jer može biti velika. Ako ne vidite nijedan GDM syslog zapis, možda morate podesiti syslog (pogledajte syslog stranicu priručnika).

### GDM se neće pokrenuti

Postoji mnogo problema koji mogu uzrokovati neuspješno GDM pokretanje, ali ovaj odlomak raspravljat će o nekoliko uobičajenih problema i kako pristupiti pronalaženju problema s GDM pokretanjem. Pojedini problemi će uzrokovati da GDM odgovori porukom greške ili dijalogom kada se pokuša pokrenuti, ali može biti teško pronaći probleme kada se GDM potiho ne uspije pokrenuti.

Prvo provjerite je li X poslužitelj ispravno podešen. GDM datoteka podešavanja sadrži naredbu u [server-Standard] odjeljku koja se koristi za pokretanje X poslužitelja. Provjerite radi li ova naredba na vašem sustavu. Pokretanje ove naredbe s konzole trebalo bi pokrenuti X poslužitelja. Ako ne uspije, problem je vjerojatno u podešavanju vašeg X poslužitelja. Za ideju o tome u čemu bi mogao biti problem pogledajte zapis grešaka X poslužitelja. Problem može biti i to što vaš X poslužitelj zahtijeva drugačije mogućnosti naredbenog retka. Ako je tako, promijenite naredbu X poslužitelja u GDM datoteci podešavanja tako da bude ispravna za vaš sustav.

Još provjerite ima li `/tmp` direktorij ispravno vlasništvo i dozvole te da datotečni sustav nije pun. Ovi problemi će uzrokovati neuspješno GDM pokretanje.

## Licenca

Ovaj program je slobodan softver; možete ga redistribuirati i/ili mijenjati pod uvjetima GNU Opće javne licence objavljene od strane Zaklade slobodnog softvera (Free Software Foundation); bilo inačice 2 licence, ili (po vašem izboru) bilo koje novije inačice.

Ovaj program se distribuira u nadi da će biti koristan, ali BEZ IKAKVOG JAMSTVA; čak i bez podrazumijevanog jamstva TRGOVINSKE PRIKALADNOSTI ili PRIKLADNOSTI I ODGOVARANJA ODREĐENOJ SVRSI. Pogledajte GNU Opću javnu licencu za više pojedinosti.

Primjerak GNU Opće javne licence uključen je kao dodatak GNOME priručniku. Isto tako možete dobiti kopiju GNU Opće javne licence od Zaklade slobodnog softvera (Free Software Foundation) posjetom na njihovu web stranicu ili pisanjem na adresu

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