# GNOME дисплей менеджерінің анықтамалық нұсқаулығы

0.0
2008-09

GDM — бұл GNOME дисплей менеджері, графикалық жүйеге кіру бағдарламасы.

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 and/or its affiliates. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual.

Бұл нұсқаулық GFDL аясында таратылатын GNOME нұсқаулықтары топтамасының бөлігі болып табылады. Егер сіз бұл нұсқаулықты топтамадан бөлек таратқыңыз келсе, оны лицензияның 6-бөлімінде сипатталғандай нұсқаулыққа лицензия көшірмесін қосу арқылы жасай аласыз.

Компаниялар өз өнімдері мен қызметтерін ерекшелеу үшін қолданатын көптеген атаулар сауда белгілері болып табылады. Кез келген GNOME құжаттамасында сол атаулар кездескен жерде және GNOME құжаттама жобасының мүшелері сол сауда белгілері туралы хабардар болған жағдайда, атаулар БАС ӘРІПТЕРМЕН немесе бас әріптен басталып жазылады.

ҚҰЖАТ ЖӘНЕ ҚҰЖАТТЫҢ ӨЗГЕРТІЛГЕН НҰСҚАЛАРЫ GNU ЕРКІН ҚҰЖАТТАМА ЛИЦЕНЗИЯСЫНЫҢ ШАРТТАРЫМЕН ЖӘНЕ КЕЛЕСІ ТҮСІНІКПЕН ҰСЫНЫЛАДЫ:

1. ҚҰЖАТ «СОЛАЙ БОЛҒАН КҮЙІНДЕ» НЕГІЗІНДЕ, ЕШҚАНДАЙ АЙҚЫН НЕМЕСЕ ЖАНАМА КЕПІЛДІКСІЗ, СОНЫҢ ІШІНДЕ ШЕКТЕУСІЗ, ҚҰЖАТТЫҢ НЕМЕСЕ ҚҰЖАТТЫҢ ӨЗГЕРТІЛГЕН НҰСҚАСЫНЫҢ КЕМШІЛІКСІЗ ЕКЕНДІГІНЕ, САТУҒА ЖАРАМДЫЛЫҒЫНА, БЕЛГІЛІ БІР МАҚСАТҚА СӘЙКЕСТІГІНЕ НЕМЕСЕ ҚҰҚЫҚТЫ БҰЗБАЙТЫНДЫҒЫНА КЕПІЛДІКСІЗ ҰСЫНЫЛАДЫ. ҚҰЖАТТЫҢ НЕМЕСЕ ҚҰЖАТТЫҢ ӨЗГЕРТІЛГЕН НҰСҚАСЫНЫҢ САПАСЫНА, ДӘЛДІГІНЕ ЖӘНЕ ӨНІМДІЛІГІНЕ ҚАТЫСТЫ БАРЛЫҚ ТӘУЕКЕЛ СІЗГЕ ЖҮКТЕЛЕДІ. ЕГЕР ҚАНДАЙ ДА БІР ҚҰЖАТ НЕМЕСЕ ӨЗГЕРТІЛГЕН НҰСҚА КЕЗ КЕЛГЕН ЖАҒДАЙДА АҚАУЛЫ БОЛЫП ШЫҚСА, СІЗ (БАСТАПҚЫ ЖАЗУШЫ, АВТОР НЕМЕСЕ КЕЗ КЕЛГЕН ҮЛЕС ҚОСУШЫ ЕМЕС) КЕЗ КЕЛГЕН ҚАЖЕТТІ ҚЫЗМЕТ КӨРСЕТУ, ЖӨНДЕУ НЕМЕСЕ ТҮЗЕТУ ШЫҒЫНДАРЫН ӨЗ МОЙНЫҢЫЗҒА АЛАСЫЗ. БҰЛ КЕПІЛДІКТЕН БАС ТАРТУ ОСЫ ЛИЦЕНЗИЯНЫҢ МАҢЫЗДЫ БӨЛІГІ БОЛЫП ТАБЫЛАДЫ. ҚҰЖАТТЫҢ НЕМЕСЕ ӨЗГЕРТІЛГЕН НҰСҚАСЫНЫҢ ЕШҚАНДАЙ ҚОЛДАНЫЛУЫНА ОСЫ БАС ТАРТУДАН БАСҚА ЖАҒДАЙДА РҰҚСАТ БЕРІЛМЕЙДІ; ЖӘНЕ

2. ЕШҚАНДАЙ ЖАҒДАЙДА ЖӘНЕ ЕШҚАНДАЙ ҚҰҚЫҚТЫҚ ТЕОРИЯ БОЙЫНША, МЕЙЛІ АЗАМАТТЫҚ ҚҰҚЫҚТЫ БҰЗУ (СОНЫҢ ІШІНДЕ ҰҚЫПСЫЗДЫҚ), КЕЛІСІМШАРТ НЕМЕСЕ БАСҚАША БОЛСЫН, АВТОР, БАСТАПҚЫ ЖАЗУШЫ, КЕЗ КЕЛГЕН ҮЛЕС ҚОСУШЫ НЕМЕСЕ ҚҰЖАТТЫҢ НЕМЕСЕ ҚҰЖАТТЫҢ ӨЗГЕРТІЛГЕН НҰСҚАСЫНЫҢ КЕЗ КЕЛГЕН ТАРАТУШЫСЫ, НЕМЕСЕ ОСЫ ТАРАПТАРДЫҢ КЕЗ КЕЛГЕН ЖЕТКІЗУШІСІ КЕЗ КЕЛГЕН ТҰЛҒА АЛДЫНДА КЕЗ КЕЛГЕН ТІКЕЛЕЙ, ЖАНАМА, АРНАЙЫ, КЕЗДЕЙСОҚ НЕМЕСЕ САЛДАРЛЫҚ ЗИЯН ҮШІН, СОНЫҢ ІШІНДЕ ШЕКТЕУСІЗ, ІСКЕРЛІК БЕДЕЛІН ЖОҒАЛТУ, ЖҰМЫСТЫҢ ТОҚТАП ҚАЛУЫ, КОМПЬЮТЕРДІҢ ІСТЕН ШЫҒУЫ НЕМЕСЕ ДҰРЫС ЖҰМЫС ІСТЕМЕУІ ҮШІН, НЕМЕСЕ ҚҰЖАТТЫ ЖӘНЕ ҚҰЖАТТЫҢ ӨЗГЕРТІЛГЕН НҰСҚАЛАРЫН ҚОЛДАНУҒА БАЙЛАНЫСТЫ ТУЫНДАЙТЫН БАРЛЫҚ БАСҚА ЗИЯНДАР МЕН ШЫҒЫНДАР ҮШІН, ТІПТІ ОСЫНДАЙ ТАРАП ОСЫНДАЙ ЗИЯННЫҢ МҮМКІНДІГІ ТУРАЛЫ ХАБАРДАР БОЛСА ДА, ЖАУАПТЫ БОЛМАЙДЫ.

Бұл нұсқаулық GNOME дисплей менеджерінің 2.26.0 нұсқасын сипаттайды. Ол соңғы рет 02/10/2009 күні жаңартылды.

## Осы нұсқаулықта қолданылатын терминдер мен шартты белгілер

Бұл нұсқаулық GNOME дисплей менеджерінің 2.26.0 нұсқасын сипаттайды. Ол соңғы рет 02/10/2009 күні жаңартылды.

Таңдаушы (Chooser) - Жалғанған дисплейде қашықтағы дисплейді басқару үшін қашықтағы хостты таңдау үшін қолданылатын бағдарлама (`gdm-host-chooser`).

FreeDesktop - Жұмыс үстелі стандарттарын (мысалы, GDM қолданатын Desktop Entry Specification) қамтамасыз ететін ұйым. https://www.freedesktop.org.

GDM - GNOME дисплей менеджері. Тұтас бағдарламалық дестені сипаттау үшін қолданылады.

Қарсы алушы (Greeter) - Графикалық жүйеге кіру терезесі (`gnome-shell` арқылы ұсынылады).

PAM - Қосылатын аутентификация механизмі (Pluggable Authentication Mechanism)

XDMCP - X дисплейін басқару хаттамасы (X Display Manage Protocol)

Xserver - X Window жүйесінің іске асырылуы. Мысалы, X.org Foundation ұсынған Xorg Xserver https://www.x.org.

Бұрышты жақшалардағы сөзбен басталатын жолдар орнату префиксіне қатысты. Мысалы, егер GDM `--prefix=/usr` опциясымен конфигурацияланған болса, `<share>/pixmaps/` жолы `/usr/share/pixmaps` дегенді білдіреді.

## Шолу

### Кіріспе

GNOME дисплей менеджері (GDM) — жалғанған және қашықтағы дисплейлерді басқаруға қажетті барлық маңызды функцияларды іске асыратын дисплей менеджері. GDM нөлден бастап жазылған және оның құрамында XDM немесе X Consortium коды жоқ.

GDM баптауға болатынын және көптеген баптаулар қауіпсіздікке әсер ететінін ескеріңіз. Назар аударуды қажет ететін мәселелер осы құжатта ерекшеленген.

Кейбір операциялық жүйелер GDM-ді осы құжатта сипатталған әдепкі мәндерден өзгеше әрекет ететіндей баптайтынын ескеріңіз. Егер GDM құжатталғандай жұмыс істемесе, қатысты баптаулардың осында сипатталғаннан өзгеше екенін тексеріңіз.

GDM туралы қосымша ақпарат алу үшін жоба веб-сайтына жүгініңіз.

GDM туралы талқылаулар немесе сұраулар үшін https://discourse.gnome.org/tag/gdm мекенжайындағы талқылау форумына жүгініңіз. Алдыңғы тарату тізімінің архивтері де жиі қойылатын сұрақтарға жауап іздеу үшін жақсы ресурс болып табылады. Тізім https://mail.gnome.org/archives/gdm-list/ мекенжайында архивтелген және кілт сөздер арқылы хабарламаларды іздеу мүмкіндігі бар.

Қате туралы есептерді немесе жақсарту бойынша ұсыныстарды https://gitlab.gnome.org/GNOME/gdm/-/issues/ мекенжайына жіберіңіз.

### Интерфейс тұрақтылығы

