Ejecución de X11 - 3. Cómo obtener e instalar XFree86
3.1 Instalación desde Fink
Fink te permite instalar X11 como quieras
y además proporciona los paquetes XFree86. Si
usas fink install ...
, descargará el código fuente y lo compilará
en tu ordenador. Si usas apt-get install ...
o el "frontend"
dselect
, descargará e instalará paquetes binarios
precompilados, similares a los de la distribución oficial de XFree86.
El paquete xfree86-base
contiene el paquete
XFree86 4.2.1.1 (4.2.0 para los usuarios de 10.1) completo
excepto el servidor XDarwin.
El paquete xfree86-rootless
es el servidor estándar XFree86 de la
versión estable 4.2.1.1. Soporta las dos operaciones (pantalla completa y
rootless) y tiene soporte OpenGL.
(En los primeros tiempos, Fink tenía también un paquete
xfree86-server
que proporcionaba únicamente modo de pantalla
completa, pero esta ha dejado de ser una opción intereresante).
Tienes también la opción de instalar el servidor tú mismo; mira más abajo. En ese
caso debes instalar sólamente xfree86-base
o correrás el riesgo de
que Fink sobreescriba el servidor instalado manualmente. Nótese que la versión
actual estable de xfree86-base
(4.2.1.1-3) genera
xfree86-rootless
, xfree86-base-shlibs
y
xfree86-rootless-shlibs
durante el proceso de construcción (build
process). En ese caso, se deben instalar los cuatro paquetes para obtener una
configuración activa de XFree86.
Los paquetes xfree86-base-threaded
and
xfree86-rootless-threaded
son esencialmente los mismos modificados
para soportar hebras (N.T.: "threading", un concepto de sistemas operativos)
requerido por algunas aplicaciones como xine
.
XFree86 4.2.11 (sin hebras / "unthreaded") está considerado la versión básica estable para usar con Fink en Mac OS X 10.2.
XFree86 4.3.0 está también disponible,
pero está considerada más experimental, por lo que se encuentra en la
rama inestable. Tiene soporte de hebras ("trheading") incorporado y es
más rápida que la versión 4.2.1.1.
Para instalar esta versión hay que instalar el paquete xfree86
.
Obsérvese que, a artir de esta versión, ya no se separan los paquetes -base
y -rootless packages, y que las bibliotecas se han desplazado a
xfree86-shlibs
. Si construyes binarios desde la versión
4.3, no funcionarán ni con la 4.2.1.1 ni con las X11 de Apple, así que ¡cuidado!.
Usuarios de 10.3: Necesitan instalar la versión 4.3.99.16-2 o
posterior, que son "prereleases" de XFree86-4.4. Si estás trabajando
desde la distribución binaria, asegúrate de actualizar la descripción de los
paquetes (p.e. vía sudo apt-get update
).
3.2 Binarios de Apple
El 7 de enero del 2003 Apple publicó una implementación modificada de X11 basada en XFree86-4.2 que incluía renderización mediante Quartz y OpenGL acelerado. El 10 de febrero del mismo año se publica una nueva versión con características adicionales y corrección de errores. Una tercera (i.e. Beta 3) sale el 17 de Marzo del 2003 con más características adicionales y corrección de errores. Esta versión es utilizable en Jaguar.
El 24 de octubre del 2003, Apple publicó Panther (10.3) que incluía una versión de su propia distribución de X11. Esta versión está basada en XFree86-4.3.
Al usar los binarios de Apple, necesitas asegurarse que el paquete X11 User está instalado y debes actualizar Fink.
Bajo fink-0.16.2
es necesario instalar el paquete
X11 SDK también. Después de hacer esto, Fink puede crear
un paquete virtual system-xfree86
.
Bajo fink-0.17.0
instalar X11 SDK solo es necesario
si necesitas construir paquetes desde el código fuente.
En ese caso, incluso si no se posee el SDK hay paquetes virtuales
system-xfree86
y system-xfree86-shlibs
, representando
este último a las bibliotecas compartidas. Si instalas el SDK, existe un paquete
system-xfree86-dev
representando a las cabeceras.
Si tienes una distribución de XFree86 instalada, sea a través de Fink o por algún otro método, debes seguir las instrucciones para reemplazar un paquete X11 por otro. Asegúrate de eliminar todos los paquetes existentes y después instala X11 de Apple (y X11 SDK, si se necesita o se desea).
Algunas notas de uso del X11 de Apple:
-
El paquete
autocutsel
no se usa ya. Si estás arrancando X11 con él habilitado, debes deshabilitarlo. -
X11 usa tu fichero
~/.xinitrc
existente. Si necesitas el efecto completo de la integración con Quartz, debes usar/usr/X11R6/bin/quartz-wm
como gestor de ventanas, o borrar~/.xinitrc
completamente.Si necesitas integración con cortar-y-pegar, pero también usar un gestor de ventanas diferente, puedes hacer como en el siguiente ejemplo:
/usr/X11R6/bin/quartz-wm --only-proxy & exec /opt/sw/bin/fvwm2
Es posible, por supuesto, llamar a cualquier otro gestor de ventanas, a
startkde
, etc. -
quartz-wm
no soporta completamente todas las funcionalidades de los gestores de ventanas de Gnome/KDE, por lo que pueden ocurrir extraños comportamientos en ventanas que no deberían tener decoración, pero a pesar de ello la tienen. -
X11 de Apple no respeta las configuraciones por defecto de los entornos de Fink. Para arrancar aplicaciones instaladas a través de Fink (p.e. gestores de ventana, sesiones de gnome, otras de
/opt/sw/bin
) ponga lo que sigue cerca del principio de~/.xinitrc
(i.e. después del "#!/bin/sh
" inicial pero antes de ejecutar ningún programa):. /opt/sw/bin/init.sh
para inicializar el entorno de Fink. Nota: Se usa
init.sh
en lugar deinit.csh
porque.xinitrc
se ejecuta porsh
y no portcsh
. -
Las aplicaciones que llaman a otros programas situados en el árbol de Fink para algunas de sus funciones requieren un tratamiento especial cuando son invocadas desde el menú Aplicaciones. En lugar de colocar la ruta completa hasta el fichero, p.e.
/opt/sw/bin/emacs
hay que usar algo como lo siguiente, si usas bash como shell por defecto:
. /opt/sw/bin/init.sh ; emacs
o, si usas tcsh:
source /opt/sw/bin/init.csh ; emacs
Así nos aseguramos que la aplicación tiene la información correcta en PATH. Se debe usar esta sintaxis para cualquier aplicación instalada vía Fink.
-
Si estás intentando construir un paquete a mano usando X11 de Apple y obtienes un fallo como éste:
ld: err.o illegal reference to symbol: _XSetIOErrorHandler defined in indirectly referenced dynamic library /usr/X11R6/lib/libX11.6.dylib
entonces necesitas asegurarte de que
-lX11
se ha usado durante el enlazado (linking). Comprueba las opciones de configuración de tu paquete para ver como incluir el argumento extra. -
Si usas el paquete
xfree86
, y después cambias al X11 de Apple (en 10.2.x o en 10.3.x), cualquier paquete construido a través dexfree86
deberá ser reconstruido, pues los binarios son incompatibles.
3.3 Binarios oficiales
El proyecto XFree86 tiene una distribución binaria oficial de XFree86
4.2.0, la cual puede ser actualizada a 4.2.1.1 mediante parches.
La puedes enciontrar en tu
réplica de XFree86
favorita, en el directorio 4.2.0/binaries/Darwin-ppc-5.x
.
Asegúrate de obtener Xprog.tgz
y
Xquartz.tgz
aunque estén marcados como optativos.
Si no estás demasiado seguro de lo que necesitas,
descarga el directorio completo.
Ejecuta el script Xinstall.sh
como superusuario (root) para
instalar el material descargado.
(Es posible que necesites leer las
instrucciones
oficiales antes de la instalación).
Si lo prefieres, puedes usar los
binarios de XonX, que provienen del mismo código fuente,
pero son más fáciles de usar. En cualquier caso descarga, descomprime y ejecuta las siguientes actualizaciones:
- Usuarios 10.1: 4.2.0 -> 4.2.0.1 upgrade. Usuarios 10.2: 4.2.0 -> 4.2.0.1 upgrade
- Usuarios de 10.1 y 10.2: 4.2.0.1 -> 4.2.1.1 upgrade
También hay una distribución oficial binaria de la versión 4.3.0
en las réplicas
de XFree86 en el directorio
4.3.0/binaries/Darwin-ppc-6.x
.
Asegúrate de obetener Xprog.tgz
y
Xquartz.tgz
aunque estén marcados como optativos.
Si no estás demasiado seguro de lo que necesitas,
descarga el directorio completo.
Ejecuta el script Xinstall.sh
como superusuario (root) para
instalar el material descargado.
(Es posible que necesites leer las
instrucciones
oficiales antes de la instalación).
Cualquiera que sea la versión instalada, ya dispones de XFree86 con un servidor a pantalla completa o rootless ejecutable bajo Mac OS X.
3.4 Fuentes oficiales
Si tienes tiempo disponible, puedes construir XFree86 4.2.0 desde el código
fuente. Éste está disponible en tu
réplica de XFree86
favorita, en el directorio 4.2.0/source
.
Descarga las tres bolas tar X420src-#.tgz
y expándelas
en el mismo directorio. Puedes personalizar la construcción
poniendo definiciones de macros en el fichero
config/cf/host.def
que está en el árbol fuente de XFree86.
Mira el fichero config/cf/darwin.cf
para algunas cuestiones puntuales.
(Nota: Sólamente las macros con #ifndef pueden ser sobrescritas en host.def.)
Cuando estés contento con la configuración, compila e instala XFree86 con los siguientes comandos:
make World sudo make install install.man
Para actualizar 4.2.1.1, sigue las instrucciones en Binarios oficiales section.
Para instalar 4.3.0, sigue las instrucciones anteriores, reemplazando "2" por "3" y no actualices a 4.2.1.1.
Como con los binarios oficiales, ya dispones de XFree86 con un servidor a pantalla completa o rootless ejecutable bajo Mac OS X.
3.5 Versión para desarrolladores: lo último de lo último
Si además de tiempo tienes nervios de sobra puedes obtener la última versión de desarrollo de XFree86 del repositorio CVS público. Nótese que el código está en constante desarrollo. Lo que obtengas hoy es normalmente distinto de lo que obtuviste ayer.
Para instalar, sigue las instrucciones del
CVS de XFree86
para descargar el módulo xc
.
Después sigue las instrucciones de compilación del código aquí debajo.
3.6 MacGimp
El instalador descargable ofrecido por el personal de MacGimp durante 2001 no contiene XFree86, pero puede sobreescribir algunas ficheros ]de configuración de XFree86.
El CD que MacGimp, Inc. ofrece a la venta contiene una versión indeterminada de XFree86. No está claro que versión es; parece ser una mezcla de 4.0.3, 4.1.0 y alguna versión de desarrollo no implementada. El servidor usa modo rootless mode, usando un parche anterior a la versión 4.1.0.
3.7 Cómo reemplazar X11
Si has instalado alguno de los paquetes X11 de Fink y, por alguna razón u otra has decidido que necesitas eliminarlo, el procedimiento a seguir es simple. Tienes que forzar la eliminación de los viejos paquetes y después instalar los nuevos, con el objetivo de preservar las consistencia de la base de datos dpkg.
Hay dos formas diferentes de hacer esto:
-
Usar FinkCommander
Si usas FinkCommander, puedes forzar la eliminación a través del menú. Por ejemplo, si tienes
xfree86-rootless
instalado pero necesitas la versión threaded, debe seleccionar los paquetesxfree86-rootless
,xfree86-rootless-shlibs
,xfree86-base
yxfree86-base-shlibs
packages y entonces ejecutar:Source -> Force Remove
-
Eliminar manualmente desde la línea de comandos
Para eliminar manualmente se usa
dpkg
con la opción --force-depends, así:sudo dpkg -r --force-depends xfree86-rootless\ xfree86-rootless-shlibs xfree86-base xfree86-base-shlibs
Obsérvese que si tienes aplicaciones que requieren XFree86 threaded, puedes tener problemas con tu base de datos dpkg si fuerzas la eliminación e instalas un paquete XFree86 diferente o un paquete fantasma representándolo.
Por otro lado, si tienes una versión de X11 no instalada desde Fink necesitas eliminarla usando la línea de comandos:
sudo rm -rf /usr/X11R6 /etc/X11
Esto sigue siendo cierto para cualquier paquete X11 no instalado a través de Fink. Necesitarás también eliminar XDarwin.app
|
X11.app
, dependiendo de cuál tengas instalado. Asegúrate
de comprobar tu fichero .xinitrc
si has eliminado el X11
de Apple para que no lance quartz-wm
. Puedes entonces instalar cualquier variedad
de X11 que desees, manualmente o vía Fink.
3.8 Índice de paquetes Fink
Un breve esquema de las opciones de instalación y de los paquetes de Fink a instalar
Tipo de instalación | Paquetes de Fink |
---|---|
4.2.x construido vía Fink |
o |
4.3.x construido via Fink |
|
4.x binarios oficiales |
|
4.x construidos desde fuentes o desde las últimas fuentes CVS |
|
4.2.x de Apple |
|
4.3.x de Apple |
|
Siguiente: 4. El arranque de XFree86