Использование X11 - 3. Получение и инсталляция XFree86
3.1 Инсталляция через Fink
Fink позволит вам инсталлировать X11 любым желательным для вас образом, в то же время предоставив
собственные пакеты XFree86. С помощью команды fink
install ...
Fink скачает исходный код и скомпилирует
его на вашем компьютере. Если вы используете apt-get install
...
или dselect
, скачаются предварительно
скомпилированные бинарные пакеты, аналогичные официальной дистрибуции XFree86.
Пакет xfree86-base
содержит всю XFree86
4.2.1.1 (4.2.0 для пользователей 10.1), кроме сервера XDarwin. Пакет
xfree86-rootless
является сервером стандартной стабильной
версии XFree86 4.2.1.1. Он поддерживает как полноэкранную, так и
бескорневую работу, а также имеет поддержку OpenGL. (Когда-то в самом
начале у Fink также был пакет xfree86-server
,
обеспечивавший полноэкранный режим, но этой опции больше
нет.) У вас также есть возможность инсталлировать
сервер самостоятельно - см. ниже. Только в этом случае надо
инсталлировать xfree86-base
, иначе появится риск, что Fink
сделает перезапись вашего вручную инсталлированного сервера. Имейте в виду, что текущая
стабильная версия xfree86-base
(4.2.1.1-3)
генерирует xfree86-rootless
,
xfree86-base-shlibs
и
xfree86-rootless-shlibs
в процессе построения.
При этом вам надо иметь все четыре инсталлированных пакета, чтобы
настройки XFree86 работали.
Связные пакеты xfree86-base-threaded
и
xfree86-rootless-threaded
по сути являются тем же самым,
но модифицированы для поддержки связности, требуемой
несколькими приложениями - такими, как xine
.
XFree86 4.2.11 (несвязная) считается стабильной базовой
версией XFree86 для использования с Fink в 10.2. Также имеется XFree86 4.3.0,
но она считается более экспериментальной; на данный момент
только она представлена на нестабильном дереве .
Она имеет интегрированную связную поддержку и работает быстрее, чем 4.2.1.1.
Для инсталляции этой версии надо инсталлировать пакет
xfree86
. Имейте в виду, что для этой версии
больше нет отдельных базовых и бескорневых пакетов, хотя
библиотеки и распределены в xfree86-shlibs
. Если
вы строите бинарные пакеты на основе 4.3, предупреждаем, что они могут
не работать в 4.2.1.1 или X11 Apple.
Для пользователей 10.3: Вам надо инсталлировать
4.3.99.16-2 или более позднюю версию, которые являются предварительными выпусками XFree86-4.4.
Если вы работаете на основе бинарной дистрибуции, убедитесь, что
описание пакетов обновлено (н-р, через sudo apt-get update
).
3.2 Бинарные файлы Apple
7 января 2003 г. Apple выпустила специальную реализацию X11 на основе XFree86-4.2, включающую визуализацию Quartz и ускоренную OpenGL. Следующая новая версия вышла 10 февраля 2003 г. с дополнительными характеристиками и корректировками. Третья версия (Beta 3) вышла 17 марта 2003 г. с дальнейшими дополнительными характеристиками и корректировками. Эта версия может использоваться в Jaguar.
24 октября 2003 г. Apple выпустила Panther (10.3), включающую версию ее дистрибуции X11. Эта версия основана на XFree86-4.3.
Перед использованием бинарных файлов Apple надо удостовериться, что инсталлирован пакет X11 User, а также обновить Fink.
Для версии fink-0.16.2
вам надо будет также инсталлировать пакет
X11 SDK. После этого Fink
создаст виртуальный пакет system-xfree86
.
В случае fink-0.17.0
и более поздних версий необходима лишь инсталляция X11 SDK,
если вы хотите построить пакеты от исходного кода. В подобном случае,
даже если у вас не будет SDK, будут виртуальные пакеты
system-xfree86
и
system-xfree86-shlibs
, причем последний будет представлять
общие библиотеки. Если вы инсталлируете SDK,
также будет пакет system-xfree86-dev
,
представляющий заголовки.
Если у вас уже инсталлирована дистрибуция XFree86 - через Fink или иным образом - можно выполнить Инструкции по замене одного пакета X11 другим пакетом. Удалите существующий пакет, а затем инсталлируйте X11 Apple (и X11 SDK, если это необходимо или желательно).
Некоторые примечания по использованию X11 Apple:
-
Пакет
autocutsel
больше не нужен. Если вы запускаете X11, а этот пакет активирован, надо его дезактивировать. -
X11 Apple использует ваш существующий файл
~/.xinitrc
. Если вы хотите получить полноценный эффект от интеграции Quartz , надо использовать/usr/X11R6/bin/quartz-wm
в качестве менеджера окон или полностью удалить~/.xinitrc
.Если вам нужна только интеграция копирования в буфер и вставки из него, но при этом вы хотите использовать другой менеджер окон, можно сделать как в следующем примере:
/usr/X11R6/bin/quartz-wm --only-proxy & exec /opt/sw/bin/fvwm2
Разумеется, можно сделать вызов другого менеджера окон, н-р,
startkde
и т.д. -
quartz-wm
не полностью поддерживает опции менеджера окон Gnome/KDE, поэтому вы можете столкнуться с его странным поведением в окнах, которые имеют декоративные обрамления, тогда как не должны их иметь. -
X11 Apple не признает настройки среды Fink по умолчанию. Для вызова приложений запуска, инсталлированных при помощи fink (н-р, менеджеров окон, gnome-session и других в
/opt/sw/bin
), внесите следующее в верхней части~/.xinitrc
(т.е. после "#!/bin/sh
", но перед запуском любой программы):. /opt/sw/bin/init.sh
чтобы запустить среду Fink. Примечание: лучше использовать
init.sh
, чемinit.csh
, поскольку.xinitrc
лучше выполняется посредствомsh
, чемtcsh
. -
Приложения, требующие для выполнения некоторых своих функций вызова других программ, находящихся в пределах вашего дерева Fink, требуют особого обращения при их вовлечении в работу путем вызова из меню приложений. Вместо добавления одного только полного маршрута к имени файла, н-р:
/opt/sw/bin/emacs
лучше использовать что-то вроде следующего, если вы используете bash в качестве оболочки по умолчанию:
. /opt/sw/bin/init.sh ; emacs
или, если вы используете tcsh:
source /opt/sw/bin/init.csh ; emacs
Это обеспечивает правильный PATH приложения. Можно использовать этот синтаксис для любого приложения, инсталлированного при помощи Fink.
-
Если вы пытаетесь построить пакет вручную на основе X11 Apple и получаете следующее сообщение об ошибке:
ld: err.o illegal reference to symbol: _XSetIOErrorHandler defined in indirectly referenced dynamic library /usr/X11R6/lib/libX11.6.dylib
надо проверить наличие
-lX11
в процессе связывания. Просмотрите опции конфигурации своего пакета, чтобы увидеть, как обеспечить этот дополнительный параметр. -
Если вы используете пакет
xfree86
и затем переходите на X11 Apple (10.2.x или 10.3.x), из-за несовместимости бинарных файлов надо заново построить все пакеты, созданные до этого с помощьюxfree86
.
3.3 Официальные бинарные файлы
В проекте XFree86 есть официальная бинарная дистрибуция
XFree86 4.2.0, которую можно обновить до 4.2.1.1 с патчами.
Ее можно найти на локальном зеркале XFree86
mirror в каталоге
4.2.0/binaries/Darwin-ppc-5.x
. Убедитесь в получении тарболов
Xprog.tgz
и
Xquartz.tgz
, даже если они отмечены как
необязательные. Если вы не уверены в том, что именно вам нужно, просто скачайте
весь каталог. Выполните скрипт
Xinstall.sh
в качестве суперпользователя для
инсталляции всего материала. (Рекомендуем прочитать Официальные инструкции
перед инсталляцией.) Если хотите, можете
использовать binary
из XonX, использующий идентичный, но более легкий в применении исходный код. Тем или иным образом
скачайте, разархивируйте и сделайте следующие обновления:
- для 10.1: 4.2.0 -> 4.2.0.1 upgrade. для 10.2: 4.2.0 -> 4.2.0.1 upgrade
- для 10.1 и 10.2: 4.2.0.1 -> 4.2.1.1 upgrade
Также существует официальная дистрибуция XFree86 4.3.0 на
XFree86
mirrors в каталоге
4.3.0/binaries/Darwin-ppc-6.x
. Убедитесь в получении тарболов
Xprog.tgz
и
Xquartz.tgz
, даже если они отмечены как
необязательные. Если вы не уверены в том, что именно вам нужно, просто скачайте
весь каталог. Выполните скрипт
Xinstall.sh
в качестве суперпользователя для
инсталляции всего материала. (Рекомендуем прочитать Официальные инструкции
перед инсталляцией.)
Независимо от установленной версии, теперь вы имеете XFree86 с сервером для полноэкранного либо бескорневого режима работы в Mac OS X.
3.4 Официальный исходный код
Если у вас есть свободное время, можно построить XFree86 4.2.0
от исходного кода. Исходный код можно найти на локальном зеркале XFree86
mirror в каталоге 4.2.0/source
. Скачайте все три тарбола
X420src-#.tgz
и извлеките их
в одном каталоге. Можно установить собственные настройки для построения,
внеся макроопределения в
файл config/cf/host.def
на дереве исходного кода XFree86.
См. config/cf/darwin.cf
для получения подсказок.
(Прим.: Только макросы с пометкой #ifndef
могут быть перезаписаны в host.def.)
Когда конфигурация будет вас удовлетворять, скомпилируйте и инсталлируйте XFree86 посредством следующих команд:
make World sudo make install install.man
Для обновления до 4.2.1.1 надо следовать инструкциям раздела Официальные бинарные файлы.
Для инсталляции 4.3.0 надо следовать вышеуказанным инструкциям, заменив "2" на "3", но не надо выполнять процедуру обновления 4.2.1.1.
Как и в случае с официальными бинарными файлами, теперь у вас есть XFree86 с сервером, который может обеспечивать полноэкранный или бескорневой режим в Mac OS X.
3.5 Исходный код на основе последних разработок
Если вы располагаете не только временем, но и запасом нервных клеток, можно получить последнюю разработку версии XFree86 из общего хранилища CVS. Предупреждаем, что код находится в процессе постоянного развития; сегодняшний код обычно отличается от вчерашнего.
Для выполнения инсталляции следуйте инструкциям относительно CVS XFree86
для скачивания модуля xc
.
Затем надо выполнить инструкции по построению, указанные выше.
3.6 MacGimp
Скачиваемый инсталлятор, предложенный разработчиками MacGimp в 2001 г., не содержал XFree86. (Впрочем, он сделал бы перезапись некоторых файлов конфигурации XFree86.)
Компакт-диск, продаваемый MacGimp, Inc., якобы содержит XFree86. Не совсем понятно, какая это версия; это может быть смесь 4.0.3, 4.1.0 и собственной разработки. Сервер обеспечивает работу в бескорневом режиме с использованием патча, созданного до 4.1.0.
3.7 Замена X11
Если у вас инсталлирован один из пакетов Fink X11, но по какой-либо причине надо его удалить и заменить другим, выполняется прямолинейная процедура. Надо принудительно удалить старый пакет и затем инсталлировать новый, чтобы поддержать последовательность базы данных dpkg.
Выполнить это можно двумя способами:
-
Использовать FinkCommander
Если вы используете FinkCommander, можно сделать принудительное удаление ("force remove") через меню. Например, если у вас инсталлирован
xfree86-rootless
, а вы хотите установить связную версию, надо выделить пакетыxfree86-rootless
,xfree86-rootless-shlibs
,xfree86-base
иxfree86-base-shlibs
и применитьSource -> Force Remove
-
Удалить вручную со строки команд
Надо применить
dpkg
с опцией --force-depends, н-р:sudo dpkg -r --force-depends xfree86-rootless\ xfree86-rootless-shlibs xfree86-base xfree86-base-shlibs
Имейте в виду, что если у вас есть приложения, требующие связной версии пакета XFree86, могут возникнуть проблемы с базой данных dpkg, если вы принудительно удаляете его и инсталлируете другой пакет XFree86 или заполнителя.
Версию X11, инсталлированную не через Fink, удаляют со строки команд:
sudo rm -rf /usr/X11R6 /etc/X11
Вышеуказанное относится к удалению любого параметра X11, инсталлированного не
через Fink. Вам надо будет также удалить
XDarwin.app
|X11.app
,
в зависимости от того, что инсталлировано. При удалении X11 Apple проверьте свой файл
.xinitrc
, чтобы убедиться, что
вы не пытаетесь использовать
quartz-wm
. Затем можно инсталлировать любую нужную вам
X11, вручную или через Fink.
3.8 Обзор пакетов Fink
Краткий обзор видов инсталляции и пакетов Fink, которые вам надо инсталлировать:
Вид инсталляции | Пакеты Fink |
---|---|
4.2.x при помощи Fink |
или |
4.3.x при помощи Fink |
|
4.x на основе официальных бинарных файлов |
только |
4.x на основе исходного кода или последнего исходного кода CVS |
только |
4.2.x от Apple |
только |
4.3.x от Apple |
только |
Следующий: 4. Запуск XFree86