<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.26.0">
<!ENTITY date "02/10/2009">
<!ENTITY mdash "&#8212;">
<!ENTITY percnt "&#x0025;">
]>
<article id="index" lang="en">
  <articleinfo>
    <title>Посібник з менеджера дисплеїв середовища Gnome</title>

    <revhistory>
      <revision>
        <revnumber>0.0</revnumber>
        <date>2008-09</date>
      </revision>
    </revhistory>

    <abstract role="description">
      <para>GDM - менеджер дисплеїв GNOME, графічна програма входу у сеанс.</para>
    </abstract>

    <authorgroup>
      <author>
        <firstname>Martin</firstname><othername>K.</othername>
           <surname>Petersen</surname>
        <affiliation>
          <address><email>mkp@mkp.net</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>George</firstname><surname>Lebl</surname>
        <affiliation>
          <address><email>jirka@5z.com</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>Jon</firstname><surname>McCann</surname>
        <affiliation>
          <address><email>mccann@jhu.edu</email></address>
        </affiliation>
      </author>
      <author>
        <firstname>Ray</firstname><surname>Strode</surname>
        <affiliation>
          <address><email>rstrode@redhat.com</email></address>
        </affiliation>
      </author>
      <author role="maintainer">
        <firstname>Brian</firstname><surname>Cameron</surname>
        <affiliation>
          <address><email>Brian.Cameron@Oracle.COM</email></address>
        </affiliation>
      </author>
    </authorgroup>
    <copyright>
      <year>1998</year>
      <year>1999</year>
      <holder>Martin K. Petersen</holder>
    </copyright>
    <copyright>
      <year>2001</year>
      <year>2003</year>
      <year>2004</year>
      <holder>George Lebl</holder>
    </copyright>
    <copyright>
      <year>2003</year>
      <year>2007</year>
      <year>2008</year>
      <holder>Red Hat, Inc.</holder>
    </copyright>
    <copyright>
      <year>2003</year>
       <year>2011</year>
       <holder>Oracle and/or its affiliates. All rights reserved.</holder>
    </copyright>

    

    <releaseinfo>У посібнику описується менеджер дисплеїв середовища Gnome версії 2.26.0. Останній раз оновлювався 02 жовтня 2009 року.</releaseinfo>  
  </articleinfo>

  <!-- ============= Preface ================================== -->

  <sect1 id="preface">
    <title>Терміни та домовленості використані у цьому посібнику</title>

    <para>У посібнику описується менеджер дисплеїв середовища Gnome версії 2.26.0. Останній раз оновлювався 02 жовтня 2009 року.</para>  

    <para>
      Chooser - A program used to select a remote host for managing a
      display remotely on the attached display (<command>gdm-host-chooser</command>).
    </para>

    <para>
      FreeDesktop - The organization providing desktop standards, such as the
      Desktop Entry Specification used by GDM.
      <ulink type="http" url="http://www.freedesktop.org/">
      http://www.freedesktop.org</ulink>.
    </para>
    <para>GDM - менеджер дисплеїв середовища GNOME (Gnome Display Manager). Назва використовується при посиланні на програмний пакет взагалі.</para>

    <para>
      Greeter - The graphical login window (provided by <command>gnome-shell</command>).
    </para>

    <para>PAM - механізм модульної автентифікації</para>

    <para>XDMCP - протокол керування дисплеєм X</para>

    <para>
      Xserver - An implementation of the X Window System.  For example the
      Xorg Xserver provided by the X.org Foundation
      <ulink type="http" url="http://www.x.org/">http://www.x.org</ulink>.
    </para>

    <para>
      Paths that start with a word in angle brackets are relative to the
      installation prefix. I.e. <filename>&lt;share&gt;/pixmaps/</filename>
      refers to <filename>/usr/share/pixmaps</filename> if GDM was
      configured with <command>--prefix=/usr</command>.
    </para>
  </sect1>

  <!-- ============= Overview ================================= -->

  <sect1 id="overview">
    <title>Огляд</title>

    <sect2 id="introduction">
      <title>Введення</title>

      <para>GDM - менеджер дисплею для GNOME, у якому реалізовано більшість функцій, що вимагаються для керування локальними та віддаленими дисплеями. GDM створено "з чистого аркуша" та він не містить оригінального коду XDM / X Consortium.</para>

      <para>Зауважте, що GDM є придатним до налаштовування, а багато параметрів налаштувань стосуються захисту системи. Проблеми, на які слід звернути увагу, висвітлено у цьому документі.</para> 

      <para>Будь ласка, зверніть увагу на те, що у деяких операційних системах GDM налаштовано на поведінку, які відрізняється від типових значень, які описано у цьому документі. Якщо GDM поводить себе не так, як документовано, вам слід перевірити, чи відрізняються відповідні налаштування від описаних тут.</para>

      <para>
        For further information about GDM, refer to the project website at
        <ulink type="http" url="http://wiki.gnome.org/Projects/GDM/">
        http://wiki.gnome.org/Projects/GDM</ulink>.
      </para>

      <para>
        For discussion or queries about GDM, refer to the discussion forum at
        <ulink type="http" url="https://discourse.gnome.org/tag/gdm">
        https://discourse.gnome.org/tag/gdm</ulink>.
        The archives of the previous mailing list are also a good resource to
        check to seek answers to common questions. The list was archived at
        <ulink type="http" url="https://mail.gnome.org/archives/gdm-list/">
        https://mail.gnome.org/archives/gdm-list/</ulink> and has a search
        facility to look for messages with keywords.
      </para>

      <para>
        Please submit any bug reports or enhancement requests to
        <ulink type="http" url="https://gitlab.gnome.org/GNOME/gdm/-/issues/">
        https://gitlab.gnome.org/GNOME/gdm/-/issues/</ulink>.
      </para>
    </sect2>

    <sect2 id="stability">
      <title>Стабільність інтерфейсу</title>

      <para>У GDM 2.20 і попередніх версіях підтримувалася стабільність інтерфейсів налаштувань. Втім, у версії GDM 2.22 код було повністю переписано — його повну сумісність із попередніми версіями було втрачено. Почасти, причиною цього є те, що він працює інакше, отже деякі параметри втратили сенс, деякі ніколи не мали сенсу, а функціональні можливості, які було пов'язано із деякими параметрами, ще не було реалізовано.</para>

      <para>
        Interfaces which continue to be supported in a stable fashion include
        the Init, PreSession, PostSession, PostLogin, and Xsession scripts.
        Some daemon configuration options in the 
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file continue to be
        supported.  Also, the <filename>~/.dmrc</filename>, and face browser
        image locations are still supported.
      </para>

      <para>У GDM 2.20 та попередніх версіях було передбачено можливість керувати декількома дисплеями із окремими графічними картками, такими, які використовуються у середовищах термінальних серверів, вхід у вікні за допомогою програми, подібної до Xnest або Xephyr, програма gdmsetup, теми вітання на основі XML та можливість запускати засіб вибору XDMCP з вікна вітання. Ці можливості не було додано під час переписування у версії 2.22.</para>

    </sect2>

    <sect2 id="functionaldesc">
      <title>Функціональний опис</title>

<!--
<para>
        TODO - Would be good to discuss D-Bus, perhaps the new GObject model,
               and to explain the reasons why the rewrite made GDM better.
               From a high-level overview perspective, rather than the
               technical aspects.