GDM 2.20 және одан бұрынғы нұсқалары тұрақты конфигурация интерфейстерін қолдайтын. Алайда, GDM 2.22 нұсқасы үшін код базасы толығымен қайта жазылды және ескі шығарылымдармен толық үйлесімді емес. Бұл ішінара процестердің басқаша жұмыс істеуіне байланысты, сондықтан кейбір опциялардың мәні жоқ, ішінара кейбір опциялардың ешқашан мәні болмағандықтан және ішінара кейбір функциялар әлі қайта іске асырылмағандықтан.

Тұрақты түрде қолдау көрсетілетін интерфейстерге Init, PreSession, PostSession, PostLogin және Xsession скрипттері жатады. `<etc>/gdm/custom.conf` файлындағы кейбір қызмет конфигурациясының опцияларына қолдау жалғасуда. Сондай-ақ, `~/.dmrc` және пайдаланушылар тізіміндегі суреттердің орналасуы әлі де қолданылады.

GDM 2.20 және одан бұрынғы нұсқалары терминалдық сервер орталарында қолданылатындай бөлек графикалық карталары бар бірнеше дисплейді басқару мүмкіндігін, Xnest немесе Xephyr сияқты бағдарламалар арқылы терезеде жүйеге кіруді, gdmsetup бағдарламасын, XML негізіндегі қарсы алушы темаларын және жүйеге кіру экранынан XDMCP таңдаушысын іске қосу мүмкіндігін қолдайтын. Бұл мүмкіндіктер 2.22 нұсқасын қайта жазу кезінде қайта қосылмады.

### Функционалды сипаттамасы

GDM жүйедегі дисплейлерді басқаруға жауапты. Бұған пайдаланушылардың аутентификациясы, пайдаланушы сессиясын бастау және пайдаланушы сессиясын аяқтау кіреді. GDM баптауға болады және оны баптау жолдары осы құжаттың «GDM-ді баптау» бөлімінде сипатталған. GDM сонымен қатар мүмкіндігі шектеулі пайдаланушылар үшін де қол жетімді.

GDM негізгі консоль дисплейін және VT арқылы іске қосылған дисплейлерді басқару мүмкіндігін береді. Ол Xserver виртуалды терминал (VT) интерфейсі арқылы консольде бірнеше дисплейді басқару үшін Fast User Switch Applet (FUSA) және gnome-screensaver сияқты басқа бағдарламалармен біріктірілген. Ол сондай-ақ XDMCP дисплейлерін басқара алады.

Дисплей түріне қарамастан, GDM дисплейді басқарған кезде келесі әрекеттерді орындайды. Ол Xserver процесін бастайды, содан кейін root пайдаланушысы ретінде `Init` скриптін орындайды және дисплейде қарсы алушы бағдарламасын іске қосады.

Қарсы алушы бағдарламасы артықшылығы жоқ «gdm» пайдаланушысы/тобы ретінде іске қосылады. Бұл пайдаланушы мен топ осы құжаттың «Қауіпсіздік» бөлімінде сипатталған. Қарсы алушы бағдарламасының негізгі функциялары — жүйеге кіру үшін тіркелгіні таңдау механизмін қамтамасыз ету және сол тіркелгіні аутентификациялау кезінде пайдаланушы мен жүйе арасындағы сұхбатты жүргізу. Аутентификация процесі қосылатын аутентификация модульдері (PAM) арқылы жүзеге асырылады. PAM модульдері аутентификация үшін пайдаланушыға қандай сұраулар (егер болса) көрсетілетінін анықтайды. Орташа жүйеде қарсы алушы бағдарламасы аутентификация үшін пайдаланушы атын және парольді сұрайды. Алайда кейбір жүйелер саусақ ізі немесе SmartCard ридерлері сияқты қосымша механизмдерді қолдануға бапталуы мүмкін. GDM-ді осы баламаларды қарсы алушының жүйеге кіру кеңейтулерімен және `--enable-split-authentication` `./configure` опциясымен қатар немесе жүйелік PAM конфигурациясы арқылы кезекпен қолдау үшін баптауға болады.

Smartcard кеңейтуін `org.gnome.display-manager.extensions.smartcard.active` gsettings кілті арқылы іске қосуға немесе сөндіруге болады.

Сол сияқты, саусақ ізі кеңейтуін `org.gnome.display-manager.extensions.fingerprint.active` gsettings кілті арқылы іске қосуға немесе сөндіруге болады.

GDM және PAM ешқандай енгізуді талап етпейтіндей бапталуы мүмкін, бұл GDM-нің автоматты түрде жүйеге кіруіне және жай ғана сессияны бастауына әкеледі, бұл жалғыз пайдаланушысы бар жүйелер немесе дүңгіршектер (kiosks) сияқты кейбір орталар үшін пайдалы болуы мүмкін.

Аутентификациядан басқа, қарсы алушы бағдарламасы пайдаланушыға қай сессияны бастау керектігін және қай тілді қолдану керектігін таңдауға мүмкіндік береді. Сессиялар .desktop суффиксімен аяқталатын файлдармен анықталады және бұл файлдар туралы қосымша ақпаратты осы құжаттың «GDM пайдаланушы сессиясы мен тіл конфигурациясы» бөлімінен табуға болады. Әдепкі бойынша GDM пайдаланушы атын терудің орнына суретті шерту арқылы өз тіркелгісін таңдай алуы үшін пайдаланушылар тізімін көрсетуге бапталған. GDM пайдаланушының әдепкі сессиясы мен тілін пайдаланушының `~/.dmrc` файлында сақтайды және егер пайдаланушы жүйеге кіру интерфейсінде сессияны немесе тілді таңдамаса, осы әдепкі мәндерді қолданады.

Пайдаланушыны аутентификациялағаннан кейін қызмет root ретінде `PostLogin` скриптін, содан кейін root ретінде `PreSession` скриптін іске қосады. Осы скрипттерді орындағаннан кейін пайдаланушы сессиясы басталады. Пайдаланушы өз сессиясынан шыққан кезде `PostSession` скрипті root ретінде орындалады. Бұл скрипттер дистрибутивтер мен соңғы пайдаланушылар үшін сессияларды басқаруды реттеуге арналған ілмектер ретінде берілген. Мысалы, осы ілмектерді пайдаланып, пайдаланушының $HOME бумасын жылдам жасап, жүйеден шыққан кезде оны өшіретін машинаны орнатуға болады. `PostLogin` және `PreSession` скрипттерінің айырмашылығы — `PostLogin` pam_open_session шақыруына дейін орындалады, сондықтан пайдаланушы сессиясы инициализацияланғанға дейін орындалуы тиіс кез келген әрекетті жасауға дұрыс орын болып табылады. `PreSession` скрипті сессия инициализациясынан кейін шақырылады.

### Қарсы алушы панелі

GDM қарсы алушы бағдарламасы қосымша функционалдылықты қамтамасыз ететін экранның төменгі жағында бекітілген панельді көрсетеді. Пайдаланушы таңдалған кезде, панель пайдаланушыға жүйеге кіргеннен кейін қай сессияны, тілді және пернетақта жаймасын қолдану керектігін таңдауға мүмкіндік береді. Пернетақта жаймасын таңдаушы парольді терген кезде қолданылатын пернетақта жаймасын да өзгертеді. Панельде сонымен қатар жүйеге кіру қызметтерінің күй таңбашаларын қалдыруға арналған аймақ бар. Күй таңбашаларының кейбір мысалдары: батареяның ағымдағы зарядына арналған батарея таңбашасы және қолжетімділік мүмкіндіктерін іске қосуға арналған таңбаша. Қарсы алушы бағдарламасы сонымен қатар пайдаланушыға жүйені өшіруге немесе қайта іске қосуға мүмкіндік беретін батырмаларды ұсынады. Қаласаңыз, GDM-ді өшіру және қайта іске қосу батырмаларын бермейтіндей баптауға болады. GDM-ді өшіру немесе қайта іске қосу сұрауын қабылдамас бұрын пайдаланушыдан тиісті рұқсатты талап ету үшін PolicyKit (немесе Oracle Solaris-те RBAC арқылы) арқылы баптауға болады.

Пернетақта жаймасының мүмкіндіктері тек libxklavier қолдайтын жүйелерде ғана қолжетімді екенін ескеріңіз.

### Қолжетімділік

GDM «Қолжетімді жүйеге кіруді» қолдайды, бұл пайдаланушыларға экранды, тышқанды немесе пернетақтаны әдеттегідей оңай пайдалана алмаса да, жұмыс үстелі сессиясына кіруге мүмкіндік береді. Экрандық пернетақта, экраннан оқу құралы, экрандық лупа және Xserver AccessX пернетақта қолжетімділігі сияқты Қолжетімділік технологиясы (AT) мүмкіндіктері бар. Қажет болса, үлкен мәтінді немесе жоғары контрастты таңбашалар мен басқару элементтерін іске қосуға болады. Әртүрлі қолжетімділік мүмкіндіктерін қалай баптауға болатыны туралы қосымша ақпаратты құжаттың «Қолжетімділікті баптау» бөлімінен қараңыз.

Кейбір операциялық жүйелерде дыбыстық шығысты (мысалы, мәтінді сөйлеуге түрлендіру) қажет ететін AT бағдарламаларының жұмыс істеуі үшін GDM пайдаланушысы «audio» тобының мүшесі екеніне көз жеткізу керек.

### GDM Face Browser

Face Browser — пайдаланушыларға суретті шерту арқылы өз пайдаланушы атын таңдауға мүмкіндік беретін интерфейс. Бұл мүмкіндікті org.gnome.login-screen disable-user-list GSettings кілті арқылы іске қосуға немесе сөндіруге болады және ол әдепкі бойынша қосулы болады. Сөндірілген кезде пайдаланушылар толық пайдаланушы атын қолмен теруі керек. Іске қосылған кезде ол жүйеге кіруге болатын барлық жергілікті пайдаланушыларды (/etc/passwd файлында анықталған, жарамды қоршамы және жеткілікті жоғары UID бар барлық пайдаланушы тіркелгілері) және жақында жүйеге кірген қашықтағы пайдаланушыларды көрсетеді. GDM 2.20 және одан бұрынғы нұсқаларындағы Face Browser барлық қашықтағы пайдаланушыларды көрсетуге тырысатын, бұл үлкен корпоративтік желілерде өнімділік мәселелерін тудыратын.

