Это команда xdm, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
xdm - X Display Manager с поддержкой XDMCP, выбор хоста
СИНТАКСИС
XDM [ -конфигурация конфигурационный файл ] [ -нодемон ] [ -отлаживать уровень_отладки ] [ -ERR
error_log_file ] [ -Ресурсы файл_ресурсов ] [ -сервер server_entry ] [ -сессия
сессионная_программа ]
ОПИСАНИЕ
Xдм управляет коллекцией X дисплеев, которые могут находиться на локальном хосте или удаленных серверах.
Конструкция XDM руководствовался потребностями X-терминалов, а также The Open Group
стандартный XDMCP, X Дисплей Менеджер Control протокол. Xдм предоставляет услуги, аналогичные
предоставленные инициализации, Гетти и Войти на символьных терминалах: запрос имени для входа
и пароль, аутентификация пользователя и запуск `` сеанса ''.
`` Сеанс '' определяется временем жизни конкретного процесса; в традиционном
символьный терминальный мир, это оболочка входа пользователя. в XDM контекст, это
произвольный менеджер сеанса. Это потому, что в оконной среде логин пользователя
Процесс оболочки не обязательно имеет какой-либо терминальный интерфейс, с которым можно соединиться.
Когда настоящий диспетчер сеансов недоступен, используется диспетчер окон или эмулятор терминала.
обычно используется как `` менеджер сеанса '', что означает, что завершение этого процесса
завершает сеанс пользователя.
Когда сеанс завершен, XDM сбрасывает X-сервер и (необязательно) перезапускает
весь процесс.
После появления XDM получает косвенный запрос через XDMCP, он может запустить выборщик процесс для выполнения
XDMCP BroadcastQuery (или запрос XDMCP к указанным хостам) от имени дисплея и
предложить меню возможных хостов, которые предлагают управление отображением XDMCP. Эта функция
полезно с X-терминалами, которые сами по себе не предлагают меню хоста.
Xдм можно настроить на игнорирование сообщений BroadcastQuery от выбранных хостов. Это
полезно, когда вы не хотите, чтобы хост появлялся в меню, созданном выборщик или X клеммы
самих себя.
Так как XDM предоставляет первый интерфейс, который увидят пользователи, он разработан, чтобы быть простым
использовать и легко настраивать под нужды конкретного сайта. Xдм есть много вариантов,
большинство из которых имеют разумные значения по умолчанию. Просмотрите различные разделы этого
вручную, сбор и выбор того, что вы хотите изменить. Обратите особое внимание на
Сессия Программа раздел, в котором будет описано, как настроить стиль сеанса
желательно.
О проекте
XDM обладает широкими возможностями настройки, и большую часть его поведения можно контролировать с помощью файлов ресурсов
и сценарии оболочки. Имена этих файлов сами по себе являются ресурсами, прочитанными из файла.
xdm-конфигурация или файл, названный -конфигурация опцию.
XDM предлагает два разных способа управления дисплеем. Он может управлять X-серверами, работающими на
локальная машина и указана в X-серверы, и он может управлять удаленными X-серверами (обычно X
терминалы) с использованием XDMCP (протокол управления XDM), как указано в Хдоступ .
Ресурсы X-клиентов, управляемые XDM вне сеанса пользователя, в том числе XDMсобственный
окно входа в систему, на это можно повлиять, установив ресурсы в X-ресурсы .
Для X-терминалов, которые не предлагают меню хостов для управления отображением, XDM
собрать желающих хостов и запустить выборщик программа, предлагающая пользователю меню. Для X
отображается подключенным к хосту, этот шаг обычно не используется, поскольку локальный хост выполняет
управление дисплеем.
После сброса X-сервера XDM управляет Xsetup скрипт для помощи в настройке
экран, который видит пользователь вместе с xлогин виджет.
Команда xлогин виджет, который XDM представляет, предлагает знакомые подсказки логина и пароля.
После того, как пользователь войдет в систему, XDM управляет Xstartup скрипт как root.
Затем XDM управляет Xсессия скрипт от имени пользователя. Этот файл системного сеанса может делать некоторые
дополнительный запуск и обычно запускает .xsession скрипт в домашнем каталоге пользователя.
Когда Xсессия скрипт завершается, сессия окончена.
В конце сеанса Xсброс скрипт запускается для очистки, X-сервер сбрасывается,
и цикл начинается заново.
Файл /var/журнал/xdm.log будет содержать сообщения об ошибках от XDM и все, что выводится на
stderr - пользователем настройка, хстартап, Xсессия or Xсброс. Когда у вас проблемы с получением XDM
работает, проверьте этот файл, XDM есть какие-либо ключи к разгадке проблемы.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Все эти варианты, кроме -конфигурация сам, укажите значения, которые также могут быть указаны в
файл конфигурации как ресурсы.
-конфигурация конфигурационный файл
Называет файл конфигурации, в котором указаны ресурсы для управления поведением
хдм. / и т.д. / X11 / xdm / xdm-config по умолчанию. См. Раздел Конфигурация Файл.
-нодемон
Задает значение false в качестве значения DisplayManager.daemonMode ресурс. Этот
подавляет нормальное поведение демона, предназначенное для XDM закрыть все файлы
дескрипторов, отделяется от управляющего терминала и помещается в
фон при первом запуске.
-отлаживать уровень_отладки
Задает числовое значение для DisplayManager.debugLevel ресурс. Ненулевой
Ценностные причины XDM выводить на терминал множество отладочных сообщений; это также
отключает DisplayManager.daemonMode ресурс, принуждение XDM работать синхронно.
Чтобы интерпретировать эти отладочные сообщения, копия исходного кода для XDM почти
необходимость. Не было предпринято никаких попыток рационализировать или стандартизировать результаты.
-ERR error_log_file
Задает значение для DisplayManager.errorLogFile ресурс. Этот файл
содержит ошибки из XDM а также все, что написано в stderr различными
сценарии и программы запускаются во время сеанса.
-Ресурсы файл_ресурсов
Задает значение для Ресурсы DisplayManager * ресурс. Этот файл загружен
через xrdb(1), чтобы указать параметры конфигурации для виджета аутентификации.
-сервер server_entry
Задает значение для DisplayManager.серверы ресурс. См. Раздел Местное
серверу Спецификация для описания этого ресурса.
-udpПорт port_number
Задает значение для DisplayManager.requestPort ресурс. Это устанавливает
номер порта, который XDM будет отслеживать запросы XDMCP. Если установлено значение 0, xdm не будет
слушать запросы XDMCP или Chooser. Поскольку XDMCP использует зарегистрированный общеизвестный UDP
порт 177, этот ресурс не должен быть изменен на значение, отличное от 0, за исключением
отладка.
-сессия сессионная_программа
Задает значение для DisplayManager * сеанс ресурс. Это указывает на
программа для запуска в качестве сеанса после входа пользователя в систему.
-xrm ресурс_спецификация
Позволяет указать произвольный ресурс, как в большинстве приложений X Toolkit.
РЕСУРСЫ
На многих этапах действия XDM можно управлять с помощью его конфигурации
файл в формате ресурса X. Некоторые ресурсы изменяют поведение XDM на всех
отображает, в то время как другие изменяют его поведение на одном дисплее. Если действия относятся к
конкретный дисплей, отображаемое имя вставляется в имя ресурса между
`` DisplayManager '' и последний сегмент имени ресурса.
Для локальных дисплеев имя и класс ресурса считываются из X-серверы .
Для удаленных дисплеев имя ресурса - это то, что разрешает сетевой адрес дисплея.
к. Увидеть удалить домен ресурс. Имя должно точно совпадать; XDM не знает всего
сетевые псевдонимы, которые могут попасть на данный дисплей. Если разрешение имени не удается,
адрес используется. Класс ресурса передается дисплеем в XDMCP Manage.
запрос.
Поскольку диспетчер ресурсов использует двоеточия для отделения имени ресурса от его имени.
значение и точки для разделения частей имени ресурса, XDM заменяет символы подчеркивания для обеих точек
и двоеточия при генерации имени ресурса. Например,
DisplayManager.expo_x_org_0.startup это имя ресурса, который определяет запуск
файл оболочки для отображения `` expo.x.org:0 ''.
DisplayManager.серверы
Этот ресурс либо указывает имя файла, полное серверных записей, по одной в каждой строке (если
значение начинается с косой черты) или отдельной серверной записи. См. Раздел Местное
серверу Спецификация для подробностей.
DisplayManager.requestPort
Это указывает номер порта UDP, который XDM используется для прослушивания входящего XDMCP
Запросы. Если вам не нужно отлаживать систему, оставьте это значение по умолчанию
из 177.
DisplayManager.errorLogFile
Вывод ошибок обычно направляется на системную консоль. Чтобы перенаправить его, установите это
ресурс к имени файла. Способ отправки этих сообщений системный журнал должно быть
разработан для систем, которые его поддерживают; однако большое разнообразие интерфейсов
исключает любую независимую от системы реализацию. Этот файл также содержит любые
вывод, направленный на stderr настройка, хстартап, Xсессия и Xсброс файлы, так что это
также будет содержать описания проблем в этих скриптах.
DisplayManager.debugLevel
Если целочисленное значение этого ресурса больше нуля, пачки отладки
информация будет распечатана. Он также отключает режим демона, который перенаправляет
информацию в битовое ведро и позволяет пользователям без полномочий root запускать хдм, , которые
обычно бесполезен.
DisplayManager.daemonMode
Как правило, XDM пытается превратиться в процесс-демон, не связанный с каким-либо
Терминал. Это достигается за счет разветвления родительского процесса и выхода из него,
затем закрытие файловых дескрипторов и освобождение управляющего терминала. В некоторых
среды это нежелательно (в частности, при отладке). Установка этого
resource на `` false '' отключит эту функцию.
DisplayManager.pidFile
Указанное имя файла будет создано, чтобы содержать представление ASCII
идентификатор процесса основного XDM процесса. Xдм также использует блокировку этого файла, чтобы
попытаться устранить несколько демонов, работающих на одном компьютере, что
вызвать немало хаоса.
DisplayManager.lockPidFile
Это ресурс, который определяет, XDM использует блокировку файлов для сохранения нескольких
дисплеи менеджеров от безумия. В System V для этого используется Lockf вызов библиотеки,
в то время как в BSD он использует стадо.
DisplayManager.authDir
Это имя каталога, в котором XDM хранит файлы авторизации, пока
инициализация сеанса. Значение по умолчанию - / var / lib / xdm. Может быть отменено
для конкретных дисплеев с помощью DisplayManager.ДИСПЛЕЙ.authFile.
DisplayManager.autoRescan
Это логическое значение контролирует, XDM повторно сканирует конфигурацию, серверы, доступ
файлы ключей управления и аутентификации после завершения сеанса, и файлы имеют
измененный. По умолчанию это `` истина ''. Вы можете принудительно XDM перечитать эти файлы
отправка SIGHUP основному процессу.
DisplayManager.removeDomainname
При вычислении отображаемого имени для клиентов XDMCP преобразователь имен обычно
создайте полное имя хоста для терминала. Как это иногда бывает
запутанным, XDM удалит часть имени домена из имени хоста, если это
то же, что и доменное имя локального хоста, когда эта переменная установлена. По умолчанию
значение - `` истина ''.
DisplayManager.keyFile
Для аутентификации XDMCP в стиле XDM-AUTHENTICATION-1 требуется, чтобы
разделены между XDM и терминал. Этот ресурс определяет файл, содержащий
эти ценности. Каждая запись в файле состоит из отображаемого имени и общего
ключ. По умолчанию, XDM не включает поддержку XDM-AUTHENTICATION-1, поскольку
требует DES, который обычно не распространяется из-за экспорта из США
ограничения.
DisplayManager.accessFile
Чтобы предотвратить несанкционированный сервис XDMCP и разрешить пересылку XDMCP
Запросы IndirectQuery, этот файл содержит базу данных имен хостов, которые либо
разрешили прямой доступ к этому компьютеру или иметь список хостов, к которым запросы
следует направить по адресу. Формат этого файла описан в разделе XDMCP
О компании Контроль.
DisplayManager.exportList
Список дополнительных переменных среды, разделенных пробелом, для передачи
Xsetup, Xstartup, Xсессияи Xсброс программ.
DisplayManager.randomFile
Файл контрольной суммы для генерации начального числа ключей авторизации. Это должно быть
файл, который часто меняется. По умолчанию / dev / mem.
DisplayManager.randomDevice
Файл, 8 байтов из которого нужно прочитать, чтобы сгенерировать начальное число ключей авторизации. В
по умолчанию / DEV / urandom . Если этот файл не может быть прочитан, или если чтение блокируется для
более 5 секунд xdm возвращается к использованию контрольной суммы
DisplayManager.randomFile для создания семени.
DisplayManager.prngdSocket
DisplayManager.prngPort
Имя сокета домена UNIX или номер порта сокета TCP на локальном хосте, на котором
Демон генератора псевдослучайных чисел, например EGD (http://egd.sourceforge.net) является
прослушивание, чтобы сгенерировать ключи авторизации. Либо ненулевой порт, либо
Должно быть указано допустимое имя сокета. По умолчанию используется сокет домена Unix.
/ tmp / энтропия.
В системах, в которых нет такого демона, резервная система сбора энтропии, основанная на
Вместо этого используется различное содержимое файла журнала, хешируемое алгоритмом MD5.
DisplayManager.greeterLib
В системах, поддерживающих динамически загружаемую библиотеку приветствия, имя
библиотека. По умолчанию
/usr/lib/X11/xdm/libXdmGreet.so.
DisplayManager.choiceTimeout
Количество секунд ожидания ответа дисплея после того, как пользователь выбрал хост
от выбирающего. Если дисплей отправляет XDMCP IndirectQuery в течение этого времени,
запрос перенаправляется на выбранный хост. В противном случае предполагается, что это
новый сеанс и снова предлагается выбор. По умолчанию 15.
DisplayManager.sourceAddress
Вместо этого используйте числовой IP-адрес входящего соединения на многосетевых хостах.
имени хоста. Это сделано для того, чтобы не пытаться подключиться к неправильному интерфейсу, который
может быть недоступен в это время.
DisplayManager.желающий
Это определяет программу, которая запускается (как) root, когда XDMCP BroadcastQuery
получен, и этот хост настроен для управления отображением XDMCP. Выход
этой программы может отображаться в окне выбора. Если программа не указана,
строка Готовый в управлять отправлено.
ДисплейМенеджер.ДИСПЛЕЙ.Ресурсы
Этот ресурс указывает имя файла, который будет загружен xrdb как ресурс
базу данных в корневое окно экрана 0 дисплея. В Xsetup программа,
Виджет входа в систему и выборщик будет использовать ресурсы, установленные в этом файле. Этот ресурс
база данных загружается непосредственно перед запуском процедуры аутентификации, поэтому она может
контролировать внешний вид окна входа в систему. См. Раздел Аутентификация Виджет
в котором описаны различные ресурсы, которые можно разместить в этом файле.
Для этого ресурса нет значения по умолчанию, но
/ и т.д. / X11 / xdm / Xresources это условное имя.
ДисплейМенеджер.ДИСПЛЕЙ.выбирающий
Определяет запуск программы, предлагающий меню хоста для косвенных запросов, перенаправленных на
специальное имя хоста CHOOSER.
/ usr / lib / X11 / xdm / выбор по умолчанию. См. Разделы XDMCP О компании Control
и тот, кто выбирает.
ДисплейМенеджер.ДИСПЛЕЙ.xrdb
Задает программу, используемую для загрузки ресурсов. По умолчанию, XDM использования
/ usr / bin / xrdb.
ДисплейМенеджер.ДИСПЛЕЙ.cpp
Это определяет имя препроцессора C, который используется xrdb.
ДисплейМенеджер.ДИСПЛЕЙ.настраивать
Это определяет программу, которая запускается (от имени пользователя root) перед тем, как открыть окно входа в систему.
Это может быть использовано для изменения внешнего вида экрана вокруг окна входа в систему или
для размещения других окон (например, вы можете захотеть запустить хконсоль здесь). По умолчанию нет
программа запущена. Условное имя файла, используемого здесь, - Xsetup. Смотреть
. Установка Программы.
ДисплейМенеджер.ДИСПЛЕЙ.запускать
Это определяет программу, которая запускается (как root) после процесса аутентификации.
удается. По умолчанию никакая программа не запускается. Условное имя для используемого файла
здесь Xstartup. См. Раздел Стартап Программы.
ДисплейМенеджер.ДИСПЛЕЙ.сессия
Это указывает сеанс, который будет выполняться (не от имени пользователя root). По умолчанию,
/ usr / bin / xterm запущен. Условное название Xсессия. См. Раздел Сессия
Программы.
ДисплейМенеджер.ДИСПЛЕЙ.сброс настроек
Это определяет программу, которая запускается (от имени пользователя root) после завершения сеанса. К
по умолчанию никакая программа не запускается. Условное название Xсброс. См. Раздел
Сброс Программы.
ДисплейМенеджер.ДИСПЛЕЙ.openDelay
ДисплейМенеджер.ДИСПЛЕЙ.openRepeat
ДисплейМенеджер.ДИСПЛЕЙ.openTimeout
ДисплейМенеджер.ДИСПЛЕЙ.startAttempts
ДисплейМенеджер.ДИСПЛЕЙ.reservAttempts
Эти числовые ресурсы управляют поведением XDM при попытке открыть
непримиримые серверы. openDelay длина паузы в секундах между
последовательные попытки, openRepeat это количество попыток, openTimeout is
время ожидания при фактической попытке открытия (т. е. максимальное
время, проведенное в соединяться(2) системный вызов) и СтартПопытки это количество раз
весь этот процесс выполняется до отказа от сервера. После openRepeat
были предприняты попытки, или если openTimeout секунды проходят в любом конкретном
попытка, XDM завершает работу и перезапускает сервер, пытаясь подключиться снова. Этот
процесс повторяется СтартПопытки раз, после чего дисплей объявляется
мертвые и инвалиды. Хотя такое поведение может показаться произвольным, оно было
разработан эмпирически и достаточно хорошо работает в большинстве систем. Граница
резервные попытки это количество раз, когда успешное соединение может быть
с последующей фатальной ошибкой. При достижении дисплей отключается. По умолчанию
значения openDelay: 15, openRepeat: 5, openTimeout: 120, СтартПопытки: 4 и
резервные попытки: 2.
ДисплейМенеджер.ДИСПЛЕЙ.pingInterval
ДисплейМенеджер.ДИСПЛЕЙ.pingTimeout
Чтобы узнать, когда исчезают удаленные дисплеи, XDM иногда пингует их, используя X
соединение и XSync звонки. pingInterval указывает время (в минутах) между
каждая попытка пинга, pingTimeout указывает максимальное количество времени (в минутах) для
дождитесь ответа терминала на запрос. Если терминал не отвечает,
сеанс объявляется мертвым и завершается. По умолчанию для обоих установлено значение 5.
минут. Если вы часто используете X-клеммы, которые могут быть изолированы от
управляющий хостом, вы можете увеличить это значение. Единственное беспокойство заключается в том, что
сеансы продолжат существовать после того, как терминал был случайно отключен.
XDM не будет пинговать локальные дисплеи. Хотя это казалось бы безобидным, но
неприятно, когда сессия рабочей станции прерывается по вине сервера
висит для службы NFS и не отвечает на пинг.
ДисплейМенеджер.ДИСПЛЕЙ.terminateServer
Этот логический ресурс указывает, должен ли X-сервер завершаться, когда
сеанс завершается (вместо его сброса). Эту опцию можно использовать, когда
сервер имеет тенденцию неограниченно расти со временем, чтобы ограничить количество времени
сервер запущен. Значение по умолчанию - false.
ДисплейМенеджер.ДИСПЛЕЙ.путь пользователя
Xдм устанавливает это значение для переменной среды PATH для сеанса. Должен быть
список каталогов, разделенных двоеточием; видеть sh(1) для полного описания. В
значение по умолчанию:/ USR / местные / бен:/ USR / бен:/ бен:/ usr / игры''.
ДисплейМенеджер.ДИСПЛЕЙ.системный путь
Xдм устанавливает переменную среды PATH для сценариев запуска и сброса на
ценность этого ресурса. По умолчанию для этого ресурса
``/ usr / местные / sbin:/ USR / местные / бен:/ usr / sbin:/ USR / бен:/ SBIN:/ бен''. Обратите внимание на отсутствие
из ``. '' из этой записи. Это хорошая практика для пользователя root; это избегает
множество распространенных схем проникновения в систему троянских коней.
ДисплейМенеджер.ДИСПЛЕЙ.systemShell
Xдм устанавливает переменную среды SHELL для сценариев запуска и сброса на
ценность этого ресурса. это / Бен / ш по умолчанию.
ДисплейМенеджер.ДИСПЛЕЙ.failsafeClient
Если сеанс по умолчанию не может быть выполнен, XDM вернется к этой программе. Этот
программа выполняется без аргументов, но выполняется в той же среде
переменные, как в сеансе (см. раздел Сессия Программа). По
по умолчанию, / usr / bin / xterm используется.
ДисплейМенеджер.ДИСПЛЕЙ.grabServer
ДисплейМенеджер.ДИСПЛЕЙ.grabTimeout
Чтобы повысить безопасность, XDM захватывает сервер и клавиатуру при чтении логина
и пароль. В грабсервер ресурс указывает, следует ли удерживать сервер в течение
продолжительность чтения имени / пароля. Когда установлено значение false, сервер не захвачен.
после успешного захвата клавиатуры, в противном случае захват сервера происходит непосредственно перед
сеанс начинается. По умолчанию установлено значение false. захваттайм-аут ресурс указывает
максимальное время XDM будет ждать успеха захвата. Захват может потерпеть неудачу, если некоторые
другой клиент захватил сервер, или, возможно, если задержки в сети очень
высокий. Этот ресурс имеет значение по умолчанию 3 секунды; ты должен быть осторожен, когда
поднимая его, так как пользователь может быть обманут похожим окном на дисплее. Если
захват не удался, XDM убивает и перезапускает сервер (если возможно) и сеанс.
ДисплейМенеджер.ДИСПЛЕЙ.разрешить
ДисплейМенеджер.ДИСПЛЕЙ.authName
санкционировать это логический ресурс, который определяет, XDM генерирует и использует
авторизация для подключений к локальному серверу. Если используется авторизация, имя_аутентификации
список используемых механизмов авторизации, разделенных пробелом. XDMCP
соединения динамически определяют, какие механизмы авторизации поддерживаются, поэтому
имя_аутентификации в этом случае игнорируется. Когда санкционировать устанавливается для отображения и
авторизация недоступна, пользователь информируется другим сообщением
отображается в виджете входа в систему. По умолчанию, санкционировать это `` правда '' имя_аутентификации is
`` MIT-MAGIC-COOKIE-1 '' или, если доступен XDM-AUTHORIZATION-1, `` XDM-
АВТОРИЗАЦИЯ-1 MIT-MAGIC-COOKIE-1. ''
ДисплейМенеджер.ДИСПЛЕЙ.authFile
Этот файл используется для передачи данных авторизации от XDM на сервер,
используя -аутентификация параметр командной строки сервера. Он должен храниться в каталоге, который
не доступен для записи всем, так как его можно легко удалить, отключив авторизацию
механизм на сервере. Если не указано, имя создается из
DisplayManager.authDir и имя отображения.
ДисплейМенеджер.ДИСПЛЕЙ.authПожаловаться
Если установлено значение `` false '', отключает использование небезопасный в окне входа в систему.
Смотрите раздел Аутентификация Widget. По умолчанию установлено значение true.
ДисплейМенеджер.ДИСПЛЕЙ.resetSignal
Номер сигнала XDM отправляет для сброса сервера. См. Раздел
Управление Сервер. По умолчанию - 1 (SIGHUP).
ДисплейМенеджер.ДИСПЛЕЙ.termSignal
Номер сигнала XDM отправляет для завершения работы сервера. См. Раздел
Управление Сервер. По умолчанию 15 (SIGTERM).
ДисплейМенеджер.ДИСПЛЕЙ.resetForAuth
Исходная реализация авторизации на примере сервера перечитала
файл авторизации во время сброса сервера, а не при проверке начального
связь. В качестве XDM генерирует информацию авторизации непосредственно перед подключением
на дисплей старый сервер не сможет получить актуальную информацию об авторизации.
Этот ресурс вызывает XDM отправить SIGHUP на сервер после настройки файла,
вызывая дополнительный сброс сервера, в течение которого новый
информация авторизации будет прочитана. По умолчанию установлено значение false, что сработает.
для всех серверов MIT.
ДисплейМенеджер.ДИСПЛЕЙ.userAuthDir
После появления XDM не может писать в обычный файл авторизации пользователя
($ HOME / .Xauthority), он создает уникальное имя файла в этом каталоге и указывает
переменная окружения XAUTHORITY в созданном файле. Оно использует / Tmp по умолчанию.
КОНФИГУРАЦИЯ ФАЙЛОВ
Во-первых, XDM файл конфигурации должен быть настроен. Сделайте каталог (обычно
/ и т.д. / X11 / xdm), чтобы содержать все соответствующие файлы.
Вот разумный файл конфигурации, который можно было бы назвать xdm-конфигурация:
DisplayManager.servers: / etc / X11 / xdm / Xservers
DisplayManager.errorLogFile: /var/log/xdm.log
Ресурсы DisplayManager *: / etc / X11 / xdm / Xresources
DisplayManager * запуск: / etc / X11 / xdm / Xstartup
Сеанс DisplayManager *: / etc / X11 / xdm / Xsession
DisplayManager.pid Файл: / var / run / xdm-pid
DisplayManager._0.authorize: истина
DisplayManager * авторизация: ложь
Обратите внимание, что этот файл в основном содержит ссылки на другие файлы. Отметим также, что некоторые из
ресурсы указываются знаком `` * '', разделяющего компоненты. Эти ресурсы можно сделать
уникальным для каждого отдельного дисплея, заменяя `` * '' отображаемым именем, но
обычно это не очень полезно. Увидеть Ресурсы раздел для полного обсуждения.
XDMCP ДОСТУП КОНТРОЛЬ
Файл базы данных, указанный DisplayManager.accessFile предоставляет информацию, которая
XDM используется для управления доступом с дисплеев, запрашивающих службу XDMCP. Этот файл содержит
три типа записей: записи, которые управляют ответом на прямой и широковещательный
запросы, записи, управляющие ответом на косвенные запросы, и определения макросов.
Формат записей Direct прост, либо имя хоста, либо шаблон, который
отличается от имени хоста включением одного или нескольких метасимволов (`* '
соответствует любой последовательности из 0 или более символов, а `? ' соответствует любому одиночному символу), который
сравниваются с именем хоста устройства отображения. Если запись является именем хоста,
все сравнения выполняются с использованием сетевых адресов, поэтому любое имя, которое преобразуется в
может использоваться правильный сетевой адрес. Для шаблонов используются только канонические имена хостов.
сравнение, поэтому убедитесь, что вы не пытаетесь сопоставить псевдонимы. Предшествующий либо
имя хоста или образец с `! ' символ заставляет хосты, соответствующие этой записи, быть
не входит.
Чтобы отвечать только на прямые запросы для хоста или шаблона, за ним может следовать
необязательное ключевое слово NOBROADCAST. Это можно использовать, чтобы запретить серверу xdm
появляется в меню на основе широковещательных запросов.
Непрямая запись также содержит имя хоста или шаблон, но следует за ним список хостов.
имена или макросы, которым следует отправлять косвенные запросы.
Определение макроса содержит имя макроса и список имен хостов и других макросов, которые
макрос расширяется до. Чтобы отличать макросы от имен хостов, имена макросов начинаются с символа `% '
персонаж. Макросы могут быть вложенными.
Косвенные записи могут также указывать на наличие XDM пробег выборщик предложить меню хозяев
подключиться к. См. Раздел тот, кто выбирает.
При проверке доступа к определенному хосту дисплея каждая запись сканируется по очереди, и
первая совпадающая запись определяет ответ. Записи Direct и Broadcast игнорируются
при сканировании на косвенную запись и наоборот.
Пустые строки игнорируются, символ `# 'рассматривается как разделитель комментариев, вызывая остальную часть этого
строка, которую следует игнорировать, и `\новая линия'заставляет игнорировать новую строку, позволяя косвенно
списки хостов для охвата нескольких строк.
Вот пример файла Xaccess:
#
# Xaccess - файл управления доступом XDMCP
#
#
# Записи прямого / широковещательного запроса
#
! xtra.lcs.mit.edu # запретить прямую / широковещательную службу для xtra
bambi.ogi.edu # разрешить доступ с этого конкретного дисплея
* .lcs.mit.edu # разрешить доступ с любого дисплея в LCS
* .deshaw.com NOBROADCAST # разрешить только прямой доступ
* .gw.com # разрешить прямую и трансляцию
#
# Косвенные записи запроса
#
% HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu \
избыток.lcs.mit.edu kanga.lcs.mit.edu
extract.lcs.mit.edu xenon.lcs.mit.edu # force extract для связи с ксеноном
! xtra.lcs.mit.edu dummy #disallow косвенный доступ
* .lcs.mit.edu% HOSTS # все остальные могут выбирать
Если скомпилирован с поддержкой IPv6, группы адресов многоадресной рассылки также могут быть включены в список.
адресов устанавливаются косвенные запросы. Многоадресные адреса могут сопровождаться
необязательный / символ и количество переходов. Если число переходов не указано, счетчик многоадресных переходов
по умолчанию 1, сохраняя пакет в локальной сети. Для многоадресной рассылки IPv4 переход
count используется как TTL.
Примеры:
rincewind.sample.net ff02 :: 1 # Многоадресная передача IPv6 на ff02 :: 1
# с числом переходов 1
ponder.sample.net ВЫБОР 239.192.1.1/16 # Предлагаем меню хостов
# кто отвечает на многоадресную рассылку IPv4
# до 239.192.1.1 с TTL 16
ВЫБОР
Для X-терминалов, которые не предлагают меню хоста для использования с широковещательными или косвенными запросами,
выборщик программа может сделать это за них. в Хдоступ файла укажите `` CHOOSER '' в качестве
первая запись в списке косвенных хостов. тот, кто выбирает отправит запрос на каждый из
оставшиеся имена хостов в списке и предлагают меню всех отвечающих хостов.
Список может состоять из слова `` ТРАНСЛЯЦИЯ '', в этом случае выборщик пришлет
Вместо этого транслируйте, снова предлагая меню всех отвечающих хостов. Обратите внимание, что на некоторых
В операционных системах UDP-пакеты не могут транслироваться, поэтому эта функция не будет работать.
Пример Хдоступ файл с помощью выборщик:
extract.lcs.mit.edu CHOOSER% HOSTS # предложить меню этих хостов
xtra.lcs.mit.edu CHOOSER BROADCAST # предложить меню всех хостов
Программа для использования выборщик определяется ДисплейМенеджер.ДИСПЛЕЙ.выбирающий
ресурс. Для большей гибкости на этом этапе выбором может быть сценарий оболочки.
тот, кто выбирает здесь находится менеджер сеанса; он запускается вместо ребенка XDM управлять
дисплей.
Ресурсы для этой программы можно поместить в файл с именем
ДисплейМенеджер.ДИСПЛЕЙ.Ресурсы.
Когда пользователь выбирает хост, выборщик печатает выбранный хост, который читается родителем
XDM, и выходит. XDM закрывает свое соединение с X-сервером, и сервер перезагружается и
отправляет другой Косвенное охлаждение: Запрос XDMCP. XDM запоминает выбор пользователя (для
DisplayManager.choiceTimeout секунд) и перенаправляет запрос на выбранный хост, который
запускает сеанс на этом дисплее.
СЛУШАТЬ
Следующая директива конфигурации также определена для файла конфигурации Xaccess:
СЛУШАТЬ интерфейс [список of многоадресной группы адреса]
интерфейс может быть именем хоста или IP-адресом, представляющим сетевой интерфейс на этом
машина или подстановочный знак * для обозначения всех доступных сетевых интерфейсов.
Если указана одна или несколько строк LISTEN, xdm прослушивает только соединения XDMCP на
указанные интерфейсы. Если адреса групп многоадресной рассылки перечислены в строке прослушивания, xdm присоединяется
группы многоадресной рассылки на данном интерфейсе.
Если строки LISTEN не указаны, исходное поведение прослушивания на всех интерфейсах
сохранено для обратной совместимости. Кроме того, если LISTEN не указан, xdm присоединяется
группа многоадресной рассылки XDMCP IPv6 по умолчанию при компиляции с поддержкой IPv6.
Чтобы отключить прослушивание соединений XDMCP в целом, строка LISTEN без адресов
может быть указан, или ранее поддерживаемый метод настройки DisplayManager.requestPort
до 0 можно использовать.
Примеры:
LISTEN * ff02 :: 1 # Слушать все интерфейсы и
# ff02 :: 1 многоадресная группа IPv6.
LISTEN 10.11.12.13 # Слушать только на этом интерфейсе, пока
# поскольку никакие другие директивы прослушивания не появляются в
# файл.
IPv6 МУЛЬТИКАСТ АДРЕС ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Управление по присвоению номеров Интернета назначило ff0X:0:0:0:0:0:0:12b as the
постоянно назначенный диапазон многоадресных адресов для XDMCP. В X в префиксе может быть
заменяется любым допустимым идентификатором области, например 1 для Interface-Local, 2 для Link-Local, 5
для Site-Local и так далее. (См. IETF RFC 4291 или его замену для получения дополнительных сведений и
определения области.) xdm по умолчанию прослушивает адрес области Link-Local.
ff02: 0: 0: 0: 0: 0: 0: 12b, чтобы максимально точно соответствовать старому поведению широковещательной передачи подсети IPv4.
LOCAL SERVER ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Ресурс DisplayManager.серверы дает спецификацию сервера или, если значения начинаются
с косой чертой (/) - имя файла, содержащего спецификации сервера, по одной в каждой строке.
Каждая спецификация указывает дисплей, которым нужно постоянно управлять, а которым нельзя
используя XDMCP. Этот метод обычно используется только для локальных серверов. Если ресурс или
файл, названный ресурсом, пуст, XDM будет предлагать только услугу XDMCP.
Каждая спецификация состоит как минимум из трех частей: отображаемого имени, отображаемого класса,
тип отображения и (для локальных серверов) командную строку для запуска сервера. Типичная запись
для локального дисплея номер 0 будет:
: 0 Digital-QV местный / usr / bin / X: 0
Типы отображения:
местный локальный дисплей: XDM должен запустить сервер
внешний удаленный дисплей: XDM открывает X-соединение с работающим сервером
Отображаемое имя должно быть чем-то, что можно передать в -дисплей вариант X
программа. Эта строка используется для генерации имен ресурсов для конкретных дисплеев, так что будьте
внимательно следить за соответствием имен (например, используйте ``: 0 Sun-CG3 local / usr / bin / X: 0 '' вместо
`` localhost: 0 Sun-CG3 local / usr / bin / X: 0 '', если другие ваши ресурсы указаны как
`` DisplayManager._0.session ''). Часть класса отображения также используется в отображении:
конкретные ресурсы, как класс ресурса. Это полезно, если у вас большой
набор аналогичных дисплеев (например, загон X-терминалов) и хотел бы установить
ресурсы для их групп. При использовании XDMCP на дисплее требуется указать
display class, поэтому руководство для вашего конкретного X-терминала должно задокументировать отображение
строка класса для вашего устройства. Если этого не произойдет, вы можете запустить XDM в режиме отладки и посмотрите
строки ресурсов, которые он генерирует для этого устройства, которые будут включать класс
строка.
После появления XDM запускает сеанс, устанавливает данные авторизации для сервера. Для местных
серверы, XDM проходит ''-аутентификация имя файла'' в командной строке сервера, чтобы указать на его
данные авторизации. Для серверов XDMCP, XDM передает данные авторизации на сервер
через Принять Запрос XDMCP.
РЕСУРСЫ ФАЙЛОВ
Команда X-ресурсы файл загружается на дисплей как база данных ресурсов с использованием xrdb. Как
виджет аутентификации считывает эту базу данных перед запуском, обычно он содержит
параметры для этого виджета:
xlogin * login.translations: #override \
Ctrl R: abort-display () \ n \
F1: установить-аргумент-сеанса (отказоустойчивый) финиш-поле () \ n \
Возврат: набор-аргумент-сеанса () финиш-поле ()
xlogin * borderWidth: 3
xlogin * приветствие: CLIENTHOST
#ifdef ЦВЕТ
xlogin * greetColor: CadetBlue
xlogin * failColor: красный
#endif
Обратите внимание на запись о переводах; он определяет несколько новых переводов для виджета
которые позволяют пользователям выйти из сеанса по умолчанию (и избежать проблем, которые могут возникнуть в
Это). Обратите внимание, что если #override не указан, переводы по умолчанию удаляются и
заменено новым значением, не очень полезный результат, так как некоторые переводы по умолчанию
весьма полезны (например, `` : insert-char () '', который отвечает на обычный ввод).
Этот файл также может содержать ресурсы для программы установки и выборщик.
УСТАНОВКА ПРОГРАММА
Команда Xsetup файл запускается после сброса сервера, но до появления окна входа в систему.
Файл обычно представляет собой сценарий оболочки. Он запускается от имени пользователя root, поэтому будьте осторожны с
безопасность. Это место, где можно изменить корневой фон или открыть другие окна, которые
должен появиться на экране вместе с виджетом входа в систему.
В дополнение к любому, указанному DisplayManager.exportList, следующая среда
передаются переменные:
ОТОБРАЖЕНИЕ связанного отображаемого имени
ПУТЬ значение ДисплейМенеджер.ДИСПЛЕЙ.системный путь
РАСКРЫВАЙТЕ ценность ДисплейМенеджер.ДИСПЛЕЙ.systemShell
XAUTHORITY может быть установлен в авторитетный файл
Обратите внимание, что поскольку XDM захватывает клавиатуру, другие окна не смогут получить
ввод с клавиатуры. Однако они смогут взаимодействовать с мышью; остерегаться
потенциальные дыры в безопасности здесь. Если ДисплейМенеджер.ДИСПЛЕЙ.grabServer установлен, Xsetup предусматривает
вообще не сможет подключиться к дисплею. Ресурсы для этой программы можно поместить в
файл, названный ДисплейМенеджер.ДИСПЛЕЙ.Ресурсы.
Вот образец Xsetup сценарий:
#!/ Бен / ш
# Xsetup_0 - скрипт установки для одной рабочей станции
xcmsdb </etc/X11/xdm/monitors/alex.0
xconsole -geometry 480x130-0-0 -notify -verbose -exitOnFail &
АВТОРИЗАЦИЯ ВИДЖЕТ
Виджет аутентификации запрашивает у пользователя имя пользователя, пароль и / или другие
требуются данные аутентификации с клавиатуры. Практически любой вообразимый параметр может быть
контролируется ресурсом. Ресурсы для этого виджета следует поместить в файл с именем
by ДисплейМенеджер.ДИСПЛЕЙ.Ресурсы. Все они имеют разумные значения по умолчанию, поэтому
указывать какие-либо из них не обязательно.
Файл ресурсов загружен с xrdb(1) поэтому он может использовать замены, определенные этим
программу, такую как CLIENTHOST для имени хоста клиента в сообщении входа в систему, или предварительно
инструкции процессора #ifdef для создания различных дисплеев в зависимости от глубины цвета или
другие переменные.
Xдм может быть скомпилирован с поддержкой Xft(3) библиотека для рендеринга шрифтов. Если это
поддержка присутствует, начертания шрифтов указаны с использованием ресурсов с именами, оканчивающимися на
`` лицо '' в формате лица fontconfig, описанном в шрифт Названия раздел
шрифты.conf(5). Если нет, то шрифты указываются с использованием ресурсов с именами, заканчивающимися на
`` шрифт '' в традиционном X логический шрифт Описание формат, описанный в шрифт Названия
раздел X(7).
xlogin.Логин.ширина, xlogin.Логин.высота, xlogin.Логин.x, xlogin.Login.y
Геометрия виджета входа обычно вычисляется автоматически. Если хочешь
чтобы разместить его в другом месте, укажите каждый из этих ресурсов.
xlogin.Login.foreground
Цвет, используемый для отображения ввода, введенного пользователем.
xlogin.Логин.лицо
Лицо, используемое для отображения ввода, введенного пользователем при создании с поддержкой Xft.
По умолчанию - Serif-18.
xlogin.Логин.шрифт
Шрифт, используемый для отображения ввода, введенного пользователем, если он создан не с помощью Xft.
.
xlogin.Login.приветствие
Строка, идентифицирующая это окно. По умолчанию используется X Window System.
xlogin.Login.unsecureПриветствие
Когда X-авторизация запрашивается в файле конфигурации для этого дисплея и
не используется, это приветствие заменяет стандартное приветствие. По умолчанию
`` Это небезопасный сеанс ''
xlogin.Login.greetFace
Лицо, используемое для отображения приветствия при создании с поддержкой Xft. По умолчанию
`` Засечка-24: курсив ''.
xlogin.Login.greetFont
Шрифт, используемый для отображения приветствия, если он не создан с поддержкой Xft.
xlogin.Login.greetColor
Цвет, используемый для отображения приветствия.
xlogin.Login.namePrompt
Строка, отображаемая для запроса имени пользователя. Xrdb полосы в конце белого пространства
из значений ресурсов, чтобы добавить пробелы в конце подсказки (обычно хороший
вещь), добавьте пробелы с обратной косой чертой. По умолчанию - `` Логин: ''.
xlogin.Login.passwdPrompt
Строка, отображаемая для запроса пароля, если аутентификация не используется.
система, такая как PAM, которая предоставляет свои собственные подсказки. По умолчанию - `` Пароль: ''
xlogin.Login.promptFace
Лицо, используемое для отображения подсказок при создании с поддержкой Xft. По умолчанию
`` Засечка-18: жирный ''.
xlogin.Login.promptFont
Шрифт, используемый для отображения подсказок, если он создан без поддержки Xft.
xlogin.Login.promptColor
Цвет, используемый для отображения подсказок.
xlogin.Login.changePasswdMessage
Сообщение, которое отображается, когда срок действия пароля пользователя истек. По умолчанию
`` Требуется смена пароля ''
xlogin.Login.fail
Сообщение, которое отображается при сбое аутентификации, когда не используется
система аутентификации, такая как PAM, которая предоставляет собственные подсказки. По умолчанию
`` Неверный логин ''
xlogin.Login.failFace
Лицо, используемое для отображения сообщения об ошибке при сборке с поддержкой Xft. В
по умолчанию - `` Serif-18: bold ''.
xlogin.Login.failFont
Шрифт, используемый для отображения сообщения об ошибке, если он создан без поддержки Xft.
xlogin.Login.failColor
Цвет, используемый для отображения сообщения об ошибке.
xlogin.Login.failTimeout
Количество секунд, в течение которых отображается сообщение об ошибке. По умолчанию 10.
xlogin.Login.logoFileName
Имя растрового изображения формата XPM для отображения в окне приветствия, если оно создано с помощью XPM
служба поддержки. По умолчанию растровое изображение отсутствует.
xlogin.Login.logoPadding
Количество пикселей между растровым изображением логотипа и другими элементами приветствия.
окно, если отображается растровое изображение. По умолчанию - 5.
xlogin.Login.useShape
Если установлено значение `` true '', при сборке с поддержкой XPM попытайтесь использовать X Non-
Расширение формы прямоугольного окна для установки формы окна. По умолчанию
`` правда ''.
xlogin.Login.hiColor, xlogin.Login.shdColor
Возвышенные рамки внешнего вида могут быть нарисованы вокруг рамки приветствия и полей ввода текста.
установив эти ресурсы. hiColor - это цвет выделения, используемый сверху и
левая сторона рамки, а также нижняя и правая стороны областей ввода текста.
shdColor - это цвет тени, используемый в нижней и правой частях кадра, и
верхняя и левая стороны областей ввода текста. По умолчанию для обоих используется передний план.
цвет, обеспечивающий ровный вид.
xlogin.Login.frameWidth
frameWidth - ширина в пикселях области вокруг рамки приветствия, нарисованной в
hiColor и shdColor.
xlogin.Login.innerFramesWidth
innerFramesWidth - ширина в пикселях области вокруг нарисованных областей ввода текста.
в hiColor и shdColor.
xlogin.Login.sepWidth
sepWidth - ширина в пикселях обведенной рамкой линии между приветствием и вводом.
области, нарисованные в hiColor и shdColor.
xlogin.Login.allowRootLogin
Если установлено значение `` false '', не позволяйте root (и любому другому пользователю с uid = 0) входить в систему.
напрямую. По умолчанию - true. Этот параметр проверяется только некоторыми
бэкэнды аутентификации в настоящее время.
xlogin.Login.allowNullPasswd
Если установлено значение `` true '', разрешить успешное совпадение пароля, если
учетная запись вообще не требует пароля. По умолчанию установлено значение false, поэтому только
пользователи, которым назначены пароли, могут войти в систему.
xlogin.Login.echoPasswd
Если установлено значение `` true '', будет отображаться символ-заполнитель (echoPasswdChar) для
поля обычно не отображаются, например ввод пароля. По умолчанию - false.
xlogin.Login.echoPasswdChar
Символ, отображаемый, если echoPasswd истинно. По умолчанию - `` * ''. Если установлено на
пустое значение, курсор будет перемещаться для каждого ввода символа, но текст не будет
нарисован.
xlogin.Login.translations
Это определяет переводы, используемые для виджета входа в систему. Обратитесь к X Toolkit
документация для полного обсуждения переводов. Перевод по умолчанию
таблица:
Ctrl H: удалить предыдущий символ () \ n \
Ctrl D: символ удаления () \ n \
Ctrl B: двигаться-назад-символ () \ n \
Ctrl F: символ движения вперед () \ n \
Ctrl A: перейти к началу () \ n \
Ctrl E: перейти в конец () \ n \
Ctrl K: стирать до конца строки () \ n \
Ctrl U: стереть строку () \ n \
Ctrl X: стереть строку () \ n \
Ctrl C: перезапуск-сеанс () \ n \
Ctrl \\: abort-session () \ n \
BackSpace: удалить предыдущий символ () \ n \
Удалить: удалить предыдущий символ () \ n \
Возврат: finish-field () \ n \
: insert-char () \
Виджет поддерживает следующие действия:
удалить предыдущий символ
Удаляет символ перед курсором.
удаляемый символ
Удаляет символ после курсора.
двигаться-назад-персонаж
Перемещает курсор назад.
двигаться вперед-персонаж
Перемещает курсор вперед.
переход к началу
(Приносим извинения за орфографическую ошибку.) Перемещает курсор в начало
редактируемый текст.
сквозной
Перемещает курсор в конец редактируемого текста.
стирать до конца строки
Удаляет весь текст после курсора.
стереть линию
Стирает весь текст.
финишное поле
Если курсор находится в поле имени, переходит к полю пароля; если курсор
находится в поле пароля, проверяет текущую пару имя / пароль. Если
пара имя / пароль действительна, XDM запускает сеанс. В противном случае сообщение об ошибке
отображается, и пользователю снова предлагается.
прервать сеанс
Завершает работу и перезапускает сервер.
прервать отображение
Завершает работу сервера, отключая его. Это действие недоступно по умолчанию
конфигурация. Есть разные причины остановиться XDM на системной консоли, например
при выключении системы, при использовании xdmshell, чтобы начать другой тип
сервер или для общего доступа к консоли. Отправка XDM SIGHUP перезапустит
отображать. См. Раздел Управление XDM.
перезапуск сеанса
Сбрасывает X-сервер и запускает новый сеанс. Это можно использовать, когда ресурсы
были изменены, и вы хотите их протестировать, или когда экран был перезаписан
с системными сообщениями.
Insert-char
Вставляет набранный символ.
установить аргумент сеанса
Задает аргумент из одного слова, который передается сеансу при запуске. Видеть
секция Сессия Программа.
разрешить весь доступ
Отключает контроль доступа на сервере. Это можно использовать, когда файл .Xauthority
не может быть создан хдм. Будьте очень осторожны, используя это; может быть лучше
перед этим отключите машину от сети.
В некоторых системах (OpenBSD) оболочка пользователя должна быть указана в / etc / shells чтобы разрешить вход
через xdm. Также применяются обычные пароль и срок действия учетной записи.
ЗАПУСК ПРОГРАММА
Команда Xstartup программа запускается как root, когда пользователь входит в систему. Обычно это оболочка
сценарий. Поскольку он запускается как root, Xstartup следует очень осторожно относиться к безопасности. Это
место для размещения команд, которые добавляют записи в утмп or втмп файлы, ( сессрег программа
может быть полезно здесь), смонтировать домашние каталоги пользователей с файловых серверов или прервать сеанс
если вход в систему не разрешен.
В дополнение к любому, указанному DisplayManager.exportList, следующая среда
передаются переменные:
ОТОБРАЖЕНИЕ связанного отображаемого имени
HOME начальный рабочий каталог пользователя
LOGNAME имя пользователя
ПОЛЬЗОВАТЕЛЬ имя пользователя
ПУТЬ значение ДисплейМенеджер.ДИСПЛЕЙ.системный путь
РАСКРЫВАЙТЕ ценность ДисплейМенеджер.ДИСПЛЕЙ.systemShell
XAUTHORITY может быть установлен в авторитетный файл
WINDOWPATH может быть установлен на «путь окна», ведущий к X-серверу.
Сценарию не передаются аргументы. Xдм ожидает выхода этого скрипта перед запуском
пользовательская сессия. Если значение выхода этого скрипта отличное от нуля, XDM прекращает
сеанс и запускает еще один цикл аутентификации.
Пример Xstartup показанный здесь файл предотвращает вход в систему, пока файл / etc / nologin существует.
Таким образом, это не полный пример, а просто демонстрация доступных
функциональность.
Вот образец Xstartup сценарий:
#!/ Бен / ш
#
# Xстартап
#
# Эта программа запускается от имени root после проверки пользователя
#
если [-f / etc / nologin]; тогда
xmessage -файл / etc / nologin -timeout 30 -center
выйти из 1
fi
сессрег -a -l $ ДИСПЛЕЙ -x / etc / X11 / xdm / Xservers $ LOGNAME
/ и т.д. / X11 / xdm / GiveConsole
выйти из 0
СЕССИЯ ПРОГРАММА
Команда Xсессия Программа - это команда, которая запускается в сеансе пользователя. Он запускается с
разрешения авторизованного пользователя.
В дополнение к любому, указанному DisplayManager.exportList, следующая среда
передаются переменные:
ОТОБРАЖЕНИЕ связанного отображаемого имени
HOME начальный рабочий каталог пользователя
LOGNAME имя пользователя
ПОЛЬЗОВАТЕЛЬ имя пользователя
ПУТЬ значение ДисплейМенеджер.ДИСПЛЕЙ.путь пользователя
SHELL оболочка пользователя по умолчанию (из Getpwnam)
XAUTHORITY может быть установлен в нестандартный авторитетный файл
Для KRB5CCNAME может быть задано имя кеша учетных данных Kerberos.
WINDOWPATH может быть установлен на «путь окна», ведущий к X-серверу.
На большинстве установок Xсессия должен искать файл в $ HOME .xсессия, который содержит
команды, которые каждый пользователь хотел бы использовать в качестве сеанса. Xсессия следует также реализовать
системный сеанс по умолчанию, если пользовательский сеанс не существует.
Аргумент может быть передан этой программе из виджета аутентификации с помощью команды `set-
действие-аргумент сеанса. Это можно использовать для выбора разных стилей сеанса. Один
хорошее использование этой функции - позволить пользователю выйти из обычного сеанса, когда он
терпит неудачу. Это позволяет пользователям ремонтировать свои собственные .xsession в случае неудачи, не требуя
административное вмешательство. Следующий пример демонстрирует эту функцию.
В этом примере распознается специальный `` отказоустойчивый '' режим, указанный в переводах в
X-ресурсы файл, чтобы обеспечить выход из обычного сеанса. Это также требует
чтобы файл .xsession был исполняемым, поэтому нам не нужно было угадывать, какую оболочку он хочет
использовать.
#!/ Бен / ш
#
# Xсессия
#
# Это программа, которая запускается как клиент
# для диспетчера дисплея.
case $ # in
1)
футляр $ 1 в
отказоустойчивый)
exec xterm-геометрия 80x24-0-0
;;
ESAC
ESAC
запуск = $ HOME / .xsession
ресурсы = $ HOME / .Xresources
если [-f "$ startup"]; тогда
exec "$ startup"
еще
если [-f "$ ресурсы"]; тогда
xrdb -load "$ ресурсы"
fi
twm &
xman -geometry + 10-10 &
exec xterm -geometry 80x24 + 10 + 10 -ls
fi
Пользователь .xsession файл может выглядеть примерно так, как в этом примере. Не забывайте, что
файл должен иметь разрешение на выполнение.
#! / bin / csh
# no -f в предыдущей строке, поэтому .cshrc запускается для установки $ PATH
twm &
xrdb -merge "$ HOME / .Xresources"
emacs -geometry + 0 + 50 &
xbiff -geometry -430 + 5 &
xterm -geometry -0 + 50 -ls
СБРОС ПРОГРАММА
Симметричный с Xstartup, Xсброс скрипт запускается после завершения пользовательского сеанса.
Запуск от имени пользователя root, он должен содержать команды, отменяющие действие команд в хстартап,
обновление записей в утмп or втмп файлы или размонтирование каталогов с файловых серверов. В
переменные среды, которые были переданы в Xstartup также передаются Xсброс.
Образец Xсброс сценарий:
#!/ Бен / ш
#
# Сброс
#
# Эта программа запускается от имени пользователя root после завершения сеанса
#
сессрег -d -l $ ДИСПЛЕЙ -x / etc / X11 / xdm / Xservers $ ИМЯ
/ и т.д. / X11 / xdm / TakeConsole
выйти из 0
УПРАВЛЕНИЕ SERVER
Xдм управляет локальными серверами с помощью сигналов POSIX. Ожидается, что SIGHUP сбросит сервер,
закрытие всех клиентских подключений и выполнение других задач по очистке. SIGTERM ожидается
чтобы завершить работу сервера. Если эти сигналы не выполняют ожидаемых действий,
Ресурсы ДисплейМенеджер.ДИСПЛЕЙ.resetSignal и ДисплейМенеджер.ДИСПЛЕЙ.termSignal
укажите альтернативные сигналы.
Для управления удаленными терминалами, не использующими XDMCP, XDM ищет иерархию окон на
отображает и использует запрос протокола KillClient в попытке очистить терминал
для следующего сеанса. На самом деле это может не убить всех клиентов, а только тех, которые
будут замечены созданные окна. XDMCP обеспечивает более надежный механизм; когда XDM
закрывает свое первоначальное соединение, сеанс завершен, и терминал должен закрыть
все остальные соединения.
УПРАВЛЕНИЕ XDM
Xдм отвечает на два сигнала: SIGHUP и SIGTERM. При отправке SIGHUP, XDM перечитывает
файл конфигурации, файл управления доступом и файл серверов. Для файла серверов
он замечает, были ли добавлены или удалены записи. Если была добавлена новая запись, XDM
запускает сеанс на соответствующем дисплее. Записи, которые были удалены, отключены
немедленно, что означает, что любой текущий сеанс будет прерван без уведомления и
новая сессия будет запущена.
При отправке SIGTERM, XDM завершает все текущие сеансы и завершает работу. Это можно использовать
при выключении системы.
Xдм пытается выделить различные подпроцессы для ps(1) путем редактирования командной строки
список аргументов на месте. Так как XDM не может выделить дополнительное место для этой задачи, это
полезно для начала XDM с достаточно длинной командной строкой (использование полного имени пути должно
быть достаточным). Каждый процесс, обслуживающий дисплей, отмечен -дисплей.
ДОПОЛНИТЕЛЬНЫЕ LOCAL ДИСПЛЕИ
Чтобы добавить дополнительный локальный дисплей, добавьте строку для него в X-серверы файл. (См.
. Местное серверу Спецификация.)
Изучите ресурсы, относящиеся к дисплеям, в xdm-конфигурация (например, DisplayManager._0.авторизовать)
и подумайте, какие из них следует скопировать для нового дисплея. По умолчанию xdm-конфигурация
имеет все подходящие строки для дисплеев :0 и :1.
ДРУГИЕ ВОЗМОЖНОСТИ
Вы можете использовать XDM для запуска одного сеанса за раз, используя 4.3 инициализации варианты или другие
подходящий демон, указав сервер в командной строке:
xdm -server «: 0 SUN-3 / 60CG4 local / usr / bin / X: 0»
Или у вас может быть файловый сервер и набор X-терминалов. Конфигурация для
это идентично приведенному выше образцу, за исключением X-серверы файл будет выглядеть как
превозносить: 0 VISUAL-19 зарубежных
exalt: 0 НИЗ-19 иностранный
взорвать: 0 NCR-TOWERVIEW3000 иностранный
Это направляет XDM для управления сеансами на всех трех этих терминалах. См. Раздел
Управление Xдм для описания использования сигналов для включения и выключения этих терминалов
в манере, напоминающей инициализации(8).
ОГРАНИЧЕНИЯ
Одна вещь, которая XDM не очень хорошо умеет сосуществовать с другими оконными системами. К
использовать несколько оконных систем на одном оборудовании, вы, вероятно, будете больше заинтересованы в
ксинит.
АСИНХРОННЫЙ СОБЫТИЯ
XDM использования СИГАЛРМ и СИГУСР1 для собственных целей межпроцессного взаимодействия, управляя
отношения между родителями XDM процесс и его дочерние элементы. Отправка этих сигналов
к любому XDM процесс может привести к неожиданному поведению.
ПОДПИСАТЬСЯ Причины XDM для повторного сканирования файлов конфигурации и повторного открытия файла журнала.
СИГТЕРМ
Причины XDM чтобы завершить его дочерние элементы и закрыть.
СИГУСР2
Причины XDM чтобы повторно открыть файл журнала. Это полезно, если требуется ротация журналов, но
ПОДПИСАТЬСЯ слишком разрушительно.
Используйте xdm онлайн с помощью сервисов onworks.net