</para>
-->

      <para>GDM відповідає за керування дисплеями у системі. Це стосується розпізнавання користувачів, запуску сеансів користувачів та переривання сеансів користувачів. GDM можна налаштовувати. Способи налаштовування описано у розділі «Налаштовування GDM» цього документа. Крім того, у GDM передбачено засоби доступності для користувачів із обмеженими можливостями.</para>

      <para>GDM надає можливість керувати дисплеєм головної консолі та дисплеями, які запущено за допомогою віртуальних терміналів. Його інтегровано із іншими програмами, зокрема Fast User Switch Applet (FUSA) та gnome-screensaver для керування декількома дисплеями на консолі за допомогою інтерфейсу віртуального термінала Xserver. Він також може керувати дисплеями XDMCP.</para>

      <para>
        Regardless of the display type, GDM will do the following when it
        manages the display.  It will start an Xserver process, then run the
        <filename>Init</filename> script as the root user, and start the
        greeter program on the display.
      </para>

      <para>
        The greeter program is run as the unprivileged "gdm"
        user/group.  This user and group are described in the
        "Security" section of this document.  The main functions of
        the greeter program are to provide a mechanism for selecting
        an account for log in and to drive the dialogue between
        the user and system when authenticating that account. The authentication
        process is driven by Pluggable Authentication Modules (PAM).  The PAM
        modules determine what prompts (if any) are shown to the user to
        authenticate.  On the average system, the greeter program will request
        a username and password for authentication.  However some systems may
        be configured to use supplemental mechanisms such as a fingerprint or
        SmartCard readers. GDM can be configured to support these
        alternatives in parallel with greeter login extensions and the
        <command>--enable-split-authentication</command>
        <filename>./configure</filename> option, or one at a
        time via system PAM configuration.
      </para>

      <para>
         The smartcard extension can be enabled or disabled via the
         <filename>org.gnome.display-manager.extensions.smartcard.active</filename>
         gsettings key.
      </para>

      <para>
         Likewise, the fingerprint extension can be enabled or disabled via the
         <filename>org.gnome.display-manager.extensions.fingerprint.active</filename>
         gsettings key.
      </para>

      <para>GDM і PAM можна налаштувати так, щоб вхід до системи не обумовлювався ніякими діями користувача, тобто GDM виконував автоматичних вхід до системи і просто розпочинав сеанс — це може бути корисним для деяких середових, зокрема систем із одним користувачем або електронних кіосків.</para>

      <para>
        In addition to authentication, the greeter program allows the user to
        select which session to start and which language to use.  Sessions are
        defined by files that end in the .desktop suffix and more information
        about these files can be found in the "GDM User Session and Language
        Configuration" section of this document.  By default, GDM is configured
        to display a face browser so the user can select their user account by
        clicking on an image instead of having to type their username. GDM
        keeps track of the user's default session and language in the user's
        <filename>~/.dmrc</filename> and will use these defaults if the user
        did not pick a session or language in the login GUI.
      </para>

      <para> 
        After authenticating a user, the daemon runs the
        <filename>PostLogin</filename> script as root, then runs the  
        <filename>PreSession</filename> script as root.  After running these
        scripts, the user session is started.  When the user exits their 
        session, the <filename>PostSession</filename> script is run as root.
        These scripts are provided as hooks for distributions and end-users
        to customize how sessions are managed.  For example, using these 
        hooks you could set up a machine which creates the user's $HOME
        directory on the fly, and erases it on logout.  The difference 
        between the <filename>PostLogin</filename> and
        <filename>PreSession</filename> scripts is that
        <filename>PostLogin</filename> is run before the pam_open_session call
        so is the right place to do anything which should be run before the
        user session is initialized.  The <filename>PreSession</filename>
        script is called after session initialization.
      </para>
    </sect2>

    <sect2 id="greeterpanel">
      <title>Панель вітання</title>
      <para>Програма вітання GDM показує панель, яку пришвартовано у нижній частині екрана і яка надає у ваше розпорядження додаткові функціональні можливості. Якщо вибрано користувача, панель надає змогу користувачеві вибрати, який сеанс, мову і розкладку клавіатури слід використовувати після входу до системи. Засіб вибору розкладки клавіатури змінює розкладку, у якій вводитиметься ваш пароль. Крім того, на панелі міститься область для служб входу до системи, де вони можуть розташовувати піктограми стану. Прикладами піктограм стану є піктограма акумулятора для показу поточного стану заряду акумулятора та піктограма для вмикання можливостей доступності. Також програма вітання забезпечує роботу кнопок, за допомогою яких користувач може вимикати або перезапускати систему. GDM можна налаштувати так, щоб кнопки вимикання і перезапуску не було показано, якщо ви так хочете. Крім того, GDM можна налаштувати з використанням PolicyKit (або RBAC у Oracle Solaris) так, щоб програма вимагала від користувача належного уповноваження у системі, перш ніж приймати запит щодо вимикання або перезапуску.</para>

      <para>Зауважте, що можливості розкладки клавіатури доступі лише у системах із підтримкою libxklavier.</para>
    </sect2>

    <sect2 id="accessibility">
      <title>Спеціальні можливості</title>

        <para>У GDM передбачено підтримку «Доступного входу», за допомогою якого користувачі можуть входити до сеансу стільничного середовища, навіть якщо їм непросто користуватися екраном, мишею або клавіатурою у звичайний спосіб. Можна скористатися можливостям доступних технологій, зокрема екранною клавіатура, засобом читання з екрана, екранною лупа та засобами доступності клавіатури AccessX Xserver. Також можна увімкнути збільшення тексту або висококонтрастні піктограми та засоби керування, якщо потрібно. Зверніться до розділу «Налаштовування доступності» цього підручника, щоб дізнатися більше про різноманітні можливості доступності, які можна налаштувати.</para>

        <para>У деяких операційних системах слід переконатися, що користувач GDM є учасником групи «audio», щоб програми доступності, які потребують виведення звукових даних (зокрема програми озвучення тексту) могли працювати належним чином.</para>
    </sect2>

    <sect2 id="facebrowser">
      <title>Переглядач портретів GDM</title>

      <para>Переглядач портретів — інтерфейс, за допомогою якого користувачі можуть вибирати обліковий запис клацанням на зображенні. Цю можливість можна увімкнути або вимкнути за допомогою ключа GSettings org.gnome.login-screen disable-user-list. Типово, її увімкнено. Якщо можливість вимкнено, користувачам доведеться вводити ім'я користувача повністю вручну. Якщо можливість увімкнено, буде показано список усіх локальних користувачів, від імені яких можна увійти до системи (усіх облікових записів користувачів, які визначено у файлі /etc/passwd, які мають коректний запис оболонки і достатньо велике значення UID), і віддалених користувачів, які нещодавно входили до системи. Переглядач портретів у GDM 2.20 та попередніх версіях намагався показати усіх віддалених користувачів, що спричиняло проблеми зі швидкодією у великих промислових конфігураціях.</para>

      <para>Переглядач портретів налаштовано на показ зображень користувачів, які найчастіше входять до системи, на початку списку. Це спрощує швидке знаходження потрібного зображення користувачами, які найчастіше працюють у системі.</para>

      <para>У Переглядачі портретів передбачено підтримку «випереджального пошуку під час введення» — алгоритму, який динамічно переводить позначення зображення паралельно із введенням користувачем відповідного імені користувача зі списку. Це означає, що користувач із довгим іменем може ввести лише декілька перших літер у назві облікового запису, а програма автоматично вибере належний пункт у списку.</para>

      <para>
        The icons used by GDM can be installed globally by the sysadmin or can
        be located in the user's home directories.  If installed globally
        they should be in the <filename>&lt;share&gt;/pixmaps/faces/</filename>
        directory and the filename should be the name of the user.  Face image
        files should be a standard image that GTK+ can read, such as PNG or
        JPEG.  Face icons placed in the global face directory must be readable
        to the GDM user.
      </para>

<!--
<para>
        TODO - In the old GDM the ~/gnome2/gdm file is used, but the new code
               seems to use ~/.gnome/gdm.  Error?
</para>
-->
      <para>
        If there is no global icon for the user, GDM will look in the user's
        $HOME directory for the image file.  GDM will first look for the user's
        face image in <filename>~/.face</filename>.  If not found, it will try 
        <filename>~/.face.icon</filename>.  If still not found, it will use the
        value defined for "face/picture=" in the 
        <filename>~/.gnome2/gdm</filename> file.
      </para>

      <para>Якщо для користувача не визначено зображення обличчя, GDM скористається піктограмою «stock_person», яку визначено у поточній темі GTK+. Якщо таке зображення не визначено, програма скористається резервним типовим зображенням обличчя.</para>

      <para>Будь ласка, зауважте, що завантаження і масштабування піктограм облич, які зберігаються у віддалених домашніх каталогах користувачів є доволі витратним з точки зору часу. Оскільки завантаження зображень за допомогою NIS або NFS не є доцільним, GDM не робитиме спроб завантажити зображення облич з віддалених домашніх каталогів.</para>

      <para>Якщо переглядач увімкнено, коректні імена користувачів комп'ютера буде показано будь-кому. Якщо увімкнено XDMCP, імена користувачів буде показано віддаленим користувачам. Це, звичайно ж, дещо послаблює захист системи, оскільки зловмиснику не доведеться вгадувати коректні імена користувачів системи. У деяких середовищах із суворими правилами безпеки переглядач портретів може бути неприйнятним до використання.</para>

    </sect2>

    <sect2 id="xdmcp">
      <title>XDMCP</title>

<!--
<para>
        TODO - What XDMCP features actually work?   I know that the
               chooser is missing.