Face Browser ең жиі жүйеге кіретін пайдаланушыларды тізімнің басында көрсететіндей бапталған. Бұл жиі жүйеге кіретін пайдаланушылардың өз суретін тез табуына көмектеседі.

Face Browser «теріп іздеуді» қолдайды, ол пайдаланушы терген кезде тізімдегі сәйкес пайдаланушы атына таңдауды динамикалық түрде жылжытады. Бұл дегеніміз, ұзын пайдаланушы аты бар пайдаланушы тізімдегі дұрыс элемент таңдалғанға дейін пайдаланушы атының алғашқы бірнеше таңбасын ғана теруі керек.

GDM қолданатын таңбашаларды жүйелік әкімші глобалды түрде орната алады немесе олар пайдаланушының үй бумаларында орналасуы мүмкін. Егер глобалды түрде орнатылса, олар `<share>/pixmaps/faces/` бумасында болуы керек және файл аты пайдаланушының атымен бірдей болуы керек. Бет суретінің файлдары PNG немесе JPEG сияқты GTK+ оқи алатын стандартты сурет болуы керек. Глобалды бет бумасына орналастырылған бет таңбашалары GDM пайдаланушысы үшін оқуға қолжетімді болуы тиіс.

Егер пайдаланушы үшін глобалды таңбаша болмаса, GDM сурет файлын пайдаланушының $HOME бумасынан іздейді. GDM алдымен пайдаланушының бет суретін `~/.face` файлынан іздейді. Егер табылмаса, ол `~/.face.icon` файлын көреді. Егер әлі де табылмаса, ол `~/.gnome2/gdm` файлындағы «face/picture=» үшін анықталған мәнді қолданады.

Егер пайдаланушының анықталған бет суреті болмаса, GDM ағымдағы GTK+ темасында анықталған «stock_person» таңбашасын қолданады. Егер мұндай сурет анықталмаса, ол жалпы бет суретіне ауысады.

Қашықтағы пайдаланушының үй бумаларында орналасқан бет таңбашаларын жүктеу және масштабтау өте көп уақытты қажет ететін тапсырма болуы мүмкін екенін ескеріңіз. NIS немесе NFS арқылы суреттерді жүктеу тиімсіз болғандықтан, GDM қашықтағы үй бумаларынан бет суреттерін жүктеуге тырыспайды.

Браузер қосулы болғанда, компьютердегі жарамды пайдаланушы аттары бәріне көрінетін болады. Егер XDMCP іске қосылса, онда пайдаланушы аттары қашықтағы пайдаланушыларға ашылады. Бұл, әрине, қауіпсіздікті біршама шектейді, өйткені зиянкес пайдаланушыға жарамды пайдаланушы аттарын болжаудың қажеті жоқ. Кейбір өте шектелген орталарда Face Browser орынсыз болуы мүмкін.

### XDMCP

GDM қызметін қашықтағы дисплейлерден X Display Manage Protocol (XDMCP) сұрауларын тыңдау және басқару үшін баптауға болады. Әдепкі бойынша XDMCP қолдауы өшірілген, бірақ қаласаңыз, оны іске қосуға болады. Егер GDM TCP Wrapper қолдауымен құрастырылса, онда қызмет тек TCP Wrappers конфигурация файлындағы GDM қызметі бөлімінде көрсетілген хосттарға ғана рұқсат береді.

GDM XDMCP қызметіне жасалатын қызмет көрсетуден бас тарту (DoS) шабуылдарына төзімдірек ететін бірнеше шараларды қамтиды. Көптеген хаттама параметрлерін, байланыс орнату күту уақытын және т.б. дәл баптауға болады. Әдепкі конфигурация көптеген жүйелерде дұрыс жұмыс істеуі керек.

GDM әдепкі бойынша XDMCP үшін қолданылатын қалыпты UDP портында (177 порт) XDMCP сұрауларын тыңдайды және жіберушіге WILLING пакетін жіберу арқылы QUERY және BROADCAST_QUERY сұрауларына жауап береді.

GDM сонымен қатар INDIRECT сұрауларын орындауға және қашықтағы дисплейге хост таңдаушысын ұсынуға бапталуы мүмкін. GDM пайдаланушының таңдауын есте сақтайды және кейінгі сұрауларды таңдалған менеджерге жібереді. GDM сонымен қатар пайдаланушының қосылымы сәтті болғаннан кейін бағыттауды ұмытуға мүмкіндік беретін хаттама кеңейтуін қолдайды. Бұл кеңейту тек екі қызмет те GDM болған жағдайда ғана қолданылады. Ол мөлдір және XDM немесе XDMCP іске асыратын басқа қызметтер оны елемейді.

Егер XDMCP жұмыс істемейтін сияқты болса, барлық машиналар `/etc/hosts` файлында көрсетілгеніне көз жеткізіңіз.

XDMCP қолданған кездегі қауіпсіздік мәселелері туралы ақпаратты «Қауіпсіздік» бөлімінен қараңыз.

### Журналдау

GDM қателер мен күйді журналдау үшін syslog қолданады. Ол сондай-ақ жөндеу ақпаратын журналдай алады, бұл GDM дұрыс жұмыс істемеген жағдайда мәселелерді бақылау үшін пайдалы болуы мүмкін. Жөндеу шығысын `<etc>/gdm/custom.conf` файлындағы debug/Enable кілтін «true» мәніне орнату арқылы іске қосуға болады.

Әртүрлі Xserver-лерден шығатын мәліметтер әдетте `<var>/log/gdm/` болатын GDM журналының бумасында сақталады. Кез келген Xserver хабарламалары дисплей мәнімен байланысты `<display>.log` файлында сақталады.

Сессия шығысы GDM қызметі арқылы әдетте `~/.cache/gdm/session.log` түрінде жазылатын `~/$XDG_CACHE_HOME/gdm/session.log` файлына бағытталады. Файл әр жүйеге кірген сайын қайта жазылады, сондықтан GDM арқылы бір пайдаланушы ретінде жүйеден шығып, қайта кіру алдыңғы сессиядағы хабарламалардың жоғалуына әкеледі.

Егер GDM қандай да бір себептермен бұл файлды жасай алмаса, `~/$XDG_CACHE_HOME/gdm/session.log.XXXXXXXX` деп аталатын резервтік файл жасалатынын ескеріңіз, мұндағы `XXXXXXXX` — кездейсоқ таңбалар.

### Пайдаланушыларды жылдам ауыстыру

GDM бірнеше пайдаланушының бір уақытта жүйеде болуына мүмкіндік береді. Бір пайдаланушы кіргеннен кейін, қосымша пайдаланушылар GNOME панеліндегі Пайдаланушыны ауыстырғыш арқылы немесе GNOME Screensaver-дің экранды құлыптау сұхбат терезесіндегі «Пайдаланушыны ауыстыру» батырмасы арқылы кіре алады. Белсенді сессияны осы механизм арқылы алға-артқа ауыстыруға болады. Кейбір дистрибутивтер Пайдаланушыны ауыстырғышты әдепкі панель конфигурациясына қоспауы мүмкін екенін ескеріңіз. Оны панельдің контекстік мәзірі арқылы қосуға болады.

Бұл мүмкіндік Виртуалды терминалдарды қолдайтын жүйелерде қолжетімді. Егер Виртуалды терминалдар қолжетімді болмаса, бұл мүмкіндік жұмыс істемейді.

## Қауіпсіздік

### GDM пайдаланушысы мен тобы

Қауіпсіздік мақсатында дұрыс жұмыс істеу үшін арнайы пайдаланушы мен топ идентификаторы ұсынылады. Бұл пайдаланушы мен топ көптеген жүйелерде әдетте «gdm» болып табылады, бірақ кез келген пайдаланушы немесе топқа баптауға болады. Барлық GDM GUI бағдарламалары осы пайдаланушы атынан орындалады, осылайша пайдаланушымен әрекеттесетін бағдарламалар оқшауланған ортада (sandbox) жұмыс істейді. Бұл пайдаланушы мен топтың шектеулі артықшылықтары болуы керек.

«gdm» пайдаланушысына қажет болатын жалғыз ерекше артықшылық — `<var>/run/gdm` бумасына Xauth файлдарын оқу және жазу мүмкіндігі. `<var>/run/gdm` бумасының иесі root:gdm және рұқсаттары 1777 болуы тиіс.

Ешбір жағдайда GDM пайдаланушысын/тобын пайдаланушы оңай қол жеткізе алатын пайдаланушыға (мысалы, `nobody` пайдаланушысына) баптауға болмайды. Xauth кілтіне қол жеткізген кез келген пайдаланушы қатысты сессияда жұмыс істеп тұрған GUI бағдарламаларын бақылай және басқара алады немесе оған DoS шабуылын жасай алады. Жүйенің тек «gdm» пайдаланушысы осы файлдарға қол жеткізе алатындай және осы тіркелгіге кіру оңай болмайтындай дұрыс бапталғанына көз жеткізу маңызды. Мысалы, тіркелгі парольсіз болатындай немесе root емес пайдаланушылардың тіркелгіге кіруіне жол бермейтіндей етіп орнатылуы керек.

GDM қарсы алушы конфигурациясы GConf-та сақталады. GDM пайдаланушысына конфигурацияны жазуға рұқсат беру үшін «gdm» пайдаланушысының жазуға болатын $HOME бумасы болуы қажет. Пайдаланушылар «gdm» пайдаланушысын жазуға болатын $HOME бумасымен қамтамасыз ету қажеттілігін болдырмау үшін әдепкі GConf конфигурациясын қалауынша баптай алады. Алайда, егер GDM күй ақпаратын GConf конфигурациясына жаза алмаса, кейбір мүмкіндіктері сөндірілуі мүмкін.

### PAM

GDM жүйеге кіру аутентификациясы үшін PAM қолданады. PAM — бұл қосылатын аутентификация модулі (Pluggable Authentication Module) және оны компьютерде аутентификацияны талап ететін көптеген бағдарламалар қолданады. Ол әкімшіге әртүрлі жүйеге кіру бағдарламалары (мысалы, ssh, жүйеге кіру GUI, экран сақтағышы және т.б.) үшін арнайы аутентификация әрекетін баптауға мүмкіндік береді.

