<?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="ru">
  <articleinfo>
    <title>Руководство по программе графического входа в систему</title>

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

    <abstract role="description">
      <para>GDM — сокращение от GNOME Display Manager, программа графического входа в систему.</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 и/или его филиалы. Все права защищены.</holder></copyright>

      <legalnotice id="legalnotice">
	<para>Разрешается копировать, распространять и/или изменять этот документ на условиях лицензии GNU Free Documentation License (GFDL), версии 1.1 или любой более поздней версии, опубликованной Фондом свободного программного обеспечения (Free Software Foundation), без неизменяемых частей и без текстов на обложках. Вы можете найти копию лицензии GFDL по <ulink type="help" url="ghelp:fdl">этой ссылке</ulink> или в файле COPYING-DOCS, распространяемом с этим документом.</para>
         <para>Это руководство — часть документации GNOME, которая распространяется на условиях лицензии GNU FDL. Если вы хотите распространять это руководство отдельно от остальной документации, вам следует приложить к руководству копию лицензии, как описано в разделе 6 лицензии.</para>

	<para>Некоторые имена и марки используются компаниями для обозначения их продуктов и услуг и являются торговыми марками. Там, где эти имена присутствуют в документации и где участники проекта документирования GNOME знают об этом, имена выделяются заглавными буквами или начальной заглавной буквой.</para>

	<para>ДОКУМЕНТ И ИЗМЕНЁННЫЕ ВЕРСИИ ДОКУМЕНТА ПРЕДОСТАВЛЯЮТСЯ ПОЛЬЗОВАТЕЛЮ НА УСЛОВИЯХ ЛИЦЕНЗИИ GNU FREE DOCUMENTATION LICENSE С УВЕДОМЛЕНИЕМ О ТОМ, ЧТО: <orderedlist>
		<listitem>
		  <para>ДОКУМЕНТ РАСПРОСТРАНЯЕТСЯ «КАК ЕСТЬ», БЕЗ ВСЯКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ НЕЯВНЫХ, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, ГАРАНТИИ ТОГО, ЧТО ДОКУМЕНТ ИЛИ ИЗМЕНЁННАЯ ВЕРСИЯ ДОКУМЕНТА СВОБОДНА ОТ ДЕФЕКТОВ, ПРИГОДНА К ПРОДАЖЕ, ПРИГОДНА К ИСПОЛЬЗОВАНИЮ В ОПРЕДЕЛЁННЫХ ЦЕЛЯХ ИЛИ НЕ НАРУШАЕТ ЗАКОНЫ. ВЕСЬ РИСК, КАСАЮЩИЙСЯ КАЧЕСТВА, ТОЧНОСТИ ИЛИ ПРАВИЛЬНОСТИ ДОКУМЕНТА ИЛИ ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА, ЛЕЖИТ НА ВАС. ЕСЛИ ДОКУМЕНТ ИЛИ ИЗМЕНЁННАЯ ВЕРСИЯ ДОКУМЕНТА ИМЕЕТ НЕДОСТАТКИ, ВЫ (А НЕ АВТОР ДОКУМЕНТА ИЛИ ЕГО ПОМОЩНИК) БЕРЁТЕ НА СЕБЯ СТОИМОСТЬ ЛЮБОЙ НЕОБХОДИМОЙ ДОРАБОТКИ, КОРРЕКЦИИ ИЛИ ВОССТАНОВЛЕНИЯ. ЭТОТ ОТКАЗ ОТ ГАРАНТИЙ СОСТАВЛЯЕТ ВАЖНУЮ ЧАСТЬ ЛИЦЕНЗИИ. НИКАКОЕ ИСПОЛЬЗОВАНИЕ ДОКУМЕНТА ИЛИ ИЗМЕНЁННОЙ ВЕРСИИ ДОКУМЕНТА НЕ ДОПУСКАЕТСЯ БЕЗ ДАННОГО ПРЕДУПРЕЖДЕНИЯ И</para>
		</listitem>
		<listitem>
		  <para>НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ И НИ ПРИ КАКОМ ЗАКОННОМ СПОСОБЕ, НИ ПО КАКОМУ СОГЛАШЕНИЮ ИЛИ ДРУГОЙ ПРИЧИНЕ, АВТОР, СОЗДАТЕЛЬ, ПОМОЩНИКИ ИЛИ РАСПРОСТРАНИТЕЛИ ДОКУМЕНТА НЕ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ПРЯМОЙ, КОСВЕННЫЙ, СПЕЦИАЛЬНЫЙ, СЛУЧАЙНЫЙ ИЛИ ПРЕДНАМЕРЕННЫЙ УЩЕРБ ЛЮБОГО СВОЙСТВА, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЯ, ПОТЕРЮ РЕПУТАЦИИ, РАБОТОСПОСОБНОСТИ, КОМПЬЮТЕРНЫЕ СБОИ ИЛИ ПОЛОМКИ, ИЛИ ЛЮБОЙ ДРУГОЙ УЩЕРБ ИЛИ ПОТЕРИ, ВОЗНИКАЮЩИЕ ВСЛЕДСТВИЕ ИЛИ СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ДОКУМЕНТА ИЛИ ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА, ДАЖЕ ЕСЛИ СТОРОНА БЫЛА УВЕДОМЛЕНА О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.</para>
		</listitem>
	  </orderedlist></para>
  </legalnotice>



    <releaseinfo>Настоящее руководство содержит описание GDM версии 2.26.0. Дата последнего обновления: 02.10.2009.</releaseinfo>  
  
    <othercredit class="translator">
      <personname>
        <firstname>Nikita Belobrov</firstname>
      </personname>
      <email>qvzqvz@gmail.com</email>
    </othercredit>
    <copyright>
      
        <year>2008</year>
      
      <holder>Nikita Belobrov</holder>
    </copyright>
  
    <othercredit class="translator">
      <personname>
        <firstname>Stas Solovey</firstname>
      </personname>
      <email>whats_up@tut.by</email>
    </othercredit>
    <copyright>
      
        <year>2013</year>
      
      <holder>Stas Solovey</holder>
    </copyright>
  </articleinfo>

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

  <sect1 id="preface">
    <title>Глоссарий наименований данного руководства</title>

    <para>Настоящее руководство содержит описание GDM версии 2.26.0. Дата последнего обновления: 02.10.2009.</para>  

    <para>Программа выбора — программа, используемая для выбора удалённого компьютера, на котором планируется управлять дисплеем при помощи локального дисплея. Запускается командой <command>gdm-host-chooser</command>.</para>

    <para>FreeDesktop — организация, предоставляющая стандарты рабочего места, например Спецификация содержимого рабочего места.<ulink type="http" url="http://www.freedesktop.org/">http://www.freedesktop.org</ulink></para>
    <para>GDM — программа графического входа в систему. Аббревиатура используется для описания всего программного пакета.</para>

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

    <para>PAM — подключаемый механизм аутентификации</para>

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

    <para>Сервер X — реализация системы «X Window System», например сервер Xorg от X.org Foundation <ulink type="http" url="http://www.x.org/">http://www.x.org</ulink>.</para>

    <para>Слова в уголках в путях каталогов заменяются префиксами, указанными при установке. <filename>&lt;share&gt;/pixmaps/</filename> означает <filename>/usr/share/pixmaps</filename>, если GDM был сконфигурирован с ключом <command>--prefix=/usr</command>.</para>
  </sect1>

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

  <sect1 id="overview">
    <title>Содержание</title>

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

      <para>Менеджер дисплея GNOME (GDM) — это менеджер дисплея, который реализует все необходимое для управления локальными и удалёнными дисплеями. GDM был написан с нуля и не содержит кода из XDM или консорциума X.</para>

      <para>GMD конфигурируется, и установки, влияющие на безопасность, и на которые следует обратить внимание, выделены в данном документе.</para> 

      <para>Некоторые дистрибутивы изменяют настройки GDM, поэтому их значения могут отличаться от значений по умолчанию, указанных в данном документе. Если GDM ведет себя не так, как описано в документации, пожалуйста, проверьте отличается ли содержимое конфигурационых файлов от указанного в данном документе.</para>

      <para>Чтобы узнать больше о GDM, посетите сайт проекта: <ulink type="http" url="http://wiki.gnome.org/Projects/GDM/"> http://wiki.gnome.org/Projects/GDM</ulink>.</para>

      <para>Чтобы задать вопросы или обсудить GDM используйте список рассылки <address><email>gdm-list@gnome.org</email></address>. Этот список рассылки имеет архив, где можно найти ответы на множество вопросов. Архив находится по адресу: <ulink type="http" url="http://mail.gnome.org/archives/gdm-list/"> http://mail.gnome.org/archives/gdm-list/</ulink> и позволяет искать сообщения по ключевым словам.</para>

      <para>Пожалуйста, все обнаруженные ошибки или предложения направляйте в <ulink type="http" url="http://bugzilla.gnome.org/"> http://bugzilla.gnome.org</ulink> в категорию «gdm».</para>
    </sect2>

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

      <para>В состав GDM версий 2.20 и более ранних входил устоявшийся интерфейс настройки. Однако, основной код GDM 2.22 был переписан, и стал не совсем совместимым с предыдущими версиями. Это сделано из-за того, что изменены принципы работы, и некоторые параметры потеряли смысл, некоторые никогда не использовались, а часть функций в новой версии ещё не реализована.</para>

      <para>Интерфейсы, которые продолжают поддерживаться в неизменной форме включают в себя сценарии: Init, PreSession, PostSession, PostLogin и Xsession. Некоторые настройки демона в файле <filename>&lt;etc&gt;/gdm/custom.conf</filename> также всё ещё поддерживаются, также как <filename>~/.dmrc</filename> и пути расположения обозревателя изображений пользователей.</para>

      <para>GDM версии 2.20 и более ранних позволял управлять несколькими дисплеями с различными видеокартами, что использовалось в терминалах серверов, программами входа в систему (например, Xnest и Xephyr), программой gdmsetup, темами программ приветствия, основанными на XML. Также ранние версии GDM позволяли запускать программу выбора XDMP с экрана входа в систему. Все эти возможности не реализованы в GDM версии 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 может управлять как основным консольным дисплеем, так и дисплеями виртуальных терминалов(VT), и XDMCP-дисплеями. Большинство приложений могут работать с несколькими консольными дисплеями при помощи интерфейса виртуального терминала Xserver (Xserver VT), например: Fast User Switch Applet (FUSA) и gnome-screensaver.</para>

      <para>Независимо от типа дисплея, GDM при управлении выполнит следующие действия: запустит процесс Xserver, затем выполнит сценарий <filename>Init</filename> от имени администратора системы и запустит программу приветствия на данном дисплее.</para>

      <para lang="en">
        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>Расширение для поддержки смарт-карт можно включить или выключить с помощью gsettings-ключа <filename>org.gnome.display-manager.extensions.smartcard.active</filename>.</para>

      <para>Расширение для отпечатков пальцев можно включить или выключить с помощью gsettings-ключа <filename>org.gnome.display-manager.extensions.fingerprint.active</filename>.</para>

      <para>GDM и PAM можно настроить таким образом, чтобы пользовательский ввод не требовался. В этом случае GDM автоматически войдёт в систему и запустит сеанс. Эта возможность может пригодиться для систем с единственным пользователем или информационных киосков.</para>

      <para>Кроме аутентификации программа приветствия позволяет пользователю выбирать сеанс для запуска и используемый язык. Сеансы определены в файлах, имя которых заканчивается на «.desktop». Подробнее этот процесс описан в разделе «Конфигурирование». По умолчанию GDM показывает значки с изображениями пользователей, и пользователь может просто нажать на значок вместо того, чтобы вводить своё имя. GDM запоминает сеанс и язык, используемые по умолчанию, в файле <filename>~/.dmrc</filename>, они будут использованы при последующих входах в систему, если пользователь не выберет сеанс или язык.</para>

      <para>После идентификации пользователя демон запустит сценарий <filename>PostLogin</filename>, затем <filename>PreSession</filename> от имени root. После выполнения этих сценариев запускается сеанс пользователя. Когда пользователь завершает текущий сеанс, выполняется сценарий <filename>PostSession</filename> от имени администратора системы. Эти сценарии используются как перехватчики событий, чтобы дистрибутив или пользователь могли модифицировать управление сеансами. Например, используя эти сценарии можно на лету создавать каталоги пользователей ($HOME) и уничтожать их после выхода пользователя из системы. Разница между <filename>PostLogin</filename> и <filename>PreSession</filename> в том, что первый выполняется до вызова метода pam_open_session, поэтому в <filename>PostLogin</filename> желательно расположить всё то, что необходимо выполнить до инициализации сеанса. Сценарий <filename>PreSession</filename> выполняется после инициализации сеанса пользователя.</para>
    </sect2>

    <sect2 id="greeterpanel">
      <title>Панель программы приветствия</title>
      <para>Программа приветствия GDM показывает панель с дополнительными действиями, присоединённую к нижней части экрана. Если пользователь выбран, то на панели можно указать сеанс, язык и раскладку клавиатуры, которые будут использованы после входа в систему. Можно также сменить раскладку при вводе пароля. На панели также есть место для значков дополнительных сервисов входа в систему, например: индикатор зарядки батарей, значок, позволяющий включить специальные возможности. Программа приветствия показывает кнопки завершения работы и перезагрузки системы, которые можно убрать при помощи настроек GDM. С помощью PolicyKit (или с помощью RBAC в Oracle Solaris) можно настроить GDM таким образом, что перед выключением или перезагрузки системы будет необходима идентификация пользователя.</para>

      <para>Заметьте, что возможность смены раскладки доступна только в тех системах, в которых имеется поддержка libxklavier.</para>
    </sect2>

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

        <para>GDM поддерживает специальные возможности ввода при входе в систему, позволяющие пользователям регистрироваться в системе, если затруднено использование дисплея, мыши или клавиатуры обычными способами. В этом случае доступны вспомогательные технологии ввода, такие как: экранная клавиатура, чтение текста на экране, экранная лупа и специальная доступная клавиатура для X сервера, а также, при необходимости, контрастные темы, значки и крупноразмерные шрифты. Подробнее см. раздел «Настройка специальных возможностей», в котором описываются способы настройки специальных возможностей.</para>

        <para>В некоторых дистрибутивах учётную запись GDM необходимо сделать членом группы «audio», чтобы программы поддержки специальных возможностей, например программы чтения с экрана, могли нормально функционировать.</para>
    </sect2>

    <sect2 id="facebrowser">
      <title>Обозреватель изображений пользователей GDM</title>

      <para lang="en">
        The Face Browser is the interface which allows users to select their
        username by clicking on an image.  This feature can be enabled or
        disabled via the org.gnome.login-screen disable-user-list GSettings 
        key and is on by default.  When disabled, users must type their
        complete username by hand.  When enabled, it displays all local users
        which are available for login on the system (all user accounts defined
        in the /etc/passwd file that have a valid shell and sufficiently high
        UID) and remote users that have recently logged in.
        The face browser in GDM 2.20 and earlier would attempt to display all
        remote users, which caused performance problems in large,
        enterprise deployments.
      </para>

      <para>Обозреватель упорядочивает пользователей по частоте входа в систему по убыванию. Благодаря чему пользователи, чаще всего регистрирующиеся в системе, могут быстро отыскать своё изображение.</para>

      <para>Обозреватель изображений поддерживает поиск по первым символам, который динамически меняет положение изображение пользователя в списке по мере того, как пользователь вводит первые символы имени. Поэтому пользователю с длинным именем достаточно ввести несколько первых символов, и нужное имя автоматически будет выбрано из списка.</para>

      <para>Изображения пользователей, которые использует GDM, могут быть установлены глобально системным администратором или располагаться в домашних каталогах пользователей. Глобально они находятся в каталоге <filename>&lt;share&gt;/pixmaps/faces/</filename> и имя файла с изображением должно совпадать с именем пользователя. Изображение должно храниться в формате, который может быть прочтён библиотекой GTK+, например PNG или JPEG. Учётная запись GDM должна иметь права чтения этих файлов.</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>Общее изображение для всех пользователей установить нельзя. В домашнем каталоге пользователей GDM проверит наличие файла изображения в <filename>~/.face</filename>, затем в <filename>~/.face.icon</filename> и после проверит значение «face/picture=» в файле <filename>~/.gnome2/gdm</filename>. Будет использовано первое найденное изображение в указанном порядке.</para>

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

      <para>Так как загрузка и масштабирование изображений расположенных на удалённых компьютерах может занять продолжительное время, то 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 (XDMCP) от удалённых машин. По умолчанию эта возможность отключена. Если GDM собран с поддержкой TCP Wrapper, то демон разрешит доступ тем машинам, которые перечислены в секции «GDM service» в конфигурационном файле TCP Wrapper.</para>

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

      <para>GDM прослушивает UDP порт 177, используемый по умолчанию для XDMCP протокола. И отвечает на запросы QUERY и BROADCAST_QUERY, посылая пакет WILLING источнику.</para>

      <para>GDM может быть настроен на обработку запросов INDIRECT и быть диспетчером удалённых менеджеров дисплеев. В этом случае GDM будет запоминать выбор пользователя и перенаправлять дальнейшие запросы указанному менеджеру (например, GDM) на другой машине. GDM также поддерживает расширения протокола, благодаря которым GDM не будет запоминать машину перенаправления после успешного соединения пользователя. Это возможно только если на обоих машинах используется GDM. Другие менеджеры будут игнорировать такую возможность.</para>

      <para>Если XDMCP не работает, убедитесь, что все удалённые машины перечислены в файле <filename>/etc/hosts</filename>.</para>

      <para>Для получения информации по вопросам безопасности использования XDMCP обратитесь к разделу «Безопасность».</para>
    </sect2>

    <sect2 id="logging">
      <title>Журналирование</title>

      <para>GDM использует утилиту syslog для журналирования ошибок и состояний своей работы. Кроме того, GDM может записывать в журнал отладочную информацию, которая может пригодиться при решении проблем, например, если GDM работает некорректно. Эта возможность включается с помощью ключа debug/Enable (значение должно быть выставлено в true) в файле <filename>&lt;etc&gt;/gdm/custom.conf</filename>.</para>

      <para>Вывод сообщений от большинства X серверов помещается в каталоге журналов GDM, по умолчанию <filename>&lt;var&gt;/log/gdm/</filename>. Любое сообщение X сервера сохраняется в файле с именем по номеру дисплея: <filename>&lt;display&gt;.log</filename>.</para>

      <para>Вывод сообщений сеанса пропускается через службу GDM и записывается в файл <filename>~/<replaceable>$XDG_CACHE_HOME</replaceable>/gdm/session.log</filename> (обычно это файл <filename>~/.cache/gdm/session.log</filename>). Файл перезаписывается после каждого регистрации пользователя в системе, поэтому выход и последующий вход в систему одного и того же пользователя приводит к удалению сообщений, записанных во время предыдущего сеанса.</para>

      <para>Если GDM не сможет создать этот файл по какой-либо причине, то будет создан файл <filename>~/<replaceable>$XDG_CACHE_HOME</replaceable>/gdm/session.log.XXXXXXXX</filename>, где <filename>XXXXXXXX</filename> — набор случайных символов.</para>
    </sect2>

    <sect2 id="fusa">
      <title>Быстрое переключение пользователей</title>

      <para>GDM допускает одновременный вход нескольких пользователей. После входа одного пользователя, другой может войти с помощью переключателя пользователей на панели GNOME, или с помощью кнопки «Сменить пользователя» в диалоговом окне блокировки экрана. Активный сеанс можно переключить обратно с помощью того-же механизма. Некоторые дистрибутивы не добавляют кнопку переключения пользователей на панель, в этом случае она может быть добавлена через контекстное меню панели.</para>
      <para>Эта возможность доступна в системах, которые имеют поддержку виртуальных терминалов. Она не будет работать, если в системе не поддерживаются виртуальные терминалы.</para>
    </sect2>
  </sect1>

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

  <sect1 id="security">
    <title>Безопасность</title>

    <sect2 id="gdmuser">
      <title>Учётные записи пользователя и группы GDM</title>

      <para>В целях безопасности, рекомендуется использовать выделенную учётную запись пользователя и группы. В большинстве систем это — «gdm». Но GDM можно настроить на использование любой другой учётной записи. Все графические программы GDM запускаются от имени этой учётной записи и взаимодействие происходит в рамках её прав. Поэтому желательно ограничить права пользователя и группы gdm.</para>

      <para>Единственная специальная привелегия учётной записи «gdm», необходимая для работы — это возможность чтения и записи файлов Xauth в каталог <filename>&lt;var&gt;/run/gdm</filename>, который должен иметь владельца root:gdm и права доступа 1777.</para>

      <para>Ни при каких обстоятельствах не следеут указывать GDM такую учётную запись, к которой пользователь может легко получить доступ, например <filename>nobody</filename>. Любой пользователь, который получит доступ к ключу Xauth, сможет проследить или перехватить контроль над соответствующими работающими графическими приложениями или организовать DoS атаку на текущий сеанс. Важно убедиться, что система настроена таким образом, что только учётная запись «gdm» имеет доступ к этим файлам, и что войти в систему под этой учётной записью невозможно. Например, такая учётная запись не должна иметь пароля или позволять обычным пользователям входить под этой учётной записью.</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, login, хранителей экрана и так далее).</para>

      <para>PAM является достаточно сложным модулем со множеством параметров конфигурации, поэтому в этом документе не представлены детали его настройки, а лишь даётся необходимая информация по настройке PAM для работы с GDM. Предполагается, что читатель, желающий настроить PAM, знаком с его документацией и понимает принципы конфигурирования PAM, а также термины, используемые в этом разделе.</para>
        
      <para>На разных операционных системах PAM имеет различные, но похожие интерфейсы конфигурирования, поэтому обратитесь к страницам руководства <ulink type="help" url="man:pam.d">pam.d</ulink> или <ulink type="help" url="man:pam.conf">pam.conf</ulink> для подробной информации. Необходимо ознакомиться с документацией PAM и возможным влиянием на безопасность тех изменений, которые вы собираетесь внести в конфигурацию.</para>

      <para>По умолчанию GDM использует сервисы PAM с именем «gdm» для обычного входа и «gdm-autologin» для автоматического входа. Если эти сервисы не определены в конфигурационных файлах «pam.d» или «pam.conf», то GDM будет использовать обычное поведение PAM. На большинстве систем это сработает, но автоматический вход в систему может не работать, если не определен сервис PAM «gdm-autologin».</para>

      <para>Сценарий <filename>PostLogin</filename> выполняется перед вызовом метода pam_open_session, а сценарий <filename>PreSession</filename> после, что позволяет системному администратору добавить любые сценарии до или после того, как PAM инициализирует сеанс.</para>

      <para>Если вы хотите использовать с GDM другие типы аутентификации (например, сканирование отпечатков пальцев или карты SmartCard), то это реализовывается с помощью соответствующих сервисных модулей PAM, а не изменением кода GDM. За дополнительной информацией обращайтесь к документации PAM. То как использовать такие механизмы часто обсуждается в списке рассылки <address><email>gdm-list@gnome.org</email></address>, за дополнительной информацией можно обратиться в архив рассылки.</para>

      <para>PAM имеет некоторые ограничения при работе с несколькими типами аутентификации одновременно, например возможность одновременного использования карт SmartCard и аутентификации путем ввода имени пользователя и пароля. Есть способы использования такой возможности, и лучший способ их изучить — это установить конфигурацию с такими настройками.</para>

      <para>Если не работает автоматический вход в систему проверьте наличие сервиса «gdm-autologin» в конфигурации PAM. Для включения этой возможности необходимо использовать модуль PAM, который не производит аутентификации или возвращает PAM_SUCCESS со всех интерфейсов, например модуль 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. Если они необходимы, то используйте следующее для сеанса:</para>