</para>
-->

      <para>Фонову службу GDM можна налаштувати на очікування та керування запитами X Display Manage Protocol (XDMCP) з віддалених комп'ютерів. Типово, підтримку XDMCP вимкнено, але, якщо потрібно, її можна увімкнути. Якщо GDM зібрано із підтримкою обгортки TCP, фонова служба надаватиме доступ лише вузлам, які вказано у розділі служби GDM у файлі налаштувань обгорток TCP.</para>

      <para>GDM включає декілька заходів, які роблять його більш стійким до атак типу «відмова у обслуговуванні» на службу XDMCP. Можна налаштувати значну кількість параметрів протоколу, час очікування з'єднання тощо. Типові налаштування мають добре працювати у більшості систем.</para>

      <para>Типово, GDM очікує на запити XDMCP на звичайному порту UDP, який використовується для XDMCP, порту 177, і відповідає на запити QUERY і BROADCAST_QUERY надсиланням пакета WILLING на комп'ютер, з якого походить запит.</para>

      <para>GDM можна налаштувати на обробку INDIRECT запитів та відображення селектора вузлів на віддаленому дисплеї. GDM запам'ятовує вибір користувача та пересилає наступні запити вибраному менеджеру. GDM також підтримує розширення до протоколу, яке змушує забути про перенаправлення одразу після успішного з'єднання користувача. Це розширення підтримується якщо з обох сторін сервери GDM. Розширення прозоре і ігнорується XDM та іншими серверами, що підтримують XDMCP.</para>

      <para>
        If XDMCP seems to not be working, make sure that all machines are
        specified in <filename>/etc/hosts</filename>.
      </para>

      <para>Зверніться до розділу «Безпека», щоб дізнатися більше про проблеми захисту при використанні XDMCP.</para>
    </sect2>

    <sect2 id="logging">
      <title>Реєстрація подій</title>

      <para>
        GDM uses syslog to log errors and status.  It can also log debugging
        information, which can be useful for tracking down problems if GDM is
        not working properly.  Debug output can be enabled by setting the
        debug/Enable key to "true" in the
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file.
      </para>

      <para>
        Output from the various Xservers is stored in the GDM log directory,
        which is normally <filename>&lt;var&gt;/log/gdm/</filename>.  Any
        Xserver messages are saved to a file associated with the display value,
        <filename>&lt;display&gt;.log</filename>.  
      </para>

      <para>
        The session output is piped through the GDM daemon to the
        <filename>~/<replaceable>$XDG_CACHE_HOME</replaceable>/gdm/session.log</filename>
        file which usually expands to <filename>~/.cache/gdm/session.log</filename>.
        The file is overwritten on each login, so logging out and logging back
        into the same user via GDM will cause any messages from the previous
        session to be lost.
      </para>

      <para>
        Note that if GDM can not create this file for some reason, then a
        fallback file will be created named <filename>~/<replaceable>$XDG_CACHE_HOME</replaceable>/gdm/session.log.XXXXXXXX</filename>
        where the <filename>XXXXXXXX</filename> are some random characters.
      </para>
    </sect2>

    <sect2 id="fusa">
      <title>Швидке перемикання користувачів</title>

      <para>GDM уможливлює одночасну роботу у системі декількох користувачів. Після входу до системи одного користувача додаткові користувачі можуть увійти за допомогою механізму перемикання користувачів з панелі GNOME або після натискання кнопки «Перемкнути користувача» у вікні блокування екрана засобу збереження екрана GNOME. Змінити активний сеанс можна за допомогою цього ж механізму. Зауважте, що у деяких дистрибутивах кнопку перемикання користувачів не додають до типової панелі. Додати цю кнопку можна за допомогою контекстного меню панелі.</para>
      <para>Зауважте, що доступ до цієї можливості надається у системах, де є підтримка віртуальних терміналів. Цією можливістю не можна буде скористатися, якщо у системі не реалізовано підтримку віртуальних терміналів.</para>
    </sect2>
  </sect1>

  <!-- ============= Security ================================= -->

  <sect1 id="security">
    <title>Безпека</title>

    <sect2 id="gdmuser">
      <title>Користувач і група GDM</title>

      <para>З міркувань безпеки, для належної роботи рекомендуємо створити спеціалізовані ідентифікатори користувача і групи. У більшості системи цим користувачем і групою є «gdm», але можна вказати будь-якого користувача і будь-яку групу. Усі програми GDM із графічним інтерфейсом буде запущено від імені цього користувача — усі програми, які взаємодіятимуть із користувачем буде запущено у певній «пісочниці». Відповідний користувач та група повинні мати доволі обмежені права доступу.</para>

      <para>
        The only special privilege the "gdm" user requires is the
        ability to read and write Xauth files to the
        <filename>&lt;var&gt;/run/gdm</filename> directory.  The
        <filename>&lt;var&gt;/run/gdm</filename> directory should have
        root:gdm ownership and 1777 permissions.
      </para>

      <para>
        You should not, under any circumstances, configure the GDM user/group
        to a user which a user could easily gain access to, such as the user
        <filename>nobody</filename>.  Any user who gains access to an Xauth
        key can snoop on and control running GUI programs running in the
        associated session or perform a denial-of-service attack on it.  It
        is important to ensure that the system is configured properly so that
        only the "gdm" user has access to these files and that it
        is not easy to login to this account.  For example, the account should
        be setup to not have a password or allow non-root users to login to the
        account.
      </para>

      <para>Налаштування програми вітання GDM зберігаються у GConf. Щоб користувач GDM міг записувати налаштування, користувач «gdm» повинен мати придатний до запису каталог $HOME. Користувачі можуть вказати типові налаштування GConf бажаним чином, щоб уникнути потреби у наданні користувачеві «gdm» придатного до запису каталогу $HOME. Втім, деякі можливості GDM може бути вимкнено, якщо програм не зможе записувати дані щодо стану до налаштувань GConf.</para>
    </sect2>

    <sect2 id="PAM">
      <title>PAM</title>

      <para>GDM використовує для розпізнавання при вході PAM. PAM є абревіатурою від Pluggable Authentication Module («вставний модуль розпізнавання»). Ця система використовується у більшості програм, робота яких потребує розпізнавання на вашому комп'ютері. Система надає можливість адміністратору налаштувати специфічну поведінку розпізнавання для різних програм для входу до системи (зокрема ssh, графічної оболонки входу до системи, зберігача екрана тощо).</para>

      <para>PAM є складною і гнучкою у налаштуваннях системою — цю документацію не призначено для докладного її опису. Замість цього, ми обмежимося оглядом зв'язку налаштувань PAM із GDM, того, як PAM типово налаштовано для роботи з GDM, та відомих проблем. Ми очікуємо, що ті, хто хоче налаштувати PAM, ознайомляться із документацією до PAM для того, щоб зрозуміти, як налаштувати PAM, і ознайомитися із значенням термінів, які використано у цьому розділі.</para>
        
      <para>
        PAM configuration has different, but similar, interfaces on different
        Operating Systems, so check the
        <ulink type="help" url="man:pam.d">pam.d</ulink> or
        <ulink type="help" url="man:pam.conf">pam.conf</ulink> man page for
        details.  Be sure you read the PAM documentation and are comfortable
        with the security implications of any changes you intend to make to
        your configuration.
      </para>

      <para>Зауважте, що, типово, GDM використовує назву служби PAM «gdm» для звичайного входу до системи і назву служби PAM «gdm-autologin» для автоматичного входу системи. Ці служби не можна визначати у вашому pam.d або налаштованому файлі pam.conf. Якщо не буде запису, GDM використовуватиме типову поведінку PAM. У більшості систем усе в такому випадку працюватиме як слід. Втім, можливість автоматичного входу може не працювати, якщо службу gdm-autologin не буде визначено.</para>

      <para>
        The <filename>PostLogin</filename> script is run before
        pam_open_session is called, and the <filename>PreSession</filename>
        script is called after.  This allows the system administrator to add
        any scripting to the login process either before or after PAM 
        initializes the session.
      </para>

      <para>Якщо ви хочете зробити так, щоб GDM працював із іншими типами механізмів розпізнавання (зокрема відбитками пальців або інструментарієм для читання SmartCard), вам слід реалізувати це використанням модуля служби PAM для бажаного типу розпізнавання, а не намагатися модифікувати код GDM безпосередньо. Зверніться до документації з PAM у вашій системі.</para>

      <para>У PAM є деякі обмеження щодо можливості працювати зі декількома типами розпізнавання одночасно, зокрема підтримкою одночасної можливості приймати одночасно смарт-картку та можливості вводити ім'я користувача і пароль у програмі для входу до системи. Існують методики забезпечення працездатності таких схем, тому варто ознайомитися із типовими рішенням проблеми, якщо ви маєте намір скористатися подібними конфігураціями.</para>

      <para>Якщо у системі не працює автоматичний вхід, перевірте, чи визначено стек PAM «gdm-autologin» у налаштуваннях PAM. Щоб це спрацювало, необхідно скористатися модулем PAM, який просто не виконує розпізнавання або який просто повертає PAM_SUCCESS для усіх його загальнодоступних інтерфейсів. Припускаючи, що у вашій системі є модуль PAM pam_allow.so, який виконує це завдання, налаштування PAM для уможливлення роботи «gdm-autologin» мають виглядати якось так:</para>

<screen>
       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
</screen>

      <para>Якщо скористатися наведеними вище налаштуваннями, запис lastlog не буде створено. Якщо вам потрібен запис lastlog, скористайтеся таким для сеансу:</para>

<screen>
       gdm-autologin session required pam_unix_session.so.1
