Использование X11 - 4. Запуск XFree86
4.1 Darwin
В чистой Darwin XFree86 ведет себя также, как в других продуктах Unix.
Обычный способ запуска - через startx
с консоли;
запускается сервер и некоторые исходные клиенты, такие,
как менеджер окон и терминальный эмулятор с оболочкой. В чистой
Darwin не требуется уточнять параметры, достаточно
просто напечатать:
startx
Можно сделать настройки запуска в нескольких файлах
в своем базовом каталоге. .xinitrc
управляет очередностью
запуска клиентов. .xserverrc
управляет
опциями сервера и даже может запускать другой сервер. В случае возникновения проблем
(н-р, появится пустой экран или XFree86
переместит вас обратно к консоли) их можно исправить
путем удаления этих файлов. Если не удается найти эти файлы при помощи
startx
, в действие вступают безотказные настройки по
умолчанию.
В качестве альтернативы можно запустить сервер напрямую при помощи одной из опций XDMCP, н-р:
X -query remotehost
Подробную информацию можно найти на странице руководства Xserver
.
Наконец, можно настроить xdm
; см.
страницу руководства.
Прим.: Если вы используете Mac OS X, предшествующую Panther, можно напечатать
>console
в окне регистрации и получить
текстовую консоль, эквивалентную чистой Darwin. Если вы не видите
области для ввода имени пользователя в окне регистрации,
просто напечатайте начальную букву любого имени пользователя и затем нажмите
alt-return. Можно использовать все методы запуска,
описанные выше, кроме xdm
.
Прим.: При использовании Mac OS X Panther вы не сможете запускать XFree86 из окна консоли.
4.2 Mac OS X + XFree86 4.x.y
Есть два основных способа запустить XFree86 в Mac OS X. Первый: двойным щелчком на приложении XDarwin.app в каталоге приложений. Это позволит сделать выбор между полноэкранным и бескорневым режимом в диалоге при запуске. Можно дезактивировать диалог и настроить XDarwin на постоянное использование выбранного вами режима в диалоге параметров.
До выпуска 4.2.0 это действие автоматически активировало полноэкранный режим и не было способа активации бескорневого режима двойным щелчком.
Другой способ запуска XFree86 в Mac OS X:
при помощи startx
из Terminal.app. При запуске сервера таким образом
надо указать, что он должен работать параллельно
Quartz. Это можно сделать при помощи опции -fullscreen
,
н-р:
startx -- -fullscreen
Таким образом происходит запуск сервера в полноэкранном режиме, а также
клиентов в .xinitrc
.
ПРИМЕЧАНИЕ: до выпуска 4.2 для активации полноэкранного режима применяли -quartz
.
Если ваш сервер поддерживает бескорневые операции, можно
запустить его в бескорневом режиме при помощи опции -rootless
:
startx -- -rootless
Опция -quartz
больше не активирует полноэкранный режим, а
использует режим по умолчанию, определенный в параметрах.
Что касается 4.3, если вы используете startx
без настройки параметров, появляется
окно диалога запуска.
4.3 Файл .xinitrc
Если в вашем базовом каталоге имеется файл с именем .xinitrc
,
он будет использоваться для запуска некоторых исходных клиентов X,
н-р, менеджера окон, некоторых xterms или среды рабочего стола типа
GNOME. Файл .xinitrc
является скриптом оболочки,
содержащим команды для выполнения указанного. Не
надо указывать #!/bin/sh
в первой строке
и настраивать выполняемый бит в имени файла; xinit знает, как
запустить его через оболочку.
Если в вашем базовом каталоге нет файла .xinitrc
,
XFree86 использует по умолчанию свой файл
/private/etc/X11/xinit/xinitrc
. Можно использовать
файл по умолчанию в качестве отправной точки для собственного .xinitrc:
cp /private/etc/X11/xinit/xinitrc ~/.xinitrc
Если вы используете Fink, надо поместить
init.sh
в самом начале для
обеспечения правильности настроек среды.
Вы можете внести произвольные команды в
.xinitrc
, но здесь надо кое-что пояснить.
Во-первых, интерпретирующая файл оболочка по умолчанию будет ждать
завершения работы каждой отдельной программы, прежде чем запустить следующую. Если
вы хотите, чтобы несколько программ работали параллельно, надо приказать оболочке
поместить их "на задний план", добавив
&
в конце строки.
Во-вторых, xinit
ждет, пока скрипт
.xinitrc
закончит работу и интерпретирует окончание работы
таким образом: "сеанс завершен, теперь я также должен уничтожить сервер X
". Это значит, что последняя команда вашего файла
.xinitrc
не должна выполняться на
заднем плане, а должна быть программой длительного действия. Обычно
для этой цели используется менеджер окон. Вообще,
менеджеры окон предполагают, что xinit
ждет окончания их
работы и используют это для ввода записи о "завершении
сеанса" в работу их меню. (Прим.: Для сохранения
циклов ОЗУ и центрального процессора можно указать exec
перед
последней строкой, как в примере ниже.)
Простой пример запуска GNOME:
. /opt/sw/bin/init.sh exec gnome-session
Более сложный пример для пользователей bash, который отключает X11, делает запуск некоторых клиентов и в конце концов менеджера окон Enlightenment:
. /opt/sw/bin/init.sh xset b off xclock -geometry -0+0 & xterm & xterm & exec enlightenment
Для запуска GNOME 2.2 в X11 Apple используйте следующую последовательность:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & metacity & exec gnome-session
При запуске GNOME 2.4 в X11 Apple metacity запускается автоматически, и таким образом последовательность следующая:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & exec gnome-session
Для запуска KDE 3.2 (версия < 3.2.2-21) в X11 Apple используйте
. /opt/sw/bin/init.sh export KDEWM=kwin quartz-wm --only-proxy & /opt/sw/bin/startkde >/tmp/kde.log 2>&1
Наконец, для запуска последней нестабильной версии KDE в X11 Apple:
. /opt/sw/bin/init.sh /opt/sw/bin/startkde >/tmp/kde.log 2>&1
Следующий: 5. Xtools