<screen>
       gdm-autologin сеанс требует  pam_unix_session.so.1
</screen>

      <para>Если компьютером пользуются несколько человек, то автоматический вход в систему нежелателен. Пользователи могут входить в систему, не вводя пароль. Эта возможность настраивается отдельно для каждого пользователя; для этого нужно, чтобы пользователь был членом группы «nopasswdlogin», а конфигурационный файл PAM содержал следующую строку:</para>

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

    </sect2>

    <sect2 id="utmpwtmp">
      <title>Базы utmp и wtmp</title>

      <para>GDM создает записи в базах данных utmp и wtmp учёта пользователей во время входа и выхода пользователей из системы. База данных utmp содержит информацию о пользователе и его правах доступа, которая доступна с помощью команд: <command>finger</command>, <command>last</command>, <command>login</command> и <command>who</command>. База данных wtmp содержит историю базы utmp. Для получения дополнительной информации обратитесь к страницам man <ulink type="help" url="man:utmp">utmp</ulink> и <ulink type="help" url="man:wtmp">wtmp</ulink>.</para>
    </sect2>

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

      <para>Файлы аутентификации X сервера находятся во вновь создаваемом во время запуска подкаталоге в <filename>&lt;var&gt;/run/gdm</filename>&gt;. Эти файлы содержат ключ доступа для X клиента и сервера, который уникален для каждого сеанса, поэтому пользователи из разных сеансов не мешают друг другу.</para>

      <para>GDM поддерживает только схему аутентификации X сервера «MIT-MAGIC-COOKIE-1». Другие схемы не обладают значительными преимуществами и на настоящий момент не являются приоритетными. Следует быть особенно осторожным при использовании протокола XDMCP, так как аутентификационная информация (в виде cookies) передается по сети в открытом виде, поэтому она доступна для перехвата. В этом случае злоумышленник может просто перехватить ключ при входе в систему. Для предотвращения этого необходимо использовать туннелирование X соединений через ssh, вместо протокола XDMCP. Протокол XDMCP не достаточно безопасен, чтобы его использовать как протокол удалённого графического терминала, в большинстве случаев лучше использовать «ssh -Y» вместо возможностей GDM по работе с XDMCP.</para>

    </sect2>

    <sect2 id="xdmcpsecurity">
      <title>Безопасность XDMCP</title>

      <para>Не смотря на то, что дисплей защищен аутентификационной информацией (в cookies), события XEvents и соответствующие нажатия клавиш при вводе пароля будут переданы по сети в открытом виде и их легко перехватить.</para>

      <para>XDMCP в основном предназначен для использования в лабораторных терминалах, где клиентам необходима сеть лишь для соединения с сервером. Лучшей политикой безопасности будет использование таких клиентов в отдельной подсети к которой нет доступа извне, и единственной точкой доступа во внешние сети является сам сервер. Подобные конфигурации нельзя использовать в сетях с неуправляемыми концентраторами или прослушиваемых сетях.</para>

    </sect2>

    <sect2 id="xdmcpaccess">
      <title>Управление доступом XDMCP</title>

      <para>Контроль доступа XDMCP реализован с использованием библиотеки TCP Wrappers. В некоторых операционных системах GDM собран без поддержки TCP Wrappers, поэтому подобные возможности могут быть недоступны.</para>

      <para>Необходимо использовать имя демона <command>gdm</command> в файлах <filename>&lt;etc&gt;/hosts.allow</filename> и <filename>&lt;etc&gt;/hosts.deny</filename>. Например, чтобы запретить машинам из домена <filename>.evil.domain</filename> входить в систему, необходимо добавить следующее:</para>