</screen>

      <para>Якщо комп'ютером користуються декілька осіб, що робить автоматичний вхід до системи непридатним, може виникнути потреба у забезпеченні входу до облікових записів деяких користувачів без введення пароля. Цю можливість можна увімкнути на рівні параметра запису користувача за допомогою програми users-admin з пакунка gnome-system-tools. Досягти потрібного результату можна перевіркою того, чи є користувач учасником групи Unix із назвою «nopasswdlogin» перед тим, як йому буде надіслано запит щодо пароля. Щоб це спрацювало, файл налаштувань PAM для служби «gdm» має включати рядок, подібний до такого:</para>

<screen>
      gdm auth  sufficient  pam_succeed_if.so  user ingroup nopasswdlogin
</screen>

    </sect2>

    <sect2 id="utmpwtmp">
      <title>utmp і wtmp</title>

      <para>
        GDM generates utmp and wtmp User Accounting Database entries upon
        session login and logout.  The utmp database contains user access
        and accounting information that is accessed by commands such as
        <command>finger</command>, <command>last</command>,
        <command>login</command>, and <command>who</command>.  The wtmp
        database contains the history of user access and accounting 
        information for the utmp database.  Refer to the 
        <ulink type="help" url="man:utmp">utmp</ulink> and
        <ulink type="help" url="man:wtmp">wtmp</ulink>
        man pages on your system for more information.
      </para>
    </sect2>

    <sect2 id="xauth">
      <title>Схема аутентифікації X-серверів</title>

      <para>
        Xserver authorization files are stored in a newly created subdirectory
        of <filename>&lt;var&gt;/run/gdm</filename> at start up.  These files
        are used to store and share a "password" between X clients
        and the Xserver.  This "password" is unique for each session
        logged in, so users from one session can't snoop on users from another.
      </para>

      <para>GDM підтримує лише систему автентифікації MIT-MAGIC-COOKIE-1. Зазвичай від інших схем користі не набагато більше, тому до цих пір не було вжито зусиль для їх реалізації. При використанні XDMCP слід бути особливо обережним, тому що cookie передаються по мережі у незмінному вигляді. Якщо можливе прослуховування лінії зв'язку, тоді нападник може просто отримати ваш пароль під час реєстрації, незалежно від схеми автентифікації. Якщо прослуховування можливе але небажане, тоді використовуйте ssh для тунелювання X з'єднань, замість використання XDMCP. Ви можете розглядати XDMCP як графічний telnet, який має ті ж самі властивості безпеки. У більшості випадків слід надавати перевагу ssh -Y перед можливостями XDMCP GDM.</para>

    </sect2>

    <sect2 id="xdmcpsecurity">
      <title>Безпека XDCMP</title>

      <para>Хоча ваш дисплей захищено куками, XEvents і, отже, натискання клавіш при введенні паролів проходять крізь дроти з'єднання апаратури без шифрування. Доволі просто перехопити ці дані.</para>

      <para>Головним чином XDMCP використовується для тонких клієнтів у лабораторних умовах. Цім тонким клієнтам для доступу до сервера необхідна лише мережа, та, здається, найкращою політикою безпеки буде тримати їх у окремій мережі, до якої неможливо отримати доступ із зовнішнього світу, а зв'язок є лише з сервером. Єдиною точкою доступу до зовнішнього світу повинен бути сервер. У цьому типі налаштувань ніколи не слід використовувати некерований концентратор або іншу придатну до вивчення ззовні мережу.</para>

    </sect2>

    <sect2 id="xdmcpaccess">
      <title>Контроль доступу XDMCP</title>

      <para>Керування доступом XDMCP виконується за допомогою обгорток TCP. Можна зібрати GDM без підтримки обгортки TCP, тому у деяких операційних системах підтримки цієї можливості не передбачено.</para>

      <para>
        You should use the daemon name <command>gdm</command> in the
        <filename>&lt;etc&gt;/hosts.allow</filename> and
        <filename>&lt;etc&gt;/hosts.deny</filename> files.  For example to 
        deny computers from <filename>.evil.domain</filename> from logging in,
        then add
      </para>
<screen>
gdm: .evil.domain
</screen>
      <para>
        to <filename>&lt;etc&gt;/hosts.deny</filename>.  You may also need
        to add
      </para>
<screen>
gdm: .your.domain
</screen>
      <para>
        to your <filename>&lt;etc&gt;/hosts.allow</filename> if you normally
        disallow all services from all hosts.  See the
        <ulink type="help" url="man:hosts.allow">hosts.allow(5)</ulink> man
        page for details.
      </para>
    </sect2>

    <sect2 id="firewall">
      <title>Захист брандмауером</title>

      <para>Хоча GDM намагається ввести в оману потенційних нападників, рекомендується блокувати XDMCP (UDP порт 177) на вашому брандмауері, якщо він вам не потрібен. GDM протидіє DoS атакам (атаки типу відмови у обслуговуванні), але X протоколу властиві успадковані вади безпеки, тому його слід використовувати у контрольованому оточенні. Також кожне віддалене з'єднання споживає багато ресурсів, тому набагато простіше викликати відмову обслуговування XDMCP сервера, ніж, скажімо, у веб-сервера.</para>

      <para>Також буде розумно блокувати на брандмауері всі порти X сервера (TCP порт 6000 + номер дисплею). Зауважте, що різні частини GDM використовують дисплеї з номером 20 та більше (наприклад, при запуску серверів за вимогою).</para>

      <para>X не є дуже безпечним протоколом, якщо користуватися ним для зв'язку інтернетом, а XDMCP є ще менш безпечним протоколом.</para>
    </sect2>

    <sect2 id="policykit">
      <title>PolicyKit</title>

<!--
<para>
        TODO - Should we say more?
</para>
-->

      <para>GDM можна налаштувати на використання PolicyKit для уможливлення для системних адміністраторів керувати тим, чи надаватиме вікно входу до системи доступ до кнопок вимикання та перезапуску системи у вікні програми вітання.</para>

      <para>
        These buttons are controlled by the
        <filename>org.freedesktop.consolekit.system.stop-multiple-users</filename>
        and
        <filename>org.freedesktop.consolekit.system.restart-multiple-users</filename>
        actions respectively.  Policy for these actions can be set up using the
        polkit-gnome-authorization tool, or the polkit-auth command line program.
      </para>
 
    </sect2>

    <sect2 id="rbac">
      <title>RBAC (Role Based Access Control)</title>

      <para>GDM можна налаштувати на використання RBAC замість PolicyKit. У цьому випадку для уможливлення для системних адміністраторів керувати тим, чи надаватиме вікно входу до системи доступ до кнопок вимикання та перезапуску системи у вікні програми вітання, буде використано RBAC.</para>

      <para>
        For example, on Oracle Solaris, the "solaris.system.shutdown"
        authorization is used to control this.  Simply modify the 
        <filename>/etc/user_attr</filename> file so that the "gdm"
        user has this authorization.
      </para>
    </sect2>

  </sect1>

  <!-- ============= ConsoleKit ================================ -->

  <sect1 id="consolekit">
    <title>Підтримка ConsoleKit</title>

<!--
<para>
    TODO - Should we update these docs?  Probably should mention any 
           configuration that users may want to do for using it with GDM?
           If so, perhaps this section should be moved to a subsection of
           the "Configure" section?
</para>
-->

    <para>До GDM включено підтримку оприлюднення даних щодо входу користувачів та обліку сеансів у форматі бібліотеки, яка має назву ConsoleKit. ConsoleKit може стежити за усіма користувачами, які працюють у системі. У цьому сенсі нею можна скористатися як замінником файлів utmp і utmpx, які доступні у більшості Unix-подібних операційних системах.</para>

    <para>Коли GDM збирається створити процес входу до системи для користувача, програма викликає привілейований метод ConsoleKit з метою відкрити новий сеанс для цього користувача. На цей момент GDM також надає ConsoleKit відомості щодо цього сеанс користувача, зокрема такі: ідентифікатор користувача, показане ім'я X11, які буде пов'язано із сеансом, назву вузла, з якого походить сеанс (корисно у випадку сеансу XDMCP), чи є сеанс долученим тощо. Як елемент, який ініціює процес користувача, GDM перебуває в унікальному стані щодо визначення параметрів сеансу користувача і довіри для надання цієї частини даних. Використання цього привілейованого методу обмежено використанням правил безпеки каналу системних повідомлень D-Bus.</para>

    <para>Якщо користувач із наявним сеансом пройшов розпізнавання у GDM і надсилає запити щодо поновлення наявного сеансу, GDM викликає привілейований метод ConsoleKit для розблокування сеансу. Дії, які відбуваються, коли сеанс отримує цей сигнал розблокування, не визначено точно — вони залежать від сеансу. Втім, у більшості сеансів відбувається розблокування зберігача екрана.</para>

    <para>Якщо користувач виходить з облікового запису або якщо GDM або сеанс несподівано завершує роботу, реєстрацію сеансу користувача у ConsoleKit буде скасовано.</para>
  </sect1>

  <!-- ============= Configuration ============================= -->

  <sect1 id="configuration">
    <title>Налаштовування</title>

    <para>У GDM передбачено декілька інтерфейсів налаштовування. Серед них точки інтеграції скриптів, налаштовування фонових служб, налаштовування програми вітання, загальні параметри сеансу, налаштовування інтеграції gnome-settings-daemon та налаштовування сеансу. Ці типи інтеграції докладно описано нижче.</para>

    <sect2 id="scripting">
      <title>Точки інтеграції скриптів</title>
      
      <para>
        The GDM script integration points can be found in the
        <filename>&lt;etc&gt;/gdm/</filename> directory:
      </para>