PAM күрделі және өте икемді бапталады және бұл құжатта оны егжей-тегжейлі түсіндіру көзделмеген. Оның орнына PAM конфигурациясының GDM-мен қалай байланысты екендігі, PAM әдетте GDM-мен қалай бапталатыны және белгілі мәселелер туралы шолу жасау көзделген. PAM конфигурациясын жасауды қажет ететін адамға PAM-ды қалай баптау керектігін және осы бөлімде қолданылатын терминдерді түсіну үшін PAM құжаттамасын әрі қарай оқу қажет болады деп күтіледі.

PAM конфигурациясы әртүрлі операциялық жүйелерде әртүрлі, бірақ ұқсас интерфейстерге ие, сондықтан егжей-тегжейлі ақпарат алу үшін pam.d немесе pam.conf қолданылу бетін тексеріңіз. PAM құжаттамасын міндетті түрде оқыңыз және конфигурацияңызға енгізгіңіз келетін кез келген өзгерістердің қауіпсіздік салдарына сенімді болыңыз.

Әдепкі бойынша GDM қалыпты жүйеге кіру үшін «gdm» PAM қызметінің атын және автоматты жүйеге кіру үшін «gdm-autologin» PAM қызметінің атын қолданатынын ескеріңіз. Бұл қызметтер сіздің pam.d немесе pam.conf конфигурацияланған файлыңызда анықталмаған болуы мүмкін. Егер жазба болмаса, GDM әдепкі PAM әрекетін қолданады. Көптеген жүйелерде бұл дұрыс жұмыс істеуі керек. Алайда, егер gdm-autologin қызметі анықталмаса, автоматты жүйеге кіру мүмкіндігі жұмыс істемеуі мүмкін.

`PostLogin` скрипті pam_open_session шақырылғанға дейін, ал `PreSession` скрипті одан кейін орындалады. Бұл жүйелік әкімшіге PAM сессияны инициализациялағанға дейін немесе одан кейін жүйеге кіру процесіне кез келген скрипттерді қосуға мүмкіндік береді.

Егер GDM-ді аутентификация механизмдерінің басқа түрлерімен (мысалы, саусақ ізі немесе SmartCard ридері) жұмыс істеткіңіз келсе, онда GDM кодын тікелей өзгертуге тырысқаннан көрі, қажетті аутентификация түрі үшін PAM қызмет модулін қолдану арқылы мұны іске асыруыңыз керек. Жүйеңіздегі PAM құжаттамасына жүгініңіз.

PAM-ның бір уақытта аутентификацияның бірнеше түрімен жұмыс істей алуына қатысты кейбір шектеулері бар, мысалы, SmartCard-ты да қабылдау және жүйеге кіру бағдарламасына пайдаланушы аты мен парольді теру мүмкіндігін қолдау. Мұны істету үшін қолданылатын әдістер бар және мұндай конфигурацияны орнату кезінде бұл мәселенің әдетте қалай шешілетінін зерттеген дұрыс.

Егер жүйеде автоматты жүйеге кіру жұмыс істемесе, PAM конфигурациясында «gdm-autologin» PAM стегі анықталғанын тексеріңіз. Мұның жұмыс істеуі үшін аутентификацияны орындамайтын немесе жай ғана барлық ашық интерфейстерінен PAM_SUCCESS қайтаратын PAM модулін қолдану қажет. Жүйеңізде мұны істейтін pam_allow.so PAM модулі бар деп есептесек, «gdm-autologin» іске қосуға арналған PAM конфигурациясы келесідей болады:

           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

Жоғарыдағы реттеу соңғы кіру (lastlog) жазбасының жасалмауына әкеледі. Егер соңғы кіру жазбасы қажет болса, сессия үшін келесіні қолданыңыз:

           gdm-autologin session required pam_unix_session.so.1

Егер компьютерді бірнеше адам қолданса, бұл автоматты жүйеге кіруді орынсыз етсе, кейбір пайдаланушыларға пароль енгізбей-ақ жүйеге кіруге рұқсат беруге болады. Бұл мүмкіндікті gnome-system-tools құрамындағы users-admin құралында әр пайдаланушы үшін опция ретінде іске қосуға болады; бұған пароль сұрамас бұрын пайдаланушының «nopasswdlogin» деп аталатын Unix тобының мүшесі екенін тексеру арқылы қол жеткізіледі. Мұның жұмыс істеуі үшін «gdm» қызметіне арналған PAM конфигурация файлында келесідей жол болуы керек:

          gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin

### utmp және wtmp

GDM сессияға кіру және шығу кезінде utmp және wtmp пайдаланушыларды есепке алу дерекқорының жазбаларын жасайды. utmp дерекқорында `finger`, `last`, `login` және `who` сияқты командалар арқылы қол жеткізілетін пайдаланушының қол жеткізу және есепке алу ақпараты болады. wtmp дерекқорында utmp дерекқорына арналған пайдаланушының қол жеткізу және есепке алу ақпаратының тарихы болады. Қосымша ақпарат алу үшін жүйеңіздегі utmp және wtmp қолданылу беттеріне жүгініңіз.

### Xserver аутентификация схемасы

Xserver авторизация файлдары іске қосылған кезде `<var>/run/gdm` бумасының жаңадан жасалған ішкі бумасында сақталады. Бұл файлдар X клиенттері мен Xserver арасында «парольді» сақтау және бөлісу үшін қолданылады. Бұл «пароль» жүйеге кірген әрбір сессия үшін бірегей, сондықтан бір сессиядағы пайдаланушылар басқа сессиядағы пайдаланушыларды бақылай алмайды.

GDM тек MIT-MAGIC-COOKIE-1 Xserver аутентификация схемасын қолдайды. Әдетте басқа схемалардан аз пайда келеді және оларды іске асыруға әзірге ешқандай күш салынбады. XDMCP қолданғанда өте мұқият болыңыз, өйткені Xserver аутентификация кукиі желі арқылы ашық мәтін ретінде жіберіледі. Егер бақылау мүмкін болса, онда шабуылдаушы қолданылатын аутентификация схемасына қарамастан, сіз жүйеге кірген кезде аутентификация паролін оңай біліп алады. Егер бақылау мүмкін болса және ол қажетсіз болса, XDMCP қолданудың орнына X қосылымын туннельдеу үшін ssh қолдануыңыз керек. XDMCP-ні қауіпсіздік мәселелері бірдей графикалық telnet түрі ретінде қарастыруға болады. Көп жағдайда GDM-нің XDMCP мүмкіндіктерінен гөрі ssh -Y таңдалғаны жөн.

### XDMCP қауіпсіздігі

Дисплейіңіз кукилермен қорғалған болса да, XEvents, демек парольдерді енгізу кезінде терілген пернелер басылуы желі арқылы ашық мәтінмен беріледі. Оларды ұстап алу өте оңай.

XDMCP негізінен терминалдық зертханалардағы сияқты жұқа клиенттерді іске қосу үшін пайдалы. Ол жұқа клиенттерге серверге кіру үшін тек желі қажет болады, сондықтан ең жақсы қауіпсіздік саясаты — сол жұқа клиенттерді сыртқы әлемнен кіруге болмайтын және тек серверге қосыла алатын бөлек желіде ұстау. Сыртқа шығу қажет болатын жалғыз нүкте — сервер. Мұндай орнату түрінде ешқашан басқарылмайтын хабты немесе басқа тыңдалатын желіні қолданбау керек.

### XDMCP қол жеткізуді басқару

XDMCP қол жеткізуді басқару TCP wrapper-лер арқылы жүзеге асырылады. GDM-ді TCP wrapper қолдауынсыз құрастыруға болады, сондықтан бұл мүмкіндік кейбір операциялық жүйелерде қолдау көрсетілмеуі мүмкін.

`<etc>/hosts.allow` және `<etc>/hosts.deny` файлдарында `gdm` қызметінің атын қолдану керек. Мысалы, `.evil.domain` доменіндегі компьютерлердің жүйеге кіруіне тыйым салу үшін келесіні қосыңыз

    gdm: .evil.domain

оны `<etc>/hosts.deny` файлына қосыңыз. Сонымен қатар сізге келесіні

    gdm: .your.domain

егер сіз әдетте барлық хосттардан барлық қызметтерге тыйым салсаңыз, `<etc>/hosts.allow` файлына қосу қажет болуы мүмкін. Егжей-тегжейлі ақпаратты hosts.allow(5) қолданылу бетінен қараңыз.

### Брандмауэр қауіпсіздігі

GDM XDMCP-ні пайдаланғысы келетін әлеуетті шабуылдаушылардан айласын асыруға тырысса да, өте қажет болмаса, брандмауэрдегі XDMCP портын (әдетте UDP 177 порты) бұғаттау ұсынылады. GDM қызмет көрсетуден бас тарту шабуылдарынан қорғайды, бірақ X хаттамасы әлі де қауіпті және оны тек бақыланатын орталарда қолдану керек. Сондай-ақ әрбір қашықтағы қосылым көптеген ресурстарды алады, сондықтан XDMCP арқылы DoS шабуылын жасау веб-серверге шабуыл жасаудан әлдеқайда оңай.

Сондай-ақ барлық Xserver порттарын бұғаттаған жөн. Бұл брандмауэрдегі TCP 6000+ порттары (әр дисплей нөмірі үшін бір порт). GDM сұраныс бойынша икемді серверлер үшін 20 және одан жоғары дисплей нөмірлерін қолданатынын ескеріңіз.

Интернет арқылы X қауіпсіз хаттама емес, ал XDMCP одан да қауіптірек.

### PolicyKit

GDM жүйелік әкімшіге жүйеге кіру экранында қарсы алушы терезесінде өшіру және қайта іске қосу батырмаларының болуын басқаруға мүмкіндік беру үшін PolicyKit қолдануға бапталуы мүмкін.

Бұл батырмалар тиісінше `org.freedesktop.consolekit.system.stop-multiple-users` және `org.freedesktop.consolekit.system.restart-multiple-users` әрекеттерімен басқарылады. Осы әрекеттерге арналған саясатты polkit-gnome-authorization құралы немесе polkit-auth командалық жол бағдарламасы арқылы орнатуға болады.