<screen>
gdm: .evil.domain
</screen>
      <para>в файл <filename>&lt;etc&gt;/hosts.deny</filename>. Возможно, также необходимо добавить </para>
<screen>
gdm: .your.domain
</screen>
      <para>в файл <filename>&lt;etc&gt;/hosts.allow</filename>, если по умолчанию запрещены все сервисы со всех машин. За деталями обратитесь к станицам man <ulink type="help" url="man:hosts.allow">hosts.allow(5)</ulink>.</para>
    </sect2>

    <sect2 id="firewall">
      <title>Безопасность сетевого экрана</title>

      <para>Хотя GDM и пытается предупредить возможные атаки на протокол XDMCP, рекомендуется заблокировать порт XDMCP (обычно UDP 177) на сетевом экране до тех пор, пока он действительно не понадобится. GDM пытается предотвратить DoS атаки, но X протокол традиционно небезопасен и его следует использовать только в безопасных средах. Кроме того, каждое удалённое соединение потребляет относительно много ресурсов, поэтому организовать DoS атаку через 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>Видимость этих кнопок регулируется действиями:<filename>org.freedesktop.consolekit.system.stop-multiple-users</filename> и <filename>org.freedesktop.consolekit.system.restart-multiple-users</filename> соответственно. Политика этих действий может быть установлена с помощью утилиты polkit-gnome-authorization или консольной программой polkit-auth.</para>
 
    </sect2>

    <sect2 id="rbac">
      <title>RBAC: управление доступом по ролям</title>

      <para>GDM можно настроить на использование RBAC вместо PolicyKit. В этом случае используется конфигурация RBAC для управления видимостью кнопок выключения и перезагрузки системы на экране программы приветствия.</para>

      <para>Например, в системе Oracle Solaris для этого используется авторизация «solaris.system.shutdown». Достаточно изменить файл <filename>/etc/user_attr</filename> так, чтобы учётная запись «gdm» осуществляла эту авторизацию.</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, которая может отслеживать вошедших пользователей и в этой роли заменять файлы utmp и utmpx, которые существуют в большинстве UNIX подобных системах.</para>

    <para lang="en">
      When GDM is about to create a new login process for a user it will call
      a privileged method of ConsoleKit in order to open a new session for this
      user.  At this time GDM also provides ConsoleKit with information about
      this user session such as: the user ID, the X11 Display name that will be
      associated with the session, the host-name from which the session
      originates (useful in the case of an XDMCP session), whether or not this
      session is attached, etc.  As the entity that initiates the user process,
      GDM is in a unique position to know about the user session and to be 
      trusted to provide these bits of information. The use of this privileged 
      method is restricted by the use of the D-Bus system message bus security 
      policy.
    </para>

    <para lang="en">
      In case a user with an existing session has authenticated
      at GDM and requests to resume that existing session, GDM calls a
      privileged method of ConsoleKit to unlock that session.  The exact
      details of what happens when the session receives this unlock signal are
      undefined and session-specific.  However, most sessions will unlock a
      screensaver in response.
    </para>

    <para>Когда пользователь начинает выход из системы, или GDM или сеанс неожиданно завершается, регистрация сеанса пользователя в ConsoleKit будет отменена.</para>
  </sect1>

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

  <sect1 id="configuration">
    <title>Настройка</title>

    <para>GDM имеет множество интерфейсов настройки: точки подключения сценариев, настройка демона, настройки программы приветствия, глобальные параметры сеанса, интеграцию с настройками gnome-settings-daemon и параметрами сеанса. Подробнее это рассмотрено далее.</para>

    <sect2 id="scripting">
      <title>Точки подключения сценариев</title>
      
      <para>Точки подключения сценариев GDM находятся в каталоге <filename>&lt;etc&gt;/gdm/</filename>:</para>

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

      <para>Работа сценариев <filename>Init</filename>, <filename>PostLogin</filename>, <filename>PreSession</filename> и <filename>PostSession</filename> описана далее.</para>

      <para>Для каждого типа есть сценарий c именем «Default», который будет выполнен по умолчанию и располагается в каталоге, соответствующем типу сценария. Так сценарий по умолчанию для типа <filename>Init</filename> — <filename>&lt;etc&gt;/gdm/Init/Default</filename>. Если существует сценарий для дисплея, то он будет выполнен вместо сценария по умолчанию. Такие сценарии находятся в тех же каталогах, но их названия совпадают со значением DISPLAY X сервера для нужного дисплея. Например, если существует файл сценария <filename>&lt;Init&gt;/:0</filename>, то он будет выполнен для дисплея «:0».</para>

     <para lang="en">
        All of these scripts are run with root privilege and return 0 if run
        successfully, and a non-zero return code if there was any failure that
        should cause the login session to be aborted.  Also note that GDM will
        block until the scripts finish, so if any of these scripts hang, this
        will cause the login process to also hang.
      </para>

      <para lang="en">
        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>После успешной аутентификации пользователя GDM выполнит сценарий <filename>PostLogin</filename>, но до того, как выполнена установка сеанса, в том числе перед вызовом pam_open_session. Этот сценарий полезен для инициализации сеанса перед его стартом, например тут можно создавать домашние каталоги пользователей $HOME.</para>

      <para>После инициализации сеанса GDM запустит сценарий <filename>PreSession</filename>, который полезен для проведения дополнительной инициализации сеанса. Например, для учёта сеансов.</para>

      <para lang="en"> 
        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>Внимание! Сценарий <filename>PostSession</filename> будет выполнен, даже если дисплей недоступен из-за ошибок ввода-вывода и подобных. Поэтому не гарантируется нормальная работа приложений X во время исполнения сценария.</para>

      <para>Во время выполнения всех указанных сценариев переменная окружения <filename>$RUNNING_UNDER_GDM</filename> установлена в <filename>yes</filename>. Если сценарий используется совместно с другими менеджерами дисплеев, то это поможет определить, что сценарий вызван из GDM для выполнения специфичного кода.</para>
    </sect2>

    <sect2 id="autostart">
      <title lang="en">Autostart Configuration</title>
      
      <para lang="en">
        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 lang="en">
        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 lang="en">
        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 lang="en">
        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>Файл <filename>&lt;etc&gt;/gdm/custom.conf</filename> записан в формате <filename>keyfile</filename> (параметр-значение). Слова в квадратных скобках [ ] определяют названия секций, строки до знака равно (=) являются наименованиями параметров а после — значениями. Пустые и начинающиеся на октоторп (#) строки игнорируются.</para>

      <para lang="en">
        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 lang="en">[chooser]</title>
        <variablelist>

          <varlistentry>
            <term lang="en">Multicast</term>
            <listitem>
              <synopsis lang="en">Multicast=false</synopsis>
              <para lang="en">
                If true and IPv6 is enabled, the chooser will send a multicast
                query to the local network and collect responses from the hosts
                who have joined multicast group.
              </para>
            </listitem>
          </varlistentry>
         
          <varlistentry>
            <term lang="en">MulticastAddr</term>
            <listitem>
              <synopsis lang="en">MulticastAddr=ff02::1</synopsis>
              <para lang="en">
                This is the Link-local multicast address.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="daemonsection">
        <title>[daemon]</title>
        <variablelist>
          <varlistentry>
            <term>TimedLoginEnable</term>
            <listitem>
              <synopsis>TimedLoginEnable=false</synopsis>
              <para>Автоматический вход в систему произойдёт под учётной записью <filename>TimedLogin</filename> по истечении <filename>TimedLoginDelay</filename> секунд неактивности на экране входа в систему. Это полезно для общедоступных терминалов и домашних систем. Если пользователь нажал клавишу на клавиатуре или использовал меню на экране, то время ожидания сбрасывается в <filename>TimedLoginDelay</filename>  или 30 секунд, но не более. Если пользователь не ввёл имя учётной записи, а просто нажал ENTER при запросе имени пользователя, то GDM произведет автоматический вход в систему. При этом пароль не будет запрошен. За подробной информацией обращайтесь к подразделу «Безопасность-&gt; Модуль PAM».</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLogin</term>
            <listitem>
              <synopsis>TimedLogin=</synopsis>
              <para>Учётная запись под которой произойдёт автоматический вход в систему по истечении определённого промежутка времени неактивности.</para>
              <para lang="en">
                If the value ends with a vertical bar | (the pipe symbol),
                then GDM will execute the program specified and use whatever
                value is returned on standard out from the program as the user.
                The program is run with the DISPLAY environment variable set so
                that it is possible to specify the user in a per-display
                fashion.  For example if the value is "/usr/bin/getloginuser|",
                then the program "/usr/bin/getloginuser" will be run to get the
                user value.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>TimedLoginDelay</term>
            <listitem>
              <synopsis>TimedLoginDelay=30</synopsis>
              <para>Задержка в секундах перед автоматическим входом под учётной записью <filename>TimedLogin</filename>.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLoginEnable</term>
            <listitem>
              <synopsis>AutomaticLoginEnable=false</synopsis>
              <para>Если истина, то вход под учётной записью <filename>AutomaticLogin</filename> будет произведен немедленно. Аналогично автоматическому входу с задержкой 0 секунд.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>AutomaticLogin</term>
            <listitem>
              <synopsis>AutomaticLogin=</synopsis>
              <para>Учётная запись под именем которой произойдет немедленный вход в систему, если <filename>AutomaticLoginEnable</filename> установлено в истину.</para>
              <para lang="en">
                If the value ends with a vertical bar | (the pipe symbol),
                then GDM will execute the program specified and use whatever
                value is returned on standard out from the program as the user.
                The program is run with the DISPLAY environment variable set so
                that it is possible to specify the user in a per-display
                fashion.  For example if the value is "/usr/bin/getloginuser|",
                then the program "/usr/bin/getloginuser" will be run to get the
                user value.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>User</term>
            <listitem>
              <synopsis>User=gdm</synopsis>
              <para>Учётная запись под которой выполняется программа приветствия и другие графические приложения. Смотрите также описание параметра <filename>Group</filename> и раздел «Безопасность-&gt;Учётная запись пользователя и группы GDM».</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Group</term>
            <listitem>
              <synopsis>Group=gdm</synopsis>
              <para>Имя группы, под которой программа приветствия и другие графические приложения будут запущены. Смотрите также описание параметра <filename>User</filename> и раздел этого документа «Безопасность-&gt; Учётные записи пользователя и группы GDM».</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="debugsection">
        <title>Параметры отладки</title>
      
        <variablelist>
          <title>[debug]</title>
          
          <varlistentry>
            <term>Enable</term>
            <listitem>
              <synopsis>Enable=false</synopsis>
              <para lang="en">
                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="greetersection">
        <title>Параметры приветствия</title>
      
        <variablelist>
          <title>[greeter]</title>
          
          <varlistentry>
            <term>IncludeAll</term>
            <listitem>
              <synopsis>IncludeAll=true</synopsis>
              <para lang="en">
                If true, then the face browser will show all users on the local
                machine.  If false, the face browser will only show users who
                have recently logged in.
              </para>

              <para lang="en">
                When this key is true, GDM will call fgetpwent() to get a list
                of local users on the system.  Any users with a user id less
                than 500 (or 100 if running on Oracle Solaris) are filtered
                out.  The Face Browser also will display any users that have
                previously logged in on the system  (for example NIS/LDAP
                users).  It gets this list via calling the
                <command>ck-history</command> ConsoleKit interface.  It will
                also filter out any users which do not have a valid shell
                (valid shells are any shell that getusershell() returns -
                /sbin/nologin or /bin/false are considered invalid shells even
                if getusershell() returns them).
              </para>

              <para lang="en">
                If false, then GDM more simply only displays users that have
                previously logged in on the system (local or NIS/LDAP users) by
                calling the <command>ck-history</command> ConsoleKit interface.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Include</term>
            <listitem>
              <synopsis>Include=</synopsis>
              <para lang="en">
                Set to a list of users to always include in the Face Browser.
                This value is set to a list of users separated by commas.  By
                default, the value is empty.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Exclude</term>
            <listitem>
              <synopsis>Exclude=bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap</synopsis>
              <para lang="en">
                Set to a list of users to always exclude in the Face Browser.
                This value is set to a list of users separated by commas.  Note
                that the setting in the <filename>custom.conf</filename>
                overrides the default value, so if you wish to add additional
                users to the list, then you need to set the value to the
                default value with additional users appended to the list.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="securitysection">
        <title>Параметры безопасности</title>
      
        <variablelist>
          <title>[security]</title>
          
          <varlistentry>
            <term>DisallowTCP</term>
            <listitem>
              <synopsis>DisallowTCP=true</synopsis>
              <para>Если истина, то к параметрам запуска локального X сервера всегда добавляется <filename>-nolisten tcp</filename>, что запрещает TCP соединения. Это более безопасная настройка при использовании удалённых соединений.</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>Установка в истину включает поддержку XDMCP протокола, разрешая GDM управлять удалёнными дисплеями и X терминалами.</para>
            
              <para>Запросы прослушиваются на UDP порту 177. См. описание параметра «Port» для дополнительных сведений.</para>
              
              <para>Если GDM собран с соответствующими опциями, то управление удалёнными дисплеями может быть осуществлено через библиотеку TCP Wrappers. Имя сервиса — <filename>gdm</filename></para>
            
              <para lang="en">
                You should add 
<screen lang="en">
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>Разрешает XDMCP INDIRECT выбор (т.е. удалённое исполнение программы <filename>gdmchooser</filename>) для X терминалов, не имеющих собственных обозревателей дисплеев.</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>Этот параметр определяет максимальное количество секунд между тем, как пользователь выбирает машину и последующим непрямым запросом соединения с машиной. По истечении времени информация о выбранной машине стирается и место для непрямых запросов освобождается для других дисплеев. Эта информация также может быть стёрта, если больше, чем <filename>MaxPendingIndirect</filename> машин пытаются послать непрямые запросы.</para>
            </listitem>
          </varlistentry>
        
          <varlistentry>
            <term>PingIntervalSeconds</term>
            <listitem>
              <synopsis>PingIntervalSeconds=60</synopsis>
              <para lang="en">
                If the Xserver does not respond in the specified number of
                seconds, then the connection is stopped and the session ended.
                When this happens the daemon dies with an ALARM signal.
                Note that GDM 2.20 and earlier multiplied this setting by 2,
                so it may be necessary to increase the timeout if upgrading
                from GDM 2.20 and earlier to a newer version.
              </para>

              <para>Внимание! Ранее GDM использовал параметр <filename>PingInterval</filename>, который указывался в минутах. В большинстве случаев этот параметр желательно устанавливить менее минуты, например если необходимо использование XDMCP (лабораторные терминалы), задержка более чем 15 секунд действительно означает, что терминал выключен или перезагружается, и поэтому необходимо завершить сеанс.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Port</term>
            <listitem>
              <synopsis>Port=177</synopsis>
              <para>Порт UDP, который <filename>gdm</filename> прослушивает на XDMCP запросы. Изменяйте его, только если вы уверены в ваших действиях.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>Willing</term>
            <listitem>
              <synopsis>Willing=&lt;etc&gt;/gdm/Xwilling</synopsis>
              <para>Когда машина посылает пакет WILLING в ответ на QUERY, то она посылает строку, сообщающую статус этого сервера. Обычно это системный идентификатор, но можно создать сценарий, отражающий любое сообщение. Если такого сценария нет или значение параметра пустое, то будет послано сообщение по умолчанию. Если сценарий выполнился успешно и вернул сообщение, то будет отослана первая строка этого сообщения. Сценарий выполняется не чаще одного раза в три секунды для предотвращения DoS атак, путем забрасывания машины пакетами QUERY.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>
    </sect2>

    <sect2 id="greeterconfiguration">
        <title>Настройка простой программы приветствия (Simple Greeter)</title>

        <para>По умолчанию GDM использует программу приветствия «Simple Greeter» и она настраивается через GConf. Значения по умолчанию находятся в файле <filename>gdm-simple-greeter.schemas</filename>. Эти значения можно переопределить если учётная запись «gdm» имеет домашний каталог $HOME с правом записи, чтобы сохранять настройки GConf. Значения можно редактировать с помощью программ: <command>gconftool-2</command> или <command>gconf-editor</command>. Допустимы следующие настройки:</para>

        <variablelist>
          <title>Параметры конфигурации программы приветствия</title>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_enable</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para>Определяет, показывать ли приветствующее текстовое сообщение.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/banner_message_text</term>
            <listitem>
              <synopsis>NULL (string)</synopsis>
              <para>Содержит текстовое сообщения приветствия.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_restart_buttons</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para>Отражать ли кнопку перезагрузки системы на экране входа в систему.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/disable_user_list</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para lang="en">
                If true, then the face browser with known users is not shown
                in the login window.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/logo_icon_name</term>
            <listitem>
              <synopsis>computer (string)</synopsis>
              <para>Содержит имя значка темы для отображения логотипа приветствия.</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-languages</term>
            <listitem>
              <synopsis>[] (string list)</synopsis>
              <para lang="en">
                Set to a list of languages to be shown by default in the login
                window.  Default value is "[]".  With the default setting only
                the system default language is shown and the option "Other..."
                which pops-up a dialog box showing a full list of available
                languages which the user can select.
              </para>

              <para lang="en">
                Users are not intended to change this setting by hand.  Instead
                GDM keeps track of any languages selected in this configuration
                key, and will show them in the language combo box along with
                the "Other..." choice.  This way, commonly selected languages
                are easier to select.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/recent-layouts</term>
            <listitem>
              <synopsis>[] (string list)</synopsis>
              <para lang="en">
                Set to a list of keyboard layouts to be shown by default in the
                login panel.  Default value is "[]".  With the default setting
                only the system default keyboard layout is shown and the option
                "Other..." which pops-up a dialog box showing a full list of
                available keyboard layouts which the user can select.
              </para>

              <para lang="en">
                Users are not intended to change this setting by hand.  Instead
                GDM keeps track of any keyboard layouts selected in this
                configuration key, and will show them in the keyboard layout
                combo box along with the "Other..." choice.  This way, commonly
                selected keyboard layouts are easier to select.
              </para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>/apps/gdm/simple-greeter/wm_use_compiz</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para>Использовать ли менеджер окон compiz вместо metacity.</para>
            </listitem>
          </varlistentry>
        </variablelist>
    </sect2>

    <sect2 id="accessibilityconfiguration">
     <title>Параметры универсального доступа</title>

      <para lang="en">
       This section describes the accessibility configuration options available
       in GDM.
      </para>

      <sect3 id="accessibilitydialog">
        <title lang="en">GDM Accessibility Dialog And GConf Keys</title>

        <para lang="en">
         The GDM greeter panel at the login screen displays an accessibility
         icon.  Clicking on that icon opens the GDM Accessibility Dialog.  In
         the GDM Accessibility Dialog, there is a list of checkboxes, so the
         user can enable or disable the associated assistive tools.
        </para>

        <para lang="en">
         The checkboxes that correspond to the on-screen keyboard, screen
         magnifier and screen reader assistive tools act on the three GConf
         keys that are described in the next section of this document. By
         enabling or disabling these checkboxes, the associated GConf key is
         set to "true" or "false".  When the GConf key is set to true, the 
         assistive tools linked to this GConf key are launched.  When the 
         GConf key is set to "false", any running assistive tool linked to
         this GConf key are terminated.  These GConf keys are not automatically
         reset to a default state after the user has logged in.  Consequently,
         the assistive tools that were running during the last GDM login
         session will automatically be launched at the next GDM login session.
        </para>

        <para lang="en">
         The other checkboxes in the GDM Accessibility Dialog do not have
         corresponding GConf keys because no additional program is launched to
         provide the accessibility features that they offer.  These other
         options correspond to accessibility features that are provided by the
         Xserver, which is always running during the GDM session.
        </para>
      </sect3>

      <sect3 id="accessibilitygconfconfiguration">
        <title lang="en">Accessibility GConf Keys</title>

        <para lang="en">
         GDM offers the following GConf keys to control its accessibility
         features:
        </para>

        <variablelist>
          <title lang="en">GDM Configuration Keys</title>

          <varlistentry>
            <term>/desktop/gnome/interface/accessibility</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para lang="en">
                Controls whether the Accessibility infrastructure will be
                started with the GDM GUI.  This is needed for many
                accessibility technology programs to work.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_magnifier_enabled</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para lang="en">
                If set, then the assistive tools linked to this GConf key will
                be started with the GDM GUI program.  By default this is a
                screen magnifier application.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_keyboard_enabled</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para lang="en">
                If set, then the assistive tools linked to this GConf key will
                be started with the GDM GUI program.  By default this is an
                on-screen keyboard application.
              </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term>/desktop/gnome/applications/at/screen_reader_enabled</term>
            <listitem>
              <synopsis>false (boolean)</synopsis>
              <para lang="en">
                If set, then the assistive tools linked to this GConf key will
                be started with the GDM GUI program.  By default this is a
                screen reader application.
              </para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="accessibilitytoolsconfiguration">
        <title lang="en">Linking GConf Keys to Accessibility Tools</title>

        <para lang="en">
         For the screen_magnifier_enabled, the screen_keyboard_enabled, and the
         screen_reader_enabled GConf keys, the assistive tool which gets
         launched depends on the desktop files located in the GDM autostart
         directory as described in the "Autostart Configuration" section of
         this manual.  Any desktop file in the GDM autostart directory can be
         linked to these GConf key via specifying that GConf key in the
         AutostartCondition value in the desktop file.  So the exact
         AutostartCondition line in the desktop file could be one of the
         following:
        </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 lang="en">
         When an accessibility key is true, then any program which is linked to
         that key in a GDM autostart desktop file will be launched (unless the
         Hidden key is set to true in that desktop file).  A single GConf key
         can even start multiple assistive tools if there are multiple desktop
         files with this AutostartCondition in the GDM autostart directory.
        </para>
      </sect3>

      <sect3 id="accessibilitytoolexample">
        <title lang="en">Example Of Modifying Accessibility Tool Configuration</title>

        <para lang="en">
         For example, if GNOME is distributed with GOK as the default on-screen
         keyboard, then this could be replaced with a different program if
         desired.  To replace GOK with the on-screen keyboard application
         "onboard" and additionally activate the assistive tool "mousetweaks"
         for dwelling support, then the following configuration is needed.
        </para>

        <para lang="en">
         Create a desktop file for onboard and a second one for mousetweaks;
         for example, onboard.desktop and mousetweaks.desktop. These files
         must be placed in the GDM autostart directory and be in the format
         as explained in the "Autostart Configuration" section of this
         document.
        </para>

        <para lang="en">
         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 lang="en">
         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 lang="en">
         Note the line with the AutostartCondition that links both desktop
         files to the GConf key for the on-screen keyboard.
        </para>

        <para lang="en">
         To disable GOK from starting, the desktop file for the GOK on-screen
         keyboard must be removed or deactivated.  Otherwise onboard and GOK
         would simultaneously be started.  This can be done by removing the
         gok.desktop file from the GDM autostart directory, or by adding the
         "Hidden=true" key setting to the gok.desktop file.
        </para>

        <para lang="en">
         After making these changes, GOK will no longer be started when the
         user activates the on-screen keyboard in the GDM session; but onboard
         and mousetweaks will instead be launched.
        </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. Для всех таких параметров программа приветствия использует значения по умолчанию, пока они не будут переопределены: 1) установленной обязательной политикой GDM; 2) обязательной системной политикой. 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>С помощью GConf подключаемые модули можно отключить. Например, чтобы отключить звуковой модуль, следует использовать параметр <filename>/apps/gdm/simple-greeter/settings-manager-plugins/sound/active</filename>.</para>
    </sect2>

    <sect2 id="sessionconfig">
      <title>Параметры сеанса GDM</title>

      <para>Сеансы GDM определяются в соответствии со спецификациями рабочего пространства FreeDesktop.org, которые можно получить по адресу: <ulink url="http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec"> http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec</ulink>.</para>

      <para lang="en">
        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>Сеанс можно запретить, добавив в файл рабочего места строку: <filename>Hidden=true</filename>.</para>

      <para lang="en">
        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>Сеанс пользователя по умолчанию и выбор языка находятся в файле <filename>~/.dmrc</filename>. Этот файл создается при первом входе пользователя в соответствии с выбранными значениями. В дальнейшем значения могут быть изменены при последующем входе в систему. GDM запомнит последний выбор пользователя для следующего входа.</para>

      <para>Файл <filename>~/.dmrc</filename> записан в стандартном формате <filename>INI</filename>, имеет одну секцию <filename>[Desktop]</filename> и два параметра: <filename>Session</filename> и <filename>Language</filename>.</para>

      <para>Параметр <filename>Session</filename> определяет базовое имя файла сеанса <filename>.desktop</filename>. Имя указывается без расширения <filename>.desktop</filename>. Параметр <filename>Language</filename> определяет язык по умолчанию. Если любой из этих параметров отсутствует, то используются общие значения по умолчанию. Обычно файл выглядит следующим образом:</para>

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

  </sect1>

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

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

    <sect2 id="sbindir_binaries">
      <title>Команды GDM для пользователя root</title>

      <para>пакет GDM содержит следующие команды, предназначенные для пользователя root в каталоге <filename>sbindir</filename>:</para>

      <sect3 id="gdmcommandline">
        <title><command>gdm</command> Параметры командной строки</title>

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

        <variablelist>
          <title><command>gdm</command> Параметры командной строки</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>Вывести версию демона.</para>
            </listitem>
          </varlistentry>
        </variablelist>
      </sect3>

      <sect3 id="gdmrestartcommandline">
        <title><command>gdm-restart</command> Параметры командной строки</title>

        <para><command>gdm-restart</command> останавливает и перезапускает демон GDM, посылая сигнал HUP. Это вызовет немедленное завершение всех сеансов и выход всех пользователей вошедших через GDM.</para>
      </sect3>

      <sect3 id="gdmsaferestartcommandline">
        <title><command>gdm-safe-restart</command> Параметры командной строки</title>
  
        <para><command>gdm-safe-restart</command> останавливает и перезапускает демон GDM, посылая его сигнал USR1. GDM будет перезапущен как только все пользователи выйдут из системы.</para>
      </sect3>

      <sect3 id="gdmstopcommandline">
        <title><command>gdm-stop</command> Параметры командной строки</title>

        <para><command>gdm-stop</command> останавливает демон GDM, посылая сигнал TERM.</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, вы можете сообщить об ошибке или написать письмо в лист рассылки (как это сделать описано ранее во введении).</para>

    <para lang="en">
      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 «тихо» завершает работу.</para>

      <para>Во-первых, убедитесь, что сервер X правильно настроен. Файл конфигурации GDM содержит секцию [server-Standard], используемую для запуска X сервера. Проверьте, что эта команда запускается в вашей системе в командной строке консоли и запускает X сервер, в противном случае, вероятно, проблема в параметрах X сервера. Обратитесь к журналу ошибок X сервера. Возможно, X сервер требует других параметров командной строки. Если это так, измените конфигурацию GDM, чтобы тот запускал X сервер с параметрами корректными для вашей системы.</para>

      <para>Также проверьте, что каталог <filename>/tmp</filename> имеет корректные права доступа и владельца, а также что системный диск не переполнен, иначе это приведет к невозможности запустить GDM.</para>
    </sect2>
  </sect1>

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

  <sect1 id="license">
    <title>Лицензия</title>
    <para>Эта программа ― свободное программное обеспечение. Вы можете распространять или изменять его на условиях лицензии <ulink type="help" url="gnome-help:gpl"> <citetitle>GNU General Public License</citetitle></ulink> опубликованной Free Software Foundation; либо версии 2 лицензии, либо (на ваше усмотрение) любой более поздней версии.</para>
    <para>Эта программа распространяется в надежде на то, что приложение будет полезно, но БЕЗ ВСЯКИХ ГАРАНТИЙ; не гарантируется даже ПРИГОДНОСТЬ или СООТВЕСТВИЕ КАКИМ-ЛИБО ТРЕБОВАНИЯМ. Для получения дополнительной информации ознакомьтесь с GNU General Public License.</para>
    <para>Копия лицензии <citetitle>GNU General Public License</citetitle> включена как приложение к документу <citetitle>Руководство пользователя GNOME</citetitle>. Также копию <citetitle>GNU General Public License</citetitle> можно получить от Free Software Foundation, посетив <ulink type="http" url="http://www.fsf.org">веб-сайт организации</ulink> или направив письмо по адресу: <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:
-->
