Ejecución de X11 - 4. El arranque de XFree86
4.1 Darwin
En Darwin puro, XFree86 se comporta como en cualquier otro Unix.
La forma normal de arrancar es via startx
desde la consola;
que arranca el servidor y algunos clientes iniciales, tales como
el gestor de ventanas y un emulador de terminal con una shell.
En Darwin puro no es necesario especificar parámetros, así que basta
con teclear:
startx
Se puede personalizar qué es lo que se arranca a través de varios ficheros
en tu directorio raíz.
.xinitrc
controla qué clientes se arrancan.
.xserverrc
controla opciones de servidor, incluso
arrancar otro servidor.
Si hay problemas (normalemnte, el problema es obtener una pantalla vacía o
que XFree86 te mande de vuelta a la consola), puedes arrancar sin problemas
moviendo estos ficheros fuera de su localización.
Si startx
no encuentra los ficheros, usará modo seguro de arranque, el cual debería funcionar siempre.
Alternativamente, puedes arrancar el servidor directamente mediante alguna de las opciones XDMCP, como ésta:
X -query remotehost
Los detalles pueden obtenerse del manual de Xserver
.
Finalmente, está la opción xdm
; lee su manual
para los detalles.
Nota: Si estás ejecutando Mac OS X anterior a Panther, puedes teclear >console
en la ventana de inicio y obrtendrás una consola de texto equivalente
a Darwin puro. Si no ves un campo donde entrar un nombre de usuario
en la ventana de inicio, teclea la primera letra de cualquier nombre de usuario, y a continuación opción-enter.
Puedes usar entonces todos los métodos descritos anteriormente,
con la excepción de xdm
.
Nota: En Mac OS X Panther, no se puede arrancar XFree86 desde la consola de inicio.
4.2 Mac OS X + XFree86 4.x.y
Hay básicamente dos formas de arrancar XFree86 bajo Mac OS X. Una es hacer doble clic en la el icono de la aplicación XDarwin.app, situada en la carpeta Aplicaciones, o en el icono de un alias de esta aplicación (en el dock, p.e.). Esto te permitirá escoger entre modo de pantalla completa o modo rootless en un diálogo al arrancar. Puedes deshabilitar este diálogo y poner XDarwin permanentemente en le modo de funcionamiento que prefieras en el menú de Preferencias.
Antes de 4.2.0 arrancará en modo pantalla completa automáticamente y no hay ninguna forma de obtener el modo rootless mediante doble clic en la aplicación.the
La otra forma de arrancar XFree86 bajo Mac OS X es mediante el comando startx
desde Terminal.app.
Si arrancas el servidor de esta forma, puedes decirle que
se ejecute en paralelo con Quartz.
Esto se hace pasándole la opción -fullscreen
así:
startx -- -fullscreen
Eso arrancará el servidor en modo pantalla completa mas los
clientes en tu .xinitrc
.
NOTE: antes de 4.2, -quartz
era usado para el modo
de pantalla completa.
Si tienes un servidor que soporta el modo rootless, puedes arrancar en ese
modo con la opción -rootless
:
startx -- -rootless
La opción -quartz
ya no selecciona el modo de pantalla completa,
sino que usa el modo por defecto en las preferencias.
A partir de la versión 4.3, si usas startx
sin argumentos, obtendrás el cuadro de diálogo de inicio.
4.3 El fichero .xinitrc
Para arrancar algunos clientes X con el servidor X, se usa un fichero
de nombre .xinitrc
en el directorio
raíz. Puede usarse, p.e., para arrancar el gestor de ventanas y algunos
terminales X o un entorno de escritorio GNOME.
El fichero .xinitrc
es un script de shell que contiene los comandos necesarios para ello. Nohyace falta poner el conocido
#!/bin/sh
en la primera línea ni poner el bit de ejecutable en los permisos;
xinit sabe como ejecutar este fichero en una shell.
Si no hay fichero .xinitrc
en tu directorio
raíz, XFree86 usará el fichero por defecto:
/private/etc/X11/xinit/xinitrc
.
Es posible utilizar este como punto de partida para empezar a
editar tu propio .xinitrc:
cp /private/etc/X11/xinit/xinitrc ~/.xinitrc
Si estás usando Fink, debes poner source init.sh
justo
al principio para garantizar una definición correcta de tu entorno.
Puedes poner cualquier tipo de comandos en un fichero
.xinitrc
,
pero hay que tener cuidado con algunos puntos.
Primero, el shell que interpreta el fichero esperarará por defecto
que cada programa finalice antes de empezar el siguiente. Eso significa que
si esperas que varios programas funcionen en paralelo, hay que avisárselo al
shelll poniendolos "en último plano" ("background") añadiendo un
&
al final de la línea.
En segundo lugar, xinit
espera que el script
.xinitrc
termine e interpreta el final como
"la sesión ha terminado, ahora debo matar
al servidor X también".
Esto significa que el último comando usado en en tu fichero .xinitrc
no puede ser ejecutado en último plano y debe ser un programa de larga vida.
Por eso suele usarse el gestor de ventanas para este propósito.
De hecho, muchos gestores de ventanas asumen que xinit
les
espera para terminar y usan eso para hacer funcionar el item de menú "Fin de sesión" ("Log out").
(Nota: Para ahorrar algo de memoria y ciclos de CPU, puedes
pone exec
al principio de la última línea, como en el ejemplo
que sigue)
Un simple ejemplo que arranca GNOME:
. /opt/sw/bin/init.sh exec gnome-session
Un ejemplo más complejo para usuarios de bash que apaga las alertas de X11, arranca algunos clientes y finalmente ejecuta el gestor de ventanas Enlightenment:
. /opt/sw/bin/init.sh xset b off xclock -geometry -0+0 & xterm & xterm & exec enlightenment
Para arrancar GNOME 2.2 bajo X11 de Apple, usa la siguiente secuencia:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & metacity & exec gnome-session
Para GNOME 2.4 bajo X11 de Apple, metacity arranca automáticamente y por lo tanto la secuencia se reduce a:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & exec gnome-session
Para arrancar KDE 3.2 (version < 3.2.2-21) bajo X11 de Apple:
. /opt/sw/bin/init.sh export KDEWM=kwin quartz-wm --only-proxy & /opt/sw/bin/startkde >/tmp/kde.log 2>&1
Y finalmente, para arrancar la última versión inestable de KDE bajo X11 de Apple:
. /opt/sw/bin/init.sh /opt/sw/bin/startkde >/tmp/kde.log 2>&1
Siguiente: 5. Xtools