### RBAC (Role Based Access Control - Рольге негізделген қол жеткізуді басқару)

GDM PolicyKit орнына RBAC қолдануға бапталуы мүмкін. Бұл жағдайда RBAC конфигурациясы жүйеге кіру экранында қарсы алушы терезесінде өшіру және қайта іске қосу батырмаларының болуын басқару үшін қолданылады.

Мысалы, Oracle Solaris-те мұны басқару үшін «solaris.system.shutdown» авторизациясы қолданылады. «gdm» пайдаланушысында осы авторизация болуы үшін жай ғана `/etc/user_attr` файлын өзгертіңіз.

## ConsoleKit-ті қолдау

GDM пайдаланушының жүйеге кіру ақпаратын ConsoleKit деп аталатын пайдаланушы мен жүйеге кіру сессиясын есепке алу құрылымымен жариялауды қолдайды. ConsoleKit қазіргі уақытта жүйеге кірген барлық пайдаланушыларды бақылай алады. Осыған байланысты, ол көптеген Unix тәріздес операциялық жүйелерде қолжетімді utmp немесе utmpx файлдарын алмастырғыш ретінде қолданыла алады.

GDM пайдаланушы үшін жаңа жүйеге кіру процесін жасауға дайындалған кезде, осы пайдаланушы үшін жаңа сессия ашу мақсатында ConsoleKit-тің артықшылықты әдісін шақырады. Осы уақытта GDM ConsoleKit-ке осы пайдаланушы сессиясы туралы ақпаратты да береді, мысалы: пайдаланушы идентификаторы, сессиямен байланысты болатын X11 дисплейінің аты, сессия басталған хост аты (XDMCP сессиясы жағдайында пайдалы), бұл сессияның жалғанғандығы немесе жалғанбағандығы және т.б. Пайдаланушы процесін бастайтын субъект ретінде GDM пайдаланушы сессиясы туралы білу және осы ақпаратты беруде сенімді болу үшін бірегей позицияда болады. Бұл артықшылықты әдісті қолдану D-Bus жүйелік хабарлама шинасының қауіпсіздік саясатымен шектелген.

Егер қолданыстағы сессиясы бар пайдаланушы GDM-де аутентификациядан өтсе және сол сессияны жалғастыруды сұраса, GDM сол сессияны бұғаттаудан босату үшін ConsoleKit-тің артықшылықты әдісін шақырады. Сессия осы бұғаттаудан босату сигналын алған кезде не болатынының нақты мәліметтері анықталмаған және сессияға байланысты. Дегенмен, көптеген сессиялар жауап ретінде экран сақтағышын бұғаттаудан босатады.

Пайдаланушы жүйеден шығуды таңдағанда немесе GDM немесе сессия кенеттен аяқталған жағдайда пайдаланушы сессиясы ConsoleKit-тен тіркеуден шығарылады.

## Баптау

GDM-де бірнеше баптау интерфейстері бар. Оларға скрипттерді интеграциялау нүктелері, қызмет конфигурациясы, қарсы алушы конфигурациясы, сессияның жалпы баптаулары, gnome-settings-daemon конфигурациясымен интеграция және сессия конфигурациясы жатады. Интеграцияның бұл түрлері төменде егжей-тегжейлі сипатталған.

### Скрипттерді интеграциялау нүктелері

GDM скрипттерін интеграциялау нүктелерін `<etc>/gdm/` бумасынан табуға болады:

    Xsession
    Init/
    PostLogin/
    PreSession/
    PostSession/

`Init`, `PostLogin`, `PreSession` және `PostSession` скрипттерінің барлығы төменде сипатталғандай жұмыс істейді.

Скрипттің әрбір түрі үшін орындалатын әдепкі скрипт «Default» деп аталады және скрипт түрімен байланысты бумада сақталады. Осылайша, әдепкі `Init` скрипті — `<etc>/gdm/Init/Default`. Әр дисплей үшін скрипт беруге болады және егер ол болса, әдепкі скрипттің орнына сол орындалады. Мұндай скрипттер әдепкі скриптпен бірдей бумада сақталады және сол дисплей үшін Xserver DISPLAY мәнімен бірдей атауға ие болады. Мысалы, егер `<Init>/:0` скрипті болса, ол DISPLAY «:0» үшін орындалады.

Бұл скрипттердің барлығы root артықшылықтарымен орындалады және сәтті орындалса 0, ал жүйеге кіру сессиясының тоқтатылуына әкелетін қандай да бір сәтсіздік болса, нөлден басқа қайтару кодын қайтарады. Сондай-ақ GDM скрипттер аяқталғанша күтетінін ескеріңіз, сондықтан егер осы скрипттердің кез келгені тұрып қалса, бұл жүйеге кіру процесінің де тұрып қалуына әкеледі.

Жүйеге кіру GUI үшін Xserver сәтті іске қосылғаннан кейін, бірақ жүйеге кіру GUI нақты көрсетілгенге дейін GDM `Init` скриптін орындайды. Бұл скрипт жүйеге кіру экраны көрсетілген кезде орындалуы тиіс бағдарламаларды іске қосу немесе қажет болса, кез келген арнайы инициализацияны орындау үшін пайдалы.

Пайдаланушы сәтті аутентификацияланғаннан кейін GDM `PostLogin` скриптін орындайды. Бұл кез келген сессияны орнату алдында, соның ішінде pam_open_session шақыруына дейін орындалады. Бұл скрипт сессия басталғанға дейін орындалуы тиіс сессия инициализациясын жасау үшін пайдалы. Мысалы, қажет болса, пайдаланушының $HOME бумасын орнатуға болады.

Пайдаланушы сессиясы инициализацияланғаннан кейін GDM `PreSession` скриптін орындайды. Бұл скрипт сессия инициализацияланғаннан кейін орындалуы тиіс кез келген сессия инициализациясын жасау үшін пайдалы. Оны, мысалы, сессияны басқару немесе есепке алу үшін қолдануға болады.

Пайдаланушы өз сессиясын аяқтаған кезде GDM `PostSession` скриптін орындайды. Бұл скрипт орындалған кезде Xserver тоқтатылған болатынын, сондықтан оған қол жеткізуге болмайтынын ескеріңіз.

Енгізу-шығару қатесі немесе соған ұқсас себептерге байланысты дисплей жауап бермеген жағдайда да `PostSession` скрипті орындалатынын ескеріңіз. Осылайша, скриптті орындау кезінде X қолданбаларының жұмыс істейтініне кепілдік жоқ.

Жоғарыдағы барлық скрипттер `$RUNNING_UNDER_GDM` орта айнымалысын `yes` мәніне орнатады. Егер скрипттер басқа дисплей менеджерлерімен де бөліссе, бұл GDM осы скрипттерді қашан шақыратынын анықтауға мүмкіндік береді, осылайша GDM қолданылған кезде арнайы кодты орындауға болады.

### Автоматты іске қосу конфигурациясы

`<share>/gdm/autostart/LoginWindow` бумасында «FreeDesktop.org Desktop Application Autostart Specification» құжатында көрсетілген пішімдегі файлдар бар. Спецификациядағы стандартты мүмкіндіктер автоматты түрде қайта іске қосылуы тиіс немесе тек GConf конфигурация мәні орнатылған жағдайда ғана іске қосылуы тиіс бағдарламаларды және т.б. көрсету үшін қолданылуы мүмкін.

Осы бумадағы кез келген `.desktop` файлдары қатысты бағдарламаның жүйеге кіру GUI қарсы алушысымен бірге автоматты түрде іске қосылуына әкеледі. Әдепкі бойынша GDM gdm-simple-greeter жүйеге кіру GUI қарсы алушысының өзін, gnome-power-manager қолданбасын, gnome-settings-daemon және metacity терезе менеджерін автоматты түрде іске қосатын файлдармен бірге жеткізіледі. Бұл бағдарламалар қарсы алушы бағдарламасының жұмыс істеуі үшін қажет. Сонымен қатар, төмендегі «Қолжетімділікті баптау» бөлімінде көрсетілген конфигурация мәндері орнатылған жағдайда әртүрлі AT бағдарламаларын іске қосуға арналған жұмыс үстелі файлдары берілген.

### Xsession скрипті

Сондай-ақ `<etc>/gdm/Xsession` мекенжайында орналасқан `Xsession` скрипті бар, ол `PreSession` және `PostSession` скрипттерінің арасында шақырылады. Бұл скрипт басқа скрипттер сияқты әр дисплей үшін жеке баптауды қолдамайды. Бұл скрипт пайдаланушы сессиясын нақты бастау үшін қолданылады. Бұл скрипт пайдаланушы ретінде орындалады және ол пайдаланушы бастау үшін таңдаған жұмыс үстелі сессиясы файлында көрсетілген кез келген сессияны іске қосады.

### Қызмет конфигурациясы

GDM қызметі `<etc>/gdm/custom.conf` файлы арқылы бапталады. Әдепкі мәндер GConf-та `gdm.schemas` файлында сақталады. Соңғы пайдаланушыларға `<etc>/gdm/custom.conf` файлын өзгерту ұсынылады, өйткені пайдаланушы өз жүйесін GDM-нің жаңа нұсқасына жаңартқанда схемалар файлы қайта жазылуы мүмкін.

GDM-нің ескі нұсқалары GDM-нің соңғы нұсқаларында енді қолдау көрсетілмейтін қосымша конфигурация опцияларын қолдағанын ескеріңіз.

