Fink

Использование 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