<screen>
Xsession
Init/
PostLogin/
PreSession/
PostSession/
</screen>

      <para>
        The <filename>Init</filename>, <filename>PostLogin</filename>,
        <filename>PreSession</filename>, and <filename>PostSession</filename>
        scripts all work as described below.
      </para>

      <para>
        For each type of script, the default one which will be executed is
        called "Default" and is stored in a directory associated with
        the script type.  So the default <filename>Init</filename> script is 
        <filename>&lt;etc&gt;/gdm/Init/Default</filename>.  A per-display
        script can be provided, and if it exists it will be run instead of the 
        default script.  Such scripts are stored in the same directory as the
        default script and have the same name as the Xserver DISPLAY value for
        that display.  For example, if the <filename>&lt;Init&gt;/:0</filename>
        script exists, it will be run for DISPLAY ":0".
     </para>

     <para>Усі ці скрипти запускаються із правами доступу root і повертають 0, якщо їх виконано успішно, і ненульовий код повернення, якщо станеться якась помилка, яка спричинила переривання сеансу входу до системи. Також зауважте, що GDM блокуватиметься, аж доки скрипти не завершать роботу. Тому, якщо якийсь з цих скриптів повисне, це спричинить зависання процесу входу до системи.</para>

      <para>
        When the Xserver for the login GUI has been successfully started, but
        before the login GUI is actually displayed, GDM will run the
        <filename>Init</filename> script.  This script is useful for starting
        programs that should be run while the login screen is showing, or for
        doing any special initialization if required.
      </para>

      <para>
        After the user has been successfully authenticated GDM will run the
        <filename>PostLogin</filename> script.  This is done before any session
        setup has been done, including before the pam_open_session call.  This
        script is useful for doing any session initialization that needs to
        happen before the session starts.  For example, you might setup the
        user's $HOME directory if needed.
      </para>

      <para>
        After the user session has been initialized, GDM will run the
        <filename>PreSession</filename> script.  This script is useful for
        doing any session initialization that needs to happen after the 
        session has been initialized.  It can be used for session management or
        accounting, for example.
      </para>

      <para> 
        When a user terminates their session, GDM will run the
        <filename>PostSession</filename> script.  Note that the Xserver will
        have been stopped by the time this script is run, so it should not be
        accessed.  
      </para>

      <para>
        Note that the <filename>PostSession</filename> script will be run
        even when the display fails to respond due to an I/O error or
        similar. Thus, there is no guarantee that X applications will work
        during script execution.
      </para>

      <para>
        All of the above scripts will set the
        <filename>$RUNNING_UNDER_GDM</filename> environment variable to
        <filename>yes</filename>.  If the scripts are also shared with other
        display managers, this allows you to identify when GDM is calling these
        scripts, so you can run specific code when GDM is used.
      </para>
    </sect2>

    <sect2 id="autostart">
      <title>Налаштовування автозапуску</title>
      
      <para>
        The <filename>&lt;share&gt;/gdm/autostart/LoginWindow</filename>
        directory contains files in the format specified by the
        "FreeDesktop.org Desktop Application Autostart
        Specification".  Standard features in the specification may be
        used to specify programs that should auto-restart or only be launched
        if a GConf configuration value is set, etc.
      </para>

      <para>
        Any <filename>.desktop</filename> files in this directory will cause
        the associated program to automatically start with the login GUI
        greeter.  By default, GDM is shipped with files which will autostart
        the gdm-simple-greeter login GUI greeter itself, the
        gnome-power-manager application, the gnome-settings-daemon, and the
        metacity window manager.  These programs are needed for the greeter
        program to work.  In addition, desktop files are provided for starting
        various AT programs if the configuration values specified in the
        Accessibility Configuration section below are set.
      </para>
    </sect2>

    <sect2 id="xsessionscript">
      <title>Скрипт Xsession</title>

      <para>
        There is also an <filename>Xsession</filename> script located at
        <filename>&lt;etc&gt;/gdm/Xsession</filename> which is called between
        the <filename>PreSession</filename> and the
        <filename>PostSession</filename> scripts.  This script does not
        support per-display like the other scripts.  This script is used for
        actually starting the user session.  This script is run as the user,
        and it will run whatever session was specified by the Desktop session
        file the user selected to start. 
      </para>
    </sect2>

    <sect2 id="daemonconfig">
      <title>Конфігурація сервера</title>

      <para>
        The GDM daemon is configured using the
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file.  Default
        values are stored in GConf in the <filename>gdm.schemas</filename>
        file.  It is recommended that end-users modify the
        <filename>&lt;etc&gt;/gdm/custom.conf</filename> file because the
        schemas file may be overwritten when the user updates their system to
        have a newer version of GDM.
      </para>

      <para>Зауважте, що у застарілих версіях GDM було передбачено додаткові параметри налаштувань, підтримку яких у найновіших версіях GDM не реалізовано.</para>

      <para>
        The <filename>&lt;etc&gt;/gdm/custom.conf</filename> file is in the
        <filename>keyfile</filename> format.  Keywords in brackets
        define group sections, strings before an equal sign (=) are keys and
        the data after equal sign represents their value.  Empty lines or
        lines starting with the hash mark (#) are ignored.  
      </para>

      <para>
        The file <filename>&lt;etc&gt;/gdm/custom.conf</filename> supports the
        "[daemon]", "[security]", and "[xdmcp]"
        group sections.  Within each group, there are particular key/value
        pairs that can be specified to modify how GDM behaves.  For example,
        to enable timed login and specify the timed login user to be a user
        named "you", you would modify the file so it contains the
        following lines:
      </para>
     
<screen>
[daemon]
TimedLoginEnable=true
TimedLogin=you
</screen>

      <para>Нижче наведено повний список підтримуваних ключів налаштувань:</para>

      <sect3 id="choosersection">
        <title>[chooser]</title>
        <variablelist>

          <varlistentry>
            <term>Multicast</term>
            <listitem>
              <synopsis>Multicast=false</synopsis>
              <para>Якщо має значення true та увімкнено IPv6, селектор буде надсилати multicast-запити у локальну мережу та слухати відповідь від вузлів, які входять у multicast-групу.</para>
            </listitem>
          </varlistentry>
         
          <varlistentry>
            <term>MulticastAddr</term>
            <listitem>
              <synopsis>MulticastAddr=ff02::1</synopsis>
              <para>У цьому параметрі вказується multicast.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="daemonsection">
        <title>[daemon]</title>
        <variablelist>
          <varlistentry>
            <term>TimedLoginEnable</term>
            <listitem>
              <synopsis>TimedLoginEnable=false</synopsis>
              <para>
                 If the user given in <filename>TimedLogin</filename> should be
                logged in after a number of seconds (set with
                <filename>TimedLoginDelay</filename>) of inactivity on the
                login screen.  This is useful for public access terminals or
                perhaps even home use.  If the user uses the keyboard or
                browses the menus, the timeout will be reset to 
                <filename>TimedLoginDelay</filename> or 30 seconds, whichever 
                is higher.   If the user does not enter a username but just
                hits the ENTER key while the login program is requesting the
                username, then GDM will assume the user wants to login
                immediately as the timed user.  Note that no password will be
                asked for this user so you should be careful, although if using
                PAM it can be configured to require password entry before
                allowing login.  Refer to the "Security-&gt;PAM"
                section of the manual for more information, or for help if this
                feature does not seem to work.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLogin</term>
            <listitem>
              <synopsis>TimedLogin=</synopsis>
              <para>Це назва облікового запису користувача, якого має бути впущено до системи після вказаної кількості секунд бездіяльності.</para>
              <para>Якщо значення завершуватиметься вертикальною рискою | (символом каналу), GDM виконає вказану програму і використає будь-яке повернуте нею до стандартного виведення значення як назву облікового запису користувача. Програму буде запущено із встановленою змінною середовища DISPLAY, тому можна вказати окремого користувача для окремого дисплея. Наприклад, якщо значенням є «/usr/bin/getloginuser|», буде запущено програму «/usr/bin/getloginuser» для отримання значення назви облікового запису користувача.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLoginDelay</term>
            <listitem>
              <synopsis>TimedLoginDelay=30</synopsis>
              <para>
                Delay in seconds before the <filename>TimedLogin</filename>
                user will be logged in.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLoginEnable</term>
            <listitem>
              <synopsis>AutomaticLoginEnable=false</synopsis>
              <para>
                If true, the user given in <filename>AutomaticLogin</filename>
                should be logged in immediately. This feature is like timed
                login with a delay of 0 seconds.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLogin</term>
            <listitem>
              <synopsis>AutomaticLogin=</synopsis>
              <para>
                This is the user that should be logged in immediately if
                <filename>AutomaticLoginEnable</filename> is true.
              </para>
              <para>Якщо значення завершуватиметься вертикальною рискою | (символом каналу), GDM виконає вказану програму і використає будь-яке повернуте нею до стандартного виведення значення як назву облікового запису користувача. Програму буде запущено із встановленою змінною середовища DISPLAY, тому можна вказати окремого користувача для окремого дисплея. Наприклад, якщо значенням є «/usr/bin/getloginuser|», буде запущено програму «/usr/bin/getloginuser» для отримання значення назви облікового запису користувача.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>User</term>
            <listitem>
              <synopsis>User=gdm</synopsis>
              <para>
                The username under which the greeter and other GUI programs
                are run.  Refer to the <filename>User</filename>
                configuration key and to the "Security-&gt;GDM User And
                Group" section of this document for more information.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Group</term>
            <listitem>
              <synopsis>Group=gdm</synopsis>
              <para>
                The group name under which the greeter and other GUI programs
                are run.  Refer to the <filename>Group</filename>
                configuration key and to the "Security-&gt;GDM User And
                Group" section of this document for more information.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="debugsection">
        <title>Параметри налагоджування</title>
      
        <variablelist>
          <title>[debug]</title>
          
          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para>
                To enable debugging, set the debug/Enable key to
                "true" in the
                <filename>&lt;etc&gt;/gdm/custom.conf</filename>
                file and restart GDM.  Then debug output will be sent to the
                system log file (<filename>&lt;var&gt;/log/messages</filename>
                or <filename>&lt;var&gt;/adm/messages</filename> depending on
                your Operating System).
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="securitysection">
        <title>Параметри безпеки</title>
      
        <variablelist>
          <title>[security]</title>
          
          <varlistentry>
            <term>DisallowTCP</term>
            <listitem>
              <synopsis>DisallowTCP=true</synopsis>
              <para>
                If true, then always append <filename>-nolisten tcp</filename>
                to the command line when starting attached Xservers, thus
                disallowing TCP connection.  This is a more secure
                configuration if you are not using remote connections.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="xdmcpsection">
        <title>Підтримка XDCMP</title>

        <variablelist>
          <title>[xdmcp]</title>
          
          <varlistentry>
            <term>DisplaysPerHost</term>
            <listitem>
              <synopsis>DisplaysPerHost=1</synopsis>
              <para>Щоб нападники не змогли наводнити запитами чергу очікування, GDM допускає одне з'єднання з одного віддаленого комп'ютера. Якщо ви бажаєте надавати дисплей комп'ютерам з більш ніж одним екраном, відповідно слід збільшити це значення.</para>

              <para>Зауважте, що кількість дозволених до долучення дисплеїв не обмежено. Цим параметром налаштувань обмежено лише кількість віддалених з'єднань за допомогою XDMCP.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para>Встановлення значення у true вмикає підтримку XDMCP, що дозволяє керувати GDM віддаленими дисплеями/X-терміналами.</para>
            
              <para>
                <filename>gdm</filename> listens for requests on UDP port 177.
                See the Port option for more information.
              </para>
              
              <para>
                If GDM is compiled to support it, access from remote displays
                can be controlled using the TCP Wrappers library. The service
                name is <filename>gdm</filename>
              </para>
            
              <para>
                You should add 
<screen>
gdm:.my.domain
</screen>
                to your <filename>&lt;etc&gt;/hosts.allow</filename>, depending
                on your TCP Wrappers configuration.  See the
                <ulink type="help" url="man:hosts.allow">hosts.allow</ulink>
                man page for details.
              </para>
              
              <para>Зауважте, що XDMCP не є безпечним протоколом, тому якщо ви не використовуєте UDP-порт 177, його краще заблокувати на вашому брандмауері.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>HonorIndirect</term>
            <listitem>
              <synopsis>HonorIndirect=true</synopsis>
              <para>
                Enables XDMCP INDIRECT choosing (i.e. remote execution of
                <filename>gdmchooser</filename>) for X-terminals which do not
                supply their own display browser.
              </para>
            </listitem>
          </varlistentry>
        
          <varlistentry>
            <term>MaxPending</term>
            <listitem>
              <synopsis>MaxPending=4</synopsis>
              <para>Для запобігання атакам типу "відмова у доступі", GDM має фіксований розмір черги з'єднань. Одночасно можуть бути запущені лише MaxPending дисплеїв.</para>
            
              <para>Зауважте, що цей параметр не обмежує кількість віддалених дисплеїв, якими можна керувати. Обмежується лише кількість дисплеїв які одночасно ініціюють з'єднання.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxSessions</term>
            <listitem>
              <synopsis>MaxSessions=16</synopsis>
              <para>Визначає максимальну кількість одночасних з'єднань з віддаленими дисплеями. Тобто загальну кількість віддалених дисплеїв які використовуються на вашому вузлі.</para>
            </listitem>
          </varlistentry>
        
          <varlistentry>
            <term>MaxWait</term>
            <listitem>
              <synopsis>MaxWait=30</synopsis>
              <para>Коли GDM готовий керувати дисплеєм, йому надсилається пакет ACCEPT  який містить унікальний ідентифікатор сеансу, що використовується у майбутніх пакетах XDMCP.</para>
            
              <para>Потім GDM зберігає ідентифікатор сеансу у черзі, очікуючи відповіді від дисплея пакетом MANAGE.</para>
            
              <para>Якщо відповідь не надійшла протягом MaxWait секунд, GDM вважає дисплей мертвим та стирає його з черги очікування звільняючи слот для іншого дисплею.</para>
            </listitem>
          </varlistentry>
          
          <varlistentry>
            <term>MaxWaitIndirect</term>
            <listitem>
              <synopsis>MaxWaitIndirect=30</synopsis>
              <para>
                The MaxWaitIndirect parameter determines the maximum number of
                seconds between the time where a user chooses a host and the
                subsequent indirect query where the user is connected to the
                host.  When the timeout is exceeded, the information about the
                chosen host is forgotten and the indirect slot freed up for
                other displays.  The information may be forgotten earlier if
                there are more hosts trying to send indirect queries then
                <filename>MaxPendingIndirect</filename>.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Port</term>
            <listitem>
              <synopsis>Port=177</synopsis>
              <para>
                The UDP port number <filename>gdm</filename> should listen to
                for XDMCP requests. Do not change this unless you know what
                you are doing.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Willing</term>
            <listitem>
              <synopsis>Willing=&lt;etc&gt;/gdm/Xwilling</synopsis>
              <para>Коли сервер надсилає пакет WILLING у відповідь на QUERY, він надсилає рядок з поточним статусом цього сервера. Типовим повідомленням є системний ідентифікатор, але можна створити власний сценарій, який відображатиме власне повідомлення. Якщо цей сценарій не існує або цей ключ порожній - надсилається типове повідомлення. Якщо цей сценарій успішно виконується та виводить деякий текст, надсилається перший рядок цього тексту (та лише перший рядок). Він запускається максимум раз на 3 секунди для запобігання можливим атакам типу "відмова у доступі" шляхом затоплення його запитами QUERY.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="greeterconfiguration">
        <title>Проста конфігурація програми привітання</title>

        <para>
          The GDM default greeter is called the simple Greeter and is
          configured via GConf.  Default values are stored in GConf in the
          <filename>gdm-simple-greeter.schemas</filename> file.  These defaults
          can be overridden if the "gdm" user has a writable $HOME
          directory to store GConf settings.  These values can be edited using
          the <command>gconftool-2</command> or <command>gconf-editor</command>
          programs.  The following configuration options are supported:
        </para>

        <variablelist>
          <title>Ключі конфігурації програми привітання</title>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_enable</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Керує тим, чи буде показано текст повідомлення банера.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_text</term>
            <listitem>
              <synopsis>NULL (рядок)</synopsis>
              <para>Вказує повідомлення текстового банера, яке слід показати у вікні привітання.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_restart_buttons</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Керує тим, чи буде показано кнопки перезапуску системи у вікні входу до системи.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_user_list</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Якщо має значення «true», у вікні входу до системи буде показано переглядач портретів зі списком усіх відомих користувачів.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/logo_icon_name</term>
            <listitem>
              <synopsis>computer (рядок)</synopsis>
              <para>Встановіть назву піктограми з теми, яку слід використати як логотип програми вітання.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-languages</term>
            <listitem>
              <synopsis>[] (список рядків)</synopsis>
              <para>Встановлюється у значення списку мов, які типово буде показано у вікні входу до системи. Типовим значенням є «[]». З типовим значенням буде показано лише типову мову системи та пункт «Інші...», який відкриває діалогову панель із повним списком доступних мов, одну з яких може бути вибрано користувачем.</para>

              <para>Не рекомендуємо користувачам змінювати значення цього параметра вручну. Замість цього, GDM стежить за вибраними для цього ключа налаштувань мовами і показує їх у спадному списку разом із пунктом «Інші...». У такий спосіб спрощується вибір типових вибраних мов.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-layouts</term>
            <listitem>
              <synopsis>[] (список рядків)</synopsis>
              <para>Встановлюється у значення списку розкладок клавіатури, які типово буде показано на панелі входу до системи. Типовим значенням є «[]». З типовим значенням буде показано лише типову розкладку клавіатури системи та пункт «Інші...», який відкриває діалогову панель із повним списком доступних розкладок клавіатури, одну з яких може бути вибрано користувачем.</para>

              <para>Не рекомендуємо користувачам змінювати значення цього параметра вручну. Замість цього, GDM стежить за вибраними для цього ключа налаштувань розкладками клавіатури і показує їх у спадному списку разом із пунктом «Інші...». У такий спосіб спрощується вибір типових вибраних розкладок клавіатури.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/wm_use_compiz</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Керує тим, чи використовується compiz як програма для керування вікнами замість metacity.</para>
            </listitem>
          </varlistentry>
        </variablelist>
    </sect2>

    <sect2 id="accessibilityconfiguration">
     <title>Налаштовування спеціальних можливостей</title>

      <para>У цьому розділі описано параметри налаштування доступності, якими можна скористатися у GDM.</para>

      <sect3 id="accessibilitydialog">
        <title>Вікно доступності GDM і ключі GConf</title>

        <para>На панелі вітання GDM у вікні входу до системи буде показано піктограму доступності. Натисканням цієї піктограми можна відкрити діалогове вікно доступності GDM. У діалоговому вікні доступності GDM ви побачите список пунктів для вмикання або вимикання пов'язаних допоміжних інструментів.</para>

        <para>Пункт для позначення, які відповідають екранній клавіатурі, екранному збільшувальному склу та допоміжним інструментам читання з екрана працюють із трьома ключами GConf, які описано у наступному розділі цього документа. Позначенням цих пунктів або зняттям з них позначення можна встановити для пов'язаного ключа GConf значення «true» або «false». Якщо для ключа GConf встановлено значення «true», буде запущено допоміжні інструменти, пов'язані із цим ключем. Якщо для ключа GConf встановлено значення «false», роботу будь-якого допоміжного інструмента, пов'язаного із цим ключем GConf, буде перервано. Ці ключі GConf не буде автоматично скинуто до типового стану після входу користувача до системи. Отже, допоміжні інструменти, які було запущено під час останнього сеансу входу за допомогою GDM, буде також запущено під час наступного сеансу входу до системи за допомогою GDM.</para>

        <para>У інших пунктів діалогового вікна доступності GDM немає відповідних ключів у GConf, оскільки з ними не пов'язано додаткових програм, які запускаються для надання можливостей доступності. Ці інші пункти відповідають можливостями доступності, працездатність яких забезпечується сервером X, який завжди запускається під час сеансу GDM.</para>
      </sect3>

      <sect3 id="accessibilitygconfconfiguration">
        <title>Ключі доступності GConf</title>

        <para>У GDM передбачено вказані нижче ключі GConf для керування його можливостями доступності:</para>

        <variablelist>
          <title>Ключі налаштувань GDM</title>

          <varlistentry>
            <term>/desktop/gnome/interface/accessibility</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Керує тим, чи буде запущено інфраструктуру доступності разом із графічним інтерфейсом GDM. Такий запуск потрібен для забезпечення працездатності багатьох програм, які пов'язано із технологіями доступності.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_magnifier_enabled</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Якщо встановлено, разом із графічним інтерфейсом GDM буде запущено допоміжні інструменти, які пов'язано із цим ключем GConf. Типово, таким інструментом є екранне збільшувальне скло.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_keyboard_enabled</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Якщо встановлено, разом із графічним інтерфейсом GDM буде запущено допоміжні інструменти, які пов'язано із цим ключем GConf. Типово, таким інструментом є екранна клавіатура.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_reader_enabled</term>
            <listitem>
              <synopsis>false (булеве)</synopsis>
              <para>Якщо встановлено, разом із графічним інтерфейсом GDM буде запущено допоміжні інструменти, які пов'язано із цим ключем GConf. Типово, таким інструментом є програма для читання тексту з екрана.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="accessibilitytoolsconfiguration">
        <title>Пов'язування ключів GConf до інструментів доступності</title>

        <para>Для ключів GConf screen_magnifier_enabled, screen_keyboard_enabled, і screen_reader_enabled інструмент доступності, який буде запущено, залежить від файлів desktop, які зберігаються у каталозі автоматичного запуску GDM, як це описано у розділі «Налаштовування автозапуску» цього підручника. Будь-який файл desktop у каталозі автозапуску GDM можна пов'язати із цим ключем GConf за допомогою визначення цього ключа GConf у значенні AutostartCondition файла desktop. Отже, точний рядок AutostartCondition у файлі desktop може бути одним з таких:</para>

<screen>
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
</screen>

        <para>Якщо ключ доступності має значення «true», буде запущено будь-яку програму, яку пов'язано із цим ключем у файлі desktop автоматичного запуску GDM (якщо у цьому файлі desktop не встановлено значення «true» для ключа Hidden). Один ключ GConf може навіть запускати декілька допоміжних інструментів, якщо у каталозі автозапуску GDM зберігається декілька файлів desktop із відповідним значенням AutostartCondition.</para>
      </sect3>

      <sect3 id="accessibilitytoolexample">
        <title>Приклад внесення змін до налаштувань засобу спеціальних можливостей</title>

        <para>Наприклад, якщо GNOME постачається із GOK як типовою екранною клавіатурою, її можна замінити, якщо хочете, будь-якою іншою програмою. Щоб замінити GOK на екранну клавіатуру «onboard» і додатково активувати допоміжний інструмент «mousetweaks» для підтримки затриманого клацання, слід скористатися описаними нижче налаштуваннями.</para>

        <para>Створіть файл desktop для onboard і ще один для mousetweaks; наприклад, onboard.desktop і mousetweaks.desktop. Ці файли мають зберігатися у каталозі автоматичного запуску (autostart) GDM у форматі, який описано у розділі «Налаштовування автозапуску» цього документа.</para>

        <para>
         The following is an example <filename>onboard.desktop</filename> file:
        </para>

<screen>
[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
</screen>

        <para>
         The following is an example <filename>mousetweaks.desktop</filename>
         file:
        </para>

<screen>
[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
</screen>

        <para>Зауважте рядок із AutostartCondition, який пов'язує файли desktop із ключем GConf для екранної клавіатури.</para>

        <para>Щоб вимкнути запуск GOK, файл desktop для екранної клавіатури GOK слід вилучити або дезактивувати. Якщо цього не зробити, буде одночасно запущено onboard і GOK. Досягти потрібного результату можна вилученням файла gok.desktop з каталогу автозапуску GDM або додаванням ключа «Hidden=true» до файла gok.desktop.</para>

        <para>Після внесення цих змін GOK не запускатиметься, коли користувач активує екранну клавіатуру у сеансі GDM, — замість нього буде запущено onboard і mousetweaks.</para>
      </sect3>
    </sect2>

    <sect2 id="generalsessionconfig">
      <title>Параметри загального сеансу</title>
<!--
<para>
          TODO - I think this section should be expanded upon.  What specific
                 keys are of interest, or would some users be likely to want
                 to configure?  Also, would be good to be more specific about
                 how lock down management is handled.
</para>
-->
        <para>Програма вітання GDM використовує деякі з бібліотек, які використовуватиме і ваш стільничний сеанс. Отже, на його роботу впливають декілька параметрів GConf стільничного сеансу. Для кожного з таких параметрів програма вітання використовуватиме типове значення, якщо його не буде окремо перевизначено а) встановленими обов'язковими правилами GDM; б) обов'язковими правилами системи. GDM встановлює власні обов'язкові правила для блокування деяких параметрів з міркувань безпеки.</para>
    </sect2>

    <sect2 id="gnomesettingsdaemon">
      <title>Фонова служба параметрів GNOME</title>
<!--
<para>
          TODO - I think this section should be expanded upon.  What specific
                 keys are of interest, or would some users be likely to want
                 to configure?  Also, would be good to give a more complete
                 list of plugins that users might want to consider disabling.
                 Also, shouldn't we list the sound/active key in the Greeter
                 configuration setting?  Oddly I do not find this key used
                 in anything but the chooser in SVN.
</para>
-->

        <para>GDM вмикає такі додатки gnome-settings-daemon: a11y-keyboard, background, sound, xsettings.</para>

        <para>Ці додатки відповідають за фонове зображення, шрифт та параметри теми, озвучення подій тощо.</para>

        <para>
          Plugins can also be disabled using GConf. For example, if you want to
          disable the sound plugin then unset the following key:
          <filename>/apps/gdm/simple-greeter/settings-manager-plugins/sound/active</filename>.
        </para>
    </sect2>

    <sect2 id="sessionconfig">
      <title>Налаштовування сеансу GDM</title>

      <para>
        GDM sessions are specified using the FreeDesktop.org Desktop Entry
        Specification, which can be referenced at the following URL:
        <ulink url="http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec">
        http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec</ulink>.
      </para>

      <para>
        By default, GDM will install desktop files in the
        <filename>&lt;share&gt;/xsessions</filename> directory.  GDM will
        search the following directories in this order to find desktop files:
        <filename>&lt;etc&gt;/X11/sessions/</filename>,
        <filename>&lt;dmconfdir&gt;/Sessions</filename>, 
        <filename>&lt;share&gt;/xsessions</filename>, and
        <filename>&lt;share&gt;/gdm/BuiltInSessions</filename>.  By default the
        <filename>&lt;dmconfdir&gt;</filename> is set to
        <filename>&lt;etc&gt;/dm/</filename> unless GDM is configured to use
        a different directory via the "--with-dmconfdir" option.
      </para>

      <para>
        A session can be disabled by editing the desktop file and adding a line
        as follows: <filename>Hidden=true</filename>.
      </para>

      <para>
        GDM desktop files support a GDM-specific extension, a key named
        "X-GDM-BypassXsession".  If the key is not specified in a
        desktop file, the value defaults to "false".  If this key is
        specified to be "true" in a desktop file, then GDM will
        launch the program specified by the desktop file "Exec" key
        directly when starting the user session.  It will not run the program
        via the <filename>&lt;etc&gt;/gdm/Xsession</filename> script, which is
        the normal behavior.  Since bypassing the
        <filename>&lt;etc&gt;/gdm/Xsession</filename> script avoids setting up
        the user session with the normal system and user settings, sessions
        started this way can be useful for debugging problems in the system or
        user scripts that might be preventing a user from being able to start
        a session.
      </para>

    </sect2>

    <sect2 id="userconfig">
      <title>Налаштовування сеансу користувача і мови GDM</title>
      <para>
        The user's default session and language choices are stored in the
        <filename>~/.dmrc</filename> file.  When a user logs in for the first
        time, this file is created with the user's initial choices.  The user
        can change these default values by simply changing to a different value
        when logging in.  GDM will remember this change for subsequent logins.
      </para>

      <para>
        The <filename>~/.dmrc</filename> file is in the standard
        <filename>INI</filename> format.  It has one section called
        <filename>[Desktop]</filename> which has two keys:
        <filename>Session</filename> and <filename>Language</filename>.
      </para>

      <para>
        The <filename>Session</filename> key specifies the basename of the
        session <filename>.desktop</filename> file that the user wishes to
        normally use without the <filename>.desktop</filename> extension.
        The <filename>Language</filename> key specifies the language that the
        user wishes to use by default.  If either of these keys is missing, the
        system default is used.  The file would normally look as follows:
      </para>

<screen>
[Desktop]
Session=gnome
Language=cs_CZ.UTF-8
</screen>
    </sect2>

  </sect1>

  <!-- ============= GDM Commands ============================= -->

  <sect1 id="binaries">
    <title>Команди GDM</title>

    <sect2 id="sbindir_binaries">
      <title>Команди GDM адміністративного користувача</title>

      <para>
        The GDM package provides the following commands in
        <filename>sbindir</filename> intended to be run by the root user:
      </para>

      <sect3 id="gdmcommandline">
        <title><command>gdm</command> Command Line Options</title>

        <para>
          <command>gdm</command> is the main daemon which sets up
          graphical login environment and starts necessary helpers.
       </para>

        <variablelist>
          <title><command>gdm</command> Command Line Options</title>

          <varlistentry>
            <term>-?, --help</term>
            <listitem>
              <para>Виводить коротку довідку з переліком параметрів командного рядка.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--fatal-warnings</term>
            <listitem>
              <para>Зробити так, щоб попередження призводили до виходу з GDM.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--timed-exit</term>
            <listitem>
              <para>Вийти за 30 секунд. Корисно для діагностики.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>--version</term>
            <listitem>
              <para>Вивести версію сервера GDM.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="gdmrestartcommandline">
        <title><command>gdm-restart</command> Command Line Options</title>

        <para>
          <command>gdm-restart</command> stops and restarts GDM by sending
          the GDM daemon a HUP signal.  This command will immediately terminate
          all sessions and log out users currently logged in with GDM.
        </para>
      </sect3>

      <sect3 id="gdmsaferestartcommandline">
        <title><command>gdm-safe-restart</command> Command Line Options</title>
  
        <para>
          <command>gdm-safe-restart</command> stops and restarts GDM by
          sending the GDM daemon a USR1 signal.  GDM will be restarted as soon
          as all users log out.
        </para>
      </sect3>

      <sect3 id="gdmstopcommandline">
        <title><command>gdm-stop</command> Command Line Options</title>

        <para>
          <command>gdm-stop</command> stops GDM by sending the GDM daemon
          a TERM signal. 
        </para>
      </sect3>
    </sect2>
  </sect1>

  <!-- ============= Troubleshooting =========================== -->

  <sect1 id="troubleshooting">
    <title>Усунення проблем</title>
<!--
<para>
      TODO - any other tips we should add?  Might be useful to highlight any
             common D-Bus configuration issues?
</para>
-->

    <para>У цьому розділі наведено корисні підказки щодо забезпечення працездатності GDM. Загалом, якщо у вас виникають проблеми з користуванням GDM, ви можете надіслати повідомлення про ваду або повідомлення електронної пошти до списку листування gdm-list. Відомості щодо того, як це зробити, наведено у вступному розділі цього підручника.</para>

    <para>
      If GDM is failing to work properly, it is always a good idea to include
      debug information.  To enable debugging, set the debug/Enable key to
      "true" in the <filename>&lt;etc&gt;/gdm/custom.conf</filename>
      file and restart GDM.  Then use GDM to the point where it fails, and
      debug output will be sent to the system log file
      (<filename>&lt;var&gt;/log/messages</filename> or
      <filename>&lt;var&gt;/adm/messages</filename> depending on your Operating
      System).  If you share this output with the GDM community via a bug
      report or email, please only include the GDM related debug information
      and not the entire file since it can be large.  If you do not see any
      GDM syslog output, you may need to configure syslog (refer to the
      <ulink type="help" url="man:syslog">syslog</ulink> man page).
    </para>

    <sect2 id="wontstart">
      <title>GDM не запускається</title>

      <para>Існує багато проблем, які можуть призводити до неможливості запуску GDM, але у цьому розділі ми обговоримо декілька типових проблем і те, яким чином підходити до відстежування причин проблем із запуском GDM. Деякі проблеми спричиняють виведення GDM повідомлення про помилку або діалогового вікна при спробі запуску, але причину проблеми важко встановити, якщо GDM завершує роботу без будь-яких повідомлень.</para>

      <para>Спочатку, переконайтеся, що сервер X налаштовано належним чином. Файл налаштувань GDM містить у розділі [server-Standard] команду, яка використовується для запуску сервера X. Перевірте, чи працює ця команда у вашій системі. Запуск цієї команди з консолі має запускати сервер X. Якщо запустити сервер не вдається, проблему, ймовірно, пов'язано із вашими налаштуваннями сервера X. Зверніться до журналу помилок сервера X, щоб дізнатися про причини проблеми. Проблема може також полягати у тому, що ваш сервер X потребує для запуску інших параметрів командного рядка. Якщо це так, змініть команду запуску сервера X у файлі налаштувань GDM так, щоб вона відповідала вашій системі.</para>

      <para>
         Also make sure that the <filename>/tmp</filename> directory has
         reasonable ownership and permissions, and that the machine's file
         system is not full.  These problems will cause GDM to fail to start.
      </para>
    </sect2>
  </sect1>

  <!-- ============= Application License ============================= -->

  <sect1 id="license">
    <title>Ліцензія</title>
    <para>
      This program is free software; you can redistribute it and/or
      modify it under the terms of the  <ulink type="help" url="gnome-help:gpl">
      <citetitle>GNU General Public License</citetitle></ulink> as
      published by the Free Software Foundation; 
      either version 2 of the License, or (at your option) any later
      version.
    </para>
    <para>
      This program is distributed in the hope that it will be useful, but
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      <citetitle>GNU General Public License</citetitle> for more details.
    </para>
    <para>
      A copy of the <citetitle>GNU General Public License</citetitle> is
      included as an appendix to the <citetitle>GNOME Users
      Guide</citetitle>.  You may also obtain a copy of the
      <citetitle>GNU General Public License</citetitle> from the Free
      Software Foundation by visiting
      <ulink type="http" url="http://www.fsf.org">their Web site</ulink> or by
      writing to
      <address>
      Free Software Foundation, Inc.
      <street>51 Franklin Street, Fifth Floor</street>
      <city>Boston</city>, <state>MA</state> <postcode>02110-1301</postcode>
      <country>USA</country>
      </address>
    </para>
  </sect1>
</article>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