`<etc>/gdm/custom.conf` файлы `keyfile` пішімінде. Жақшадағы кілт сөздер топ бөлімдерін анықтайды, теңдік белгісіне (=) дейінгі жолдар кілттер болып табылады, ал теңдік белгісінен кейінгі деректер олардың мәнін білдіреді. Бос жолдар немесе хэш белгісінен (#) басталатын жолдар еленбейді.

`<etc>/gdm/custom.conf` файлы «[daemon]», «[security]» және «[xdmcp]» топ бөлімдерін қолдайды. Әрбір топтың ішінде GDM әрекетін өзгерту үшін көрсетуге болатын белгілі бір кілт/мән жұптары бар. Мысалы, уақыт бойынша жүйеге кіруді іске қосу және уақыт бойынша жүйеге кіретін пайдаланушыны «you» деп аталатын пайдаланушы ретінде көрсету үшін файлды келесі жолдарды қамтитындай етіп өзгертесіз:

    [daemon]
    TimedLoginEnable=true
    TimedLogin=you

Қолдау көрсетілетін конфигурация кілттерінің толық тізімі төменде берілген:

#### [chooser]

Multicast

      Multicast=false

  Егер true болса және IPv6 іске қосылса, таңдаушы жергілікті желіге мультикаст сұрауын жібереді және мультикаст тобына қосылған хосттардан жауаптарды жинайды.

MulticastAddr

      MulticastAddr=ff02::1

  Бұл Link-local мультикаст адресі.

#### [daemon]

TimedLoginEnable

      TimedLoginEnable=false

  Егер `TimedLogin` файлында берілген пайдаланушы жүйеге кіру экранында бірнеше секунд әрекетсіздіктен кейін (`TimedLoginDelay` арқылы орнатылған) жүйеге кіруі керек болса. Бұл қоғамдық қолжетімділік терминалдары немесе тіпті үйде пайдалану үшін пайдалы. Егер пайдаланушы пернетақтаны қолданса немесе мәзірлерді шолып шықса, күту уақыты `TimedLoginDelay` мәніне немесе 30 секундқа (қайсысы жоғары болса) қайта орнатылады. Егер пайдаланушы пайдаланушы атын енгізбесе, бірақ жүйеге кіру бағдарламасы пайдаланушы атын сұрап жатқанда жай ғана ENTER пернесін басса, онда GDM пайдаланушының уақыт бойынша белгіленген пайдаланушы ретінде дереу жүйеге кіргісі келетінін болжайды. Бұл пайдаланушы үшін пароль сұралмайтынын ескеріңіз, сондықтан абай болу керек, дегенмен PAM қолдансаңыз, оны жүйеге кіруге рұқсат бермес бұрын пароль енгізуді талап ететіндей баптауға болады. Қосымша ақпарат алу үшін немесе бұл мүмкіндік жұмыс істемейтін сияқты болса, анықтамалықтың «Қауіпсіздік->PAM» бөліміне жүгініңіз.

TimedLogin

      TimedLogin=

  Бұл көрсетілген секундтар бойы әрекетсіздіктен кейін жүйеге кіруі тиіс пайдаланушы.

  Егер мән вертикалды сызықпен | (пайп таңбасы) аяқталса, GDM көрсетілген бағдарламаны орындайды және бағдарламадан стандартты шығысқа қайтарылған кез келген мәнді пайдаланушы ретінде қолданады. Бағдарлама пайдаланушыны әр дисплейге қатысты түрде көрсету мүмкін болуы үшін DISPLAY орта айнымалысы орнатылған күйде іске қосылады. Мысалы, егер мән «/usr/bin/getloginuser|» болса, онда пайдаланушы мәнін алу үшін «/usr/bin/getloginuser» бағдарламасы іске қосылады.

TimedLoginDelay

      TimedLoginDelay=30

  `TimedLogin` пайдаланушысы жүйеге кіргенге дейінгі секундтардағы кідіріс.

AutomaticLoginEnable

      AutomaticLoginEnable=false

  Егер true болса, `AutomaticLogin` файлында берілген пайдаланушы дереу жүйеге кіруі керек. Бұл мүмкіндік 0 секундтық кідірісі бар уақыт бойынша жүйеге кіру сияқты.

AutomaticLogin

      AutomaticLogin=

  Бұл егер `AutomaticLoginEnable` true болса, дереу жүйеге кіруі тиіс пайдаланушы.

  Егер мән вертикалды сызықпен | (пайп таңбасы) аяқталса, GDM көрсетілген бағдарламаны орындайды және бағдарламадан стандартты шығысқа қайтарылған кез келген мәнді пайдаланушы ретінде қолданады. Бағдарлама пайдаланушыны әр дисплейге қатысты түрде көрсету мүмкін болуы үшін DISPLAY орта айнымалысы орнатылған күйде іске қосылады. Мысалы, егер мән «/usr/bin/getloginuser|» болса, онда пайдаланушы мәнін алу үшін «/usr/bin/getloginuser» бағдарламасы іске қосылады.

User

      User=gdm

  Қарсы алушы және басқа GUI бағдарламалары орындалатын пайдаланушы аты. Қосымша ақпарат алу үшін `User` конфигурация кілтіне және осы құжаттың «Қауіпсіздік->GDM пайдаланушысы мен тобы» бөліміне жүгініңіз.

Group

      Group=gdm

  Қарсы алушы және басқа GUI бағдарламалары орындалатын топ аты. Қосымша ақпарат алу үшін `Group` конфигурация кілтіне және осы құжаттың «Қауіпсіздік->GDM пайдаланушысы мен тобы» бөліміне жүгініңіз.

#### Жөндеу опциялары

##### [debug]

Enable

      Enable=false

  Жөндеуді іске қосу үшін `<etc>/gdm/custom.conf` файлында debug/Enable кілтін «true» мәніне орнатып, GDM-ді қайта іске қосыңыз. Содан кейін жөндеу шығысы жүйелік журнал файлына (операциялық жүйеңізге байланысты `<var>/log/messages` немесе `<var>/adm/messages`) жіберіледі.

#### Қауіпсіздік опциялары

##### [security]

DisallowTCP

      DisallowTCP=true

  Егер true болса, жалғанған Xserver-лерді іске қосу кезінде командалық жолға әрқашан `-nolisten tcp` қосыңыз, осылайша TCP қосылымына тыйым салынады. Егер сіз қашықтағы қосылымдарды қолданбайтын болсаңыз, бұл қауіпсіздігі жоғарырақ конфигурация болып табылады.

#### XDCMP қолдауы

##### [xdmcp]

DisplaysPerHost

      DisplaysPerHost=1

  Шабуылдаушылардың күту кезегін толтыруын болдырмау үшін GDM әрбір қашықтағы компьютер үшін тек бір ғана қосылымға рұқсат береді. Егер сіз бірнеше экраны бар компьютерлерге дисплей қызметтерін ұсынғыңыз келсе, бұл мәнді арттыруыңыз керек.

  Рұқсат етілген жалғанған ДИСПЛЕЙЛЕР саны шектелмейтінін ескеріңіз. Тек XDMCP арқылы қашықтағы қосылымдар осы конфигурация опциясымен шектеледі.

Enable

      Enable=false

  Бұл мәнді true мәніне орнату GDM арқылы қашықтағы дисплейлерді/X терминалдарын басқаруға мүмкіндік беретін XDMCP қолдауын іске қосады.

  `gdm` UDP 177 портындағы сұрауларды тыңдайды. Қосымша ақпарат алу үшін Порт опциясын қараңыз.

  Егер GDM оны қолдау үшін құрастырылған болса, қашықтағы дисплейлерден қол жеткізуді TCP Wrappers кітапханасы арқылы басқаруға болады. Қызмет атауы — `gdm`

  TCP Wrappers конфигурациясына байланысты `<etc>/hosts.allow` файлына

      gdm:.my.domain

  қосуыңыз керек. Егжей-тегжейлі ақпаратты hosts.allow қолданылу бетінен қараңыз.

  XDMCP ерекше қауіпсіз хаттама емес екенін және өте қажет болмаса, брандмауэрдегі UDP 177 портын бұғаттау жақсы идея екенін ескеріңіз.

HonorIndirect

      HonorIndirect=true

  Өз дисплей браузерін қамтамасыз етпейтін X-терминалдары үшін XDMCP INDIRECT таңдауын (яғни `gdmchooser` қашықтан орындауын) іске қосады.

MaxPending

      MaxPending=4

  Қызмет көрсетуден бас тарту шабуылдарын болдырмау үшін GDM-де күтудегі қосылымдардың бекітілген өлшемді кезегі бар. Бір уақытта тек MaxPending дисплейлері ғана іске қосыла алады.

  Бұл параметр басқарылатын қашықтағы дисплейлер санын шектемейтінін ескеріңіз. Ол тек бір уақытта қосылымды бастайтын дисплейлер санын ғана шектейді.

MaxSessions

      MaxSessions=16

  Бір уақытта басқарылатын қашықтағы дисплей қосылымдарының максималды санын анықтайды. Яғни, сіздің хостыңызды қолдана алатын қашықтағы дисплейлердің жалпы саны.

MaxWait

      MaxWait=30

  GDM дисплейді басқаруға дайын болғанда, оған болашақ XDMCP сөйлесулерінде қолданылатын бірегей сессия идентификаторы бар ACCEPT пакеті жіберіледі.

  Содан кейін GDM сессия идентификаторын дисплейдің MANAGE сұрауымен жауап беруін күтетін кезекке орналастырады.

  Егер MaxWait секунд ішінде ешқандай жауап алынбаса, GDM дисплейді өлі деп жариялайды және басқа дисплейлер үшін орын босату мақсатында оны күту кезегінен өшіреді.

MaxWaitIndirect

      MaxWaitIndirect=30

  MaxWaitIndirect параметрі пайдаланушы хостты таңдаған уақыт пен пайдаланушы хостқа қосылатын кейінгі жанама сұрау арасындағы максималды секундтар санын анықтайды. Күту уақыты асып кеткенде, таңдалған хост туралы ақпарат ұмытылады және жанама слот басқа дисплейлер үшін босатылады. Егер жанама сұрауларды жіберуге тырысатын хосттар саны `MaxPendingIndirect` мәнінен көп болса, ақпарат ертерек ұмытылуы мүмкін.

Port

      Port=177

  `gdm` XDMCP сұраулары үшін тыңдауы тиіс UDP портының нөмірі. Не істеп жатқаныңызды білмесеңіз, мұны өзгертпеңіз.

Willing

      Willing=<etc>/gdm/Xwilling

  Машина QUERY-ден кейін WILLING пакетін кері жіберген кезде, ол осы сервердің ағымдағы күйін беретін жолды жібереді. Әдепкі хабарлама — жүйе идентификаторы, бірақ теңшелген хабарламаны көрсететін скрипт жасауға болады. Егер бұл скрипт болмаса немесе бұл кілт бос болса, әдепкі хабарлама жіберіледі. Егер бұл скрипт сәтті аяқталып, қандай да бір шығыс берсе, оның шығысының бірінші жолы жіберіледі (және тек бірінші жолы). Ол машинаны QUERY пакеттерімен толтыру арқылы болуы мүмкін қызмет көрсетуден бас тартуды болдырмау үшін кемінде 3 секундта бір рет орындалады.

### Simple Greeter баптаулары

GDM-нің әдепкі қарсы алушысы Simple Greeter деп аталады және GConf арқылы бапталады. Әдепкі мәндер GConf-та `gdm-simple-greeter.schemas` файлында сақталады. Егер «gdm» пайдаланушысында GConf баптауларын сақтау үшін жазуға болатын $HOME бумасы болса, бұл әдепкі мәндерді қайта анықтауға болады. Бұл мәндерді `gconftool-2` немесе `gconf-editor` бағдарламалары арқылы өңдеуге болады. Келесі конфигурация опцияларына қолдау көрсетіледі:

#### Қарсы алушыны баптау кілттері

/apps/gdm/simple-greeter/banner_message_enable

      false (логикалық)

  Баннер хабарламасының мәтіні көрсетілетінін басқарады.

/apps/gdm/simple-greeter/banner_message_text

      NULL (жол)

  Қарсы алушы терезесінде көрсетілетін мәтіндік баннер хабарламасын көрсетеді.

/apps/gdm/simple-greeter/disable_restart_buttons

      false (логикалық)

  Жүйеге кіру терезесінде қайта іске қосу батырмаларын көрсету керектігін басқарады.

/apps/gdm/simple-greeter/disable_user_list

      false (логикалық)

  Егер true болса, онда жүйеге кіру терезесінде белгілі пайдаланушылары бар Face Browser көрсетілмейді.

/apps/gdm/simple-greeter/logo_icon_name

      computer (жол)

  Қарсы алушы логотипі үшін қолданылатын темалық таңбаша атауын орнатады.

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

      [] (жолдар тізімі)

  Жүйеге кіру терезесінде әдепкі бойынша көрсетілетін тілдер тізімін орнатады. Әдепкі мән — «[]». Әдепкі баптауда тек жүйенің әдепкі тілі және пайдаланушы таңдай алатын қолжетімді тілдердің толық тізімін көрсететін сұхбат терезесін шығаратын «Басқа...» опциясы көрсетіледі.

  Пайдаланушылар бұл баптауды қолмен өзгертпеуі тиіс. Оның орнына GDM осы конфигурация кілтінде таңдалған кез келген тілдерді бақылайды және оларды «Басқа...» таңдауымен бірге тілдер тізімінде көрсетеді. Осылайша, жиі таңдалатын тілдерді таңдау оңайырақ болады.

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

      [] (жолдар тізімі)

  Жүйеге кіру панелінде әдепкі бойынша көрсетілетін пернетақта жаймаларының тізімін орнатады. Әдепкі мән — «[]». Әдепкі баптауда тек жүйенің әдепкі пернетақта жаймасы және пайдаланушы таңдай алатын қолжетімді пернетақта жаймаларының толық тізімін көрсететін сұхбат терезесін шығаратын «Басқа...» опциясы көрсетіледі.

  Пайдаланушылар бұл баптауды қолмен өзгертпеуі тиіс. Оның орнына GDM осы конфигурация кілтінде таңдалған кез келген пернетақта жаймаларын бақылайды және оларды «Басқа...» таңдауымен бірге пернетақта жаймаларының тізімінде көрсетеді. Осылайша, жиі таңдалатын пернетақта жаймаларын таңдау оңайырақ болады.

/apps/gdm/simple-greeter/wm_use_compiz

      false (логикалық)

  Metacity орнына Compiz терезе менеджері ретінде қолданылатынын басқарады.

### Қолжетімділікті баптау

Бұл бөлімде GDM-де қолжетімді қолжетімділікті баптау опциялары сипатталған.

#### GDM Қолжетімділік сұхбаты және GConf кілттері

Жүйеге кіру экранындағы GDM қарсы алушы панелінде қолжетімділік таңбашасы көрсетіледі. Сол таңбашаны шерту GDM Қолжетімділік сұхбат терезесін ашады. GDM Қолжетімділік сұхбат терезесінде жалаушалар тізімі бар, сондықтан пайдаланушы қатысты қолжетімділік құралдарын іске қоса немесе сөндіре алады.

Экрандық пернетақтаға, экрандық лупаға және экраннан оқу құралына сәйкес келетін жалаушалар осы құжаттың келесі бөлімінде сипатталған үш GConf кілтіне әсер етеді. Осы жалаушаларды іске қосу немесе сөндіру арқылы қатысты GConf кілті «true» немесе «false» мәніне орнатылады. GConf кілті true мәніне орнатылғанда, осы GConf кілтіне байланысты қолжетімділік құралдары іске қосылады. GConf кілті «false» мәніне орнатылғанда, осы GConf кілтіне байланысты кез келген жұмыс істеп тұрған қолжетімділік құралы аяқталады. Бұл GConf кілттері пайдаланушы жүйеге кіргеннен кейін әдепкі күйге автоматты түрде қайтарылмайды. Демек, соңғы GDM жүйеге кіру сессиясы кезінде жұмыс істеп тұрған қолжетімділік құралдары келесі GDM жүйеге кіру сессиясында автоматты түрде іске қосылады.

GDM Қолжетімділік сұхбат терезесіндегі басқа жалаушалардың сәйкес GConf кілттері жоқ, өйткені олар ұсынатын қолжетімділік мүмкіндіктерін қамтамасыз ету үшін қосымша бағдарлама іске қосылмайды. Бұл басқа опциялар GDM сессиясы кезінде әрқашан жұмыс істеп тұратын Xserver тарапынан қамтамасыз етілетін қолжетімділік мүмкіндіктеріне сәйкес келеді.

#### Қолжетімділік GConf кілттері

GDM қолжетімділік мүмкіндіктерін басқару үшін келесі GConf кілттерін ұсынады:

##### GDM конфигурация кілттері

/desktop/gnome/interface/accessibility

      false (логикалық)

  Қолжетімділік инфрақұрылымы GDM GUI-мен бірге іске қосылатынын басқарады. Бұл көптеген қолжетімділік технологиясы бағдарламаларының жұмыс істеуі үшін қажет.

/desktop/gnome/applications/at/screen_magnifier_enabled

      false (логикалық)

  Егер орнатылса, осы GConf кілтіне байланысты қолжетімділік құралдары GDM GUI бағдарламасымен бірге іске қосылады. Әдепкі бойынша бұл экрандық лупа қолданбасы.

/desktop/gnome/applications/at/screen_keyboard_enabled

      false (логикалық)

  Егер орнатылса, осы GConf кілтіне байланысты қолжетімділік құралдары GDM GUI бағдарламасымен бірге іске қосылады. Әдепкі бойынша бұл экрандық пернетақта қолданбасы.

/desktop/gnome/applications/at/screen_reader_enabled

      false (логикалық)

  Егер орнатылса, осы GConf кілтіне байланысты қолжетімділік құралдары GDM GUI бағдарламасымен бірге іске қосылады. Әдепкі бойынша бұл экраннан оқу құралы қолданбасы.

#### GConf кілттерін қолжетімділік құралдарына байланыстыру

screen_magnifier_enabled, screen_keyboard_enabled және screen_reader_enabled GConf кілттері үшін іске қосылатын қолжетімділік құралы осы нұсқаулықтың «Автоматты іске қосу конфигурациясы» бөлімінде сипатталғандай GDM автоматты іске қосу бумасында орналасқан жұмыс үстелі файлдарына байланысты болады. GDM автоматты іске қосу бумасындағы кез келген жұмыс үстелі файлы осы GConf кілтіне жұмыс үстелі файлындағы AutostartCondition мәнінде сол GConf кілтін көрсету арқылы байланыстырылуы мүмкін. Осылайша, жұмыс үстелі файлындағы нақты AutostartCondition жолы келесілердің бірі болуы мүмкін:

    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

Қолжетімділік кілті true болғанда, GDM автоматты іске қосу жұмыс үстелі файлында сол кілтке байланыстырылған кез келген бағдарлама іске қосылады (егер сол жұмыс үстелі файлында Hidden кілті true мәніне орнатылмаса). Егер GDM автоматты іске қосу бумасында осы AutostartCondition бар бірнеше жұмыс үстелі файлы болса, бір GConf кілті тіпті бірнеше қолжетімділік құралын іске қоса алады.

#### Қолжетімділік құралының конфигурациясын өзгерту мысалы

Мысалы, егер GNOME әдепкі экрандық пернетақта ретінде GOK-пен таратылса, оны қаласаңыз, басқа бағдарламамен ауыстыруға болады. GOK-ты «onboard» экрандық пернетақта қолданбасымен ауыстыру және қосымша тоқтауды (dwelling) қолдау үшін «mousetweaks» қолжетімділік құралын белсендіру үшін келесі конфигурация қажет.

Onboard үшін жұмыс үстелі файлын және mousetweaks үшін екіншісін жасаңыз; мысалы, onboard.desktop және mousetweaks.desktop. Бұл файлдар GDM автоматты іске қосу бумасында орналасуы және осы құжаттың «Автоматты іске қосу конфигурациясы» бөлімінде түсіндірілген пішімде болуы керек.

Төменде `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

Төменде `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

Екі жұмыс үстелі файлын да экрандық пернетақтаға арналған GConf кілтіне байланыстыратын AutostartCondition жолына назар аударыңыз.

GOK-тың іске қосылуын сөндіру үшін GOK экрандық пернетақтасына арналған жұмыс үстелі файлы өшірілуі немесе деактивациялануы керек. Әйтпесе onboard және GOK бір уақытта іске қосылады. Бұны GDM автоматты іске қосу бумасынан gok.desktop файлын өшіру немесе gok.desktop файлына «Hidden=true» кілт баптауын қосу арқылы жасауға болады.

Осы өзгерістерді енгізгеннен кейін, пайдаланушы GDM сессиясында экрандық пернетақтаны белсендіргенде GOK енді іске қосылмайды; бірақ оның орнына onboard және mousetweaks іске қосылады.

### Сессияның жалпы баптаулары

GDM қарсы алушысы жұмыс үстелі сессиясы қолданатын кейбір құрылымдарды қолданады. Сондықтан оған бірқатар бірдей GConf баптаулары әсер етеді. Осы баптаулардың әрқайсысы үшін қарсы алушы, егер ол а) GDM орнатқан міндетті саясатымен б) жүйенің міндетті саясатымен арнайы қайта анықталмаса, әдепкі мәнді қолданады. GDM қауіпсіздік үшін кейбір баптауларды құлыптау мақсатында өзінің міндетті саясатын орнатады.

### GNOME баптаулар қызметі (GNOME Settings Daemon)

GDM келесі gnome-settings-daemon плагиндерін іске қосады: a11y-keyboard, background, sound, xsettings.

Олар фондық сурет, қаріп және тема баптаулары, дыбыстық оқиғалар және т.б. үшін жауапты.

Плагиндерді GConf арқылы да сөндіруге болады. Мысалы, егер сіз дыбыс плагинін сөндіргіңіз келсе, келесі кілтті алып тастаңыз: `/apps/gdm/simple-greeter/settings-manager-plugins/sound/active`.

### GDM сессия конфигурациясы

GDM сессиялары FreeDesktop.org Desktop Entry Specification көмегімен көрсетіледі, оған келесі URL мекенжайы бойынша жүгінуге болады: https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Әдепкі бойынша GDM жұмыс үстелі файлдарын `<share>/xsessions` бумасына орнатады. GDM жұмыс үстелі файлдарын табу үшін келесі бумаларды мына ретпен іздейді: `<etc>/X11/sessions/`, `<dmconfdir>/Sessions`, `<share>/gdm/BuiltInSessions` және `<share>/xsessions`. Әдепкі бойынша `<dmconfdir>` мәні `<etc>/dm/` болып орнатылады, егер GDM «--with-dmconfdir» опциясы арқылы басқа буманы қолдануға бапталмаса.

Сессияны жұмыс үстелі файлын өңдеу және келесідей жолды қосу арқылы сөндіруге болады: `Hidden=true`.

GDM жұмыс үстелі файлдары GDM-ге тән кеңейтуді, «X-GDM-BypassXsession» деп аталатын кілтті қолдайды. Егер кілт жұмыс үстелі файлында көрсетілмесе, мән әдепкі бойынша «false» болады. Егер бұл кілт жұмыс үстелі файлында «true» деп көрсетілсе, онда GDM пайдаланушы сессиясын бастаған кезде жұмыс үстелі файлының «Exec» кілтімен көрсетілген бағдарламаны тікелей іске қосады. Ол бағдарламаны қалыпты әрекет болып табылатын `<etc>/gdm/Xsession` скрипті арқылы іске қоспайды. `<etc>/gdm/Xsession` скриптін айналып өту пайдаланушы сессиясын қалыпты жүйелік және пайдаланушы баптауларымен орнатуды болдырмайтындықтан, осылайша басталған сессиялар пайдаланушының сессияны бастауына кедергі болуы мүмкін жүйелік немесе пайдаланушы скрипттеріндегі ақауларды түзету үшін пайдалы болуы мүмкін.

### GDM пайдаланушы сессиясы мен тіл конфигурациясы

Пайдаланушының әдепкі сессиясы мен тіл таңдаулары `~/.dmrc` файлында сақталады. Пайдаланушы бірінші рет жүйеге кіргенде, бұл файл пайдаланушының бастапқы таңдауларымен жасалады. Пайдаланушы жүйеге кірген кезде жай ғана басқа мәнге ауыстыру арқылы осы әдепкі мәндерді өзгерте алады. GDM бұл өзгерісті кейінгі жүйеге кірулер үшін есте сақтайды.

`~/.dmrc` файлы стандартты `INI` пішімінде. Оның `[Desktop]` деп аталатын бір бөлімі бар, онда екі кілт бар: `Session` және `Language`.

`Session` кілті пайдаланушы әдетте `.desktop` кеңейтуінсіз қолданғысы келетін сессияның `.desktop` файлының негізгі атын көрсетеді. `Language` кілті пайдаланушы әдепкі бойынша қолданғысы келетін тілді көрсетеді. Егер осы кілттердің біреуі жетіспесе, жүйенің әдепкі мәні қолданылады. Файл әдетте келесідей болады:

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

## GDM командалары

### GDM Root пайдаланушы командалары

GDM дестесі root пайдаланушысы орындауға арналған `sbindir` ішінде келесі командаларды ұсынады:

#### `gdm` командалық жол опциялары

`gdm` — графикалық жүйеге кіру ортасын реттейтін және қажетті көмекшілерді іске қосатын негізгі қызмет.

##### `gdm` командалық жол опциялары

-?, --help

  Командалық жол опциялары туралы қысқаша шолу береді.

--fatal-warnings

  Барлық ескертулер GDM-нің жұмысын тоқтатуына әкеледі.

--timed-exit

  30 секундтан кейін шығу. Жөндеу үшін пайдалы.

--version

  GDM қызметінің нұсқасын басып шығару.

#### `gdm-restart` командалық жол опциялары

`gdm-restart` GDM қызметіне HUP сигналын жіберу арқылы GDM-ді тоқтатады және қайта іске қосады. Бұл команда барлық сессияларды дереу тоқтатады және қазіргі уақытта GDM арқылы жүйеге кірген пайдаланушыларды шығарады.

#### `gdm-safe-restart` командалық жол опциялары

`gdm-safe-restart` GDM қызметіне USR1 сигналын жіберу арқылы GDM-ді тоқтатады және қайта іске қосады. GDM барлық пайдаланушылар жүйеден шыққан бойда қайта іске қосылады.

#### `gdm-stop` командалық жол опциялары

`gdm-stop` GDM қызметіне TERM сигналын жіберу арқылы GDM-ді тоқтатады.

## Ақаулықтарды түзету

Бұл бөлімде GDM-ді істету үшін пайдалы кеңестер талқыланады. Жалпы, егер сізде GDM-ді қолдануда мәселе туындаса, қате туралы хабар жібере аласыз немесе gdm-list тарату тізіміне электрондық хат жібере аласыз. Мұны қалай істеу керектігі туралы ақпарат құжаттың «Кіріспе» бөлімінде берілген.

Егер GDM дұрыс жұмыс істемесе, әрқашан жөндеу ақпаратын қосу жақсы идея. Жөндеуді іске қосу үшін `<etc>/gdm/custom.conf` файлында debug/Enable кілтін «true» мәніне орнатып, GDM-ді қайта іске қосыңыз. Содан кейін GDM-ді сәтсіздікке ұшыраған нүктеге дейін қолданыңыз, сонда жөндеу шығысы жүйелік журнал файлына (операциялық жүйеңізге байланысты `<var>/log/messages` немесе `<var>/adm/messages`) жіберіледі. Егер сіз бұл шығысты GDM қауымдастығымен қате туралы есеп немесе электрондық хат арқылы бөліссеңіз, бүкіл файлды емес, тек GDM-ге қатысты жөндеу ақпаратын ғана қосыңыз, себебі ол өте үлкен болуы мүмкін. Егер сіз GDM syslog шығысын көрмесеңіз, syslog-ты баптауыңыз қажет болуы мүмкін (syslog қолданылу бетіне жүгініңіз).

### GDM іске қосылмайды

GDM-нің іске қосылмауына көптеген мәселелер себеп болуы мүмкін, бірақ бұл бөлімде бірнеше жалпы мәселелер және GDM-нің іске қосылуына қатысты мәселені қалай қадағалау керектігі талқыланады. Кейбір мәселелер GDM іске қосылуға тырысқанда қате хабарламасын немесе сұхбат терезесін шығаруына әкеледі, бірақ GDM ешқандай хабарламасыз іске қосылмаған жағдайда мәселелерді қадағалау қиын болуы мүмкін.

Алдымен Xserver-дің дұрыс бапталғанына көз жеткізіңіз. GDM конфигурация файлында [server-Standard] бөлімінде Xserver-ді іске қосу үшін қолданылатын команда бар. Бұл команданың жүйеңізде жұмыс істейтінін тексеріңіз. Осы команданы консольден орындау Xserver-ді іске қосуы тиіс. Егер ол сәтсіз аяқталса, мәселе Xserver конфигурациясында болуы мүмкін. Мәселенің не екенін білу үшін Xserver қателер журналына жүгініңіз. Мәселе сонымен қатар Xserver-ге басқа командалық жол опциялары қажет болуында болуы мүмкін. Олай болса, GDM конфигурация файлындағы Xserver командасын жүйеңіз үшін дұрыс болатындай етіп өзгертіңіз.

Сондай-ақ `/tmp` бумасының иесі мен рұқсаттары дұрыс екеніне және машинаның файлдық жүйесі толып қалмағанына көз жеткізіңіз. Бұл мәселелер GDM-нің іске қосылмауына әкеледі.

## Лицензия

Бұл бағдарлама еркін бағдарламалық қамтама болып табылады; сіз оны Еркін бағдарламалық қамтама қоры (Free Software Foundation) жариялаған GNU General Public License шарттарына сәйкес қайта тарата аласыз және/немесе өзгерте аласыз; Лицензияның 2-нұсқасы немесе (өз қалауыңыз бойынша) кез келген кейінгі нұсқасы.

Бұл бағдарлама пайдалы болады деген үмітпен таратылады, бірақ ЕШҚАНДАЙ КЕПІЛДІКСІЗ; тіпті САТУҒА ЖАРАМДЫЛЫҚ немесе БЕЛГІЛІ БІР МАҚСАТҚА СӘЙКЕСТІК туралы жанама кепілдіксіз. Қосымша мәліметтерді GNU General Public License лицензиясынан қараңыз.

GNU General Public License көшірмесі GNOME пайдаланушы нұсқаулығына қосымша ретінде енгізілген. Сондай-ақ GNU General Public License көшірмесін Еркін бағдарламалық қамтама қорынан олардың веб-сайтына кіру арқылы немесе

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

мекенжайына хат жазу арқылы ала аласыз