<!-- $FreeBSD$ -->
<!-- The FreeBSD Documentation Spanish Project -->
<sect>
<heading>El sistema X Windows y las cónsolas virtuales<label id="x"></heading>
<sect1>
<heading>Quiero ejecutar las X, ¿cómo lo hago?</heading>
<p>La manera más fácil es, simplemente, especificar que
quieres usar las X durante el proceso de instalación.
<p>Entonces, lee y sigue la documentación de la herramienta
<htmlurl url=
"http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xf86config"
name="xf86config">, la cual te ayuda a configurar el sistema XFree86 sobre
las características propias de tu sistema (tarjeta de vídeo
, ratón, etc).
<p>Quizás te interesaría investigar y probar el servidor
Xaccel, disponible a un precio muy razonable. Mira en la sección
<ref id="xig" name="Xi Graphics"> o
<ref id="metrox" name="Metro Link"> para más detalles.
<sect1>
<heading>¿Porqué no funciona mi ratón con las X?<label id="x-and-moused"></heading>
<p>Si estás usando syscons (el driver de cónsola por
defecto), puedes configurar FreeBSD para soportar un ratón en cada
cónsola virtual.
Para evitar conflictos con las X, syscons soporta un dispositivo
virtual llamado <tt>/dev/sysmouse</tt>. Todos los eventos recibidos
desde el mouse real son escritos en el dispositivo sysmouse, usando
el protocolo MouseSystems. Si quieres usar el ratón en una o
más cónsolas virtuales <bf/y/ usar las X, te recomendamos
la siguiente configuración:
<verb>
/etc/rc.conf:
moused_type=ps/2 # or whatever your actual type is
moused_port=/dev/psm0 # or whatever your real port is
moused_flags=
/etc/XF86Config
Section Pointer
Protocol "MouseSystems"
Device "/dev/sysmouse"
.....
</verb>
<p>Hay gente que prefiere usar <tt>/dev/mouse</tt> bajo X. Para que
esto funcione, <tt>/dev/mouse</tt> debe estar lincado a
<htmlurl url="http://www.FreeBSD.org/cgi/man.cgi?sysmouse"
name="/dev/sysmouse">:
<verb>
# cd /dev
# rm -f mouse
# ln -s sysmouse mouse
</verb>
<sect1>
<heading>Los menus de X Window y cajas de diálogo no funcionan bien.</heading>
<p>Intenta desactivar la tecla Num Lock.
<p>Si tu tecla Num Lock está activada por defecto al arrancar el
sistema, deberías añadir la siguiente línea en la
sección <tt/Keyboard/ del fichero <tt/XF86Config/.
<verb>
# Let the server do the NumLock processing. This should only be
# required when using pre-R6 clients
ServerNumLock
</verb>
<sect1>
<heading>¿Qué es una cónsola virtual y como creo más?</heading>
<p>Las cónsolas virtuales te permiten tener sesiones
simultáneas en la misma máquina sin necesidad de tener
montajes complicados como una red o ejecución de X.
<p>Cuando el sistema arranca, mostrará el prompt de login en el
monitor una vez finalizado el mismo. Puedes entonces teclear
tu login y password y empezar a trabajar (o jugar), en la primera
cónsola virtual.
<p>En algun momento, es probablemente querras iniciar otra sesion
, por ejemplo, para mirar la documentación de un programa que
estás ejecutando, o para leer el correo mientras esperas que
termine una sesión ftp que tienes establecida. Solo haz Alt-F2 y
encontrarás un prompt un prompt de login esperandote en la segunda
"cónsola virtual". Cuando quieras volver a la sesión
original, sólo tienes que pulsar Alt-F1.
<p>La instalación por defecto de FreeBSD tiene tres cónsolas
virtuales activadas, y Alt-F1, Alt-F2 y Alt-F3 cambian entre ellas.
Para activar mas cónsolas virtuales, edita <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?ttys" name="/etc/ttys">
y añade tantas entradas como cónsolas virtuales quieras a
partir de <tt/ttyv4/, después del comentario "Virtual Terminals":
<verb>
# Edit the existing entry for ttyv3 in /etc/ttys and change
# "off" to "on".
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/libexec/getty Pc" cons25 on secure
ttyv9 "/usr/libexec/getty Pc" cons25 on secure
ttyva "/usr/libexec/getty Pc" cons25 on secure
ttyvb "/usr/libexec/getty Pc" cons25 on secure
</verb>
<p>Utiliza tantas cónsolas como quieras o necesites. Cuantas
más cónsolas tengas, más recursos utilizas; esto
puede ser importante si tienes 8MB de RAM o menos. También te
puede interesar cambiar el modo <tt/secure/ a <tt/insecure/.
<p><bf/NOTA IMPORTANTE/ si quieres usar un servidor X <bf/DEBES/
dejar, al menos, un terminal virtual sin usar (o desactivado).
<p>La manera más fácil de desactivar una cónsola
es "apagarla". Por ejemplo, para desactivar el terminal 12, cambia esto:
<verb>
ttyvb "/usr/libexec/getty Pc" cons25 on secure
</verb>
<p>por esto:
<verb>
ttyvb "/usr/libexec/getty Pc" cons25 off secure
</verb>
<p>Si tu teclado solo tiene 10 teclas de función, tendras que
acabar con:
<verb>
ttyv9 "/usr/libexec/getty Pc" cons25 off secure
ttyva "/usr/libexec/getty Pc" cons25 off secure
ttyvb "/usr/libexec/getty Pc" cons25 off secure
</verb>
<p>(También puedes, simplemente, borrar estas líneas.)
<p>Una vez has editado el fichero <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?ttys" name="/etc/ttys">,
el siguiente paso es asegurarte de que tienes suficientes
dispositivos de terminales virtuales. La manera más fácil
de hacerlo es:
<verb>
# cd /dev
# ./MAKEDEV vty12 # For 12 devices
</verb>
<p>A continuación, la manera más fácil de activar
las cónsolas virtuales es rearrancar el sistema. Si, realmente no
quieres rearrancarlo, puedes para el servidor de X Window y ejecutar
(como <tt/root/):
<verb>
kill -HUP 1
</verb>
<p>Es imperativo que pares el servidor de X Window si está
funcionando, antes de ejecutar este comando. Si no lo haces,
parecerá que tu sistema está parado/colgado después
de ejecutar el comando kill.
<sect1>
<heading>¿Cómo accedo a las cónsolas virtuales desde X?</heading>
<p>Si la cónsola está actualmente mostrando X Window,
puedes usar Ctrl-Alt-F1, etc, para cambiar entre las cónsolas
virtuales. Ten en cuenta que una vez pases de una cónsola X Window
a un terminal virtual, solo tienes que usar la tecla Alf- para volver a
conmutar entre terminales virtuales o volver a las X. No necesitas pulsar
la tecla Ctrl. Si usas la tecla Ctrl para volver a las X en alguna
de las releases antiguas, puedes encontrarte que la cónsola de
texto está bloqueada. Pulsa la tecla Ctrl de nuevo para
desbloquearla.
<sect1>
<heading>¿Cómo arranco XDM desde el fichero <tt>/etc/ttys</tt>?</heading>
<p>Existen dos escuelas sobre como arrancar el <htmlurl url=
"http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xdm"
name="xdm">. Una escuela arranca el xdm desde el fichero
<htmlurl url="http://www.FreeBSD.org/cgi/man.cgi?ttys"
name="/etc/ttys"> usando el ejemplo dado, mientras que la otra
simplemente arranca el xdm desde el fichero
<htmlurl url="http://www.FreeBSD.org/cgi/man.cgi?rc" name="rc.local"> o
desde un script <tt/X.sh/ en <tt>/usr/local/etc/rc.d</tt>.
Ambos métodos son igualmente válidos, y uno puede funcionar
en situaciones que el otro no. En ambos casos el resultado es el mismo:
el sistema X Window lanzará un prompt de login gráfico.
<p>El método ttys tiene la ventaja de documentar en que vty se
lanzarán las X pasando la responsabilidad de rearrancar el
servidor X al hacer el logout al proceso init. El método
rc.local hace más fácil terminar con el proceso xdm
en caso de problemas con el servidor X.
<p>Si arrancamos desde rc.local, <tt/xdm/ debe ser arrancado sin
argumentos (como un daemon). xdm debe arrancar DESPUES del proceso
getty, o ambos entrarán en conflicto bloqueando la
cónsola. La mejor manera de evitar este problema es tener un
script que retrase el arranque de xdm durante 10 segundos.
<p>Una versión previa de esta FAQ decía que debías
añadir el <tt/terminal virtual/ usado por las X al fichero
<tt>/usr/X11R6/lib/X11/xdm/Xservers</tt>. Esto no es necesario: las X
usarán el primer <tt/terminal virtual/ que encuentre libre.
<sect1>
<heading>Cuando arranco xconsole obtengo "Couldn't open console".</heading>
<p>Si arrancas las <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=X"
name="X"> con <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx"
name="startx">, los permisos en /dev/console no serán cambiados,
resultando en cosas como que <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xterm"
name="xterm -C"> y <htmlurl url=
"http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xconsole"
name="xconsole"> no funcionen.
<p>Esto se debe a la manera en que son fijados los permisos de la
cónsola. En un sistema multiusuario, podemos no querer que
cualquier usuario pueda escribir en la cónsola de sistema. Para
usuarios que realizan logins directamente desde una máquina con
un VTY, existe el fichero
<htmlurl url="http://www.FreeBSD.org/cgi/man.cgi?fbtab" name="fbtab">
para resolver estos problemas.
<p>Asegúrate de que existe al menos una línea como esta
sin comentar:
<verb>
/dev/ttyv0 0600 /dev/console
</verb>
<p>Está en <htmlurl
url="http://www.FreeBSD.org/cgi/man.cgi?fbtab(5)"
name="/etc/fbtab"> y asegurará que cualquiera que realice un login
en <tt>/dev/ttyv0</tt> será el propietario de la cónsola.
<sect1>
<heading>Mi ratón PS/2 no funciona bien en X.</heading>
<p>Tu ratón y el driver de ratón quizás estén
fuera de sincronización.
<p>En versiones 2.2.5 y anteriores, conmutando entre sesiones X y
sesiones de terminales virtuales, podía provocar una
desincronización. Si el problema ocurre muy amenudo,
deberías añadir la siguiente opción en el fichero
de configuración de tu kernel y recompilarlo.
<verb>
options PSM_CHECKSYNC
</verb>
<p>Mira la sección <ref id="make-kernel" name="creando un kernel">
si no tienes experiencia en compilar nuevos kernels.
<p>En versiones 2.2.6 y posteriores, el chequeo de sincronización
es realizado de otra manera, y es estandard en el driver de ratón
PS/2. Aun así, en casos extraños puedes llegar a ver
mensajes de error de sincronización como este:
<verb>
psmintr: out of sync (xxxx != yyyy)
</verb>
y parecer que tu ratón no funciona adecuadamente.
<p>Si esto ocurre, desactiva el código de chequeo de
sincronización poniendo los flags del driver PS/2 a 0x100. Entra
en <em>UserConfig</em> poniendo la opción <tt>-c</tt> en el prompt
de arranque:
<verb>
boot: -c
</verb>
Entonces, en la línea de comando de <em>UserConfig</em>, teclea:
<verb>
UserConfig> flags psm0 0x100
UserConfig> quit
</verb>
<sect1>
<heading>Mi ratón PS/2 de MouseSystems no funciona.</heading>
<p>Hemos recibido reportes de que algunos modelos de ratones PS/2 de
MouseSystems solo trabajan si están configurados en modo "alta
resolución".
<p>Desafortunadamente no hay solución para versiones 2.0.x y 2.1.x.
En versiones 2.2.x, aplica el siguiente parche en
<tt>/sys/i386/isa/psm.c</tt> y compila un nuevo kernel.
<verb>
diff -u psm.c.orig psm.c
@@ -766,6 +766,8 @@
if (verbose >= 2)
log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
unit, i);
+ set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH);
+
#if 0
set_mouse_scaling(sc->kbdc); /* 1:1 scaling */
set_mouse_mode(sc->kbdc); /* stream mode */
</verb>
<p>En versiones 2.2.6 o posteriores, especifica el flag 0x04 al
driver PS/2 para poner el ratón en modo de alta resolución.
Entra en <em>UserConfig</em>:
<verb>
boot: -c
</verb>
y en la línea de comandos teclea:
<verb>
UserConfig> flags psm0 0x04
UserConfig> quit
</verb>
<p>Mira en la sección anterior para posibles causas de problemas
con los ratones.
<sect1>
<heading>Cuando compilo una aplicación X. <tt/imake/ no puede
encontrar el fichero <tt/imake.tmpl/. ¿Dónde está?</heading>
<p>Imake.tmpl es parte del package Imake, una aplicación
estandard de compilación de X. Tanto Imake como headers y otros
ficheros necesarios para compilar aplicaciones X están en la
distribución de programación X. Puedes instalarla desde
el sysinstall o manualmente desde los ficheros de la distribución
X.
<sect1>
<heading>¿Cómo invierto los botones del ratón?</heading>
<p>Ejecuta el comando <tt/ xmodmap -e "pointer = 3 2 1"/ desde el
fichero .xinitrc o .xsession.
<sect1>
<heading>¿Cómo instalo un "splash screen" y donde los consigo?</heading>
<p>Justo antes de la publicación de FreeBSD 3.1 se añadió
una nueva característica que permite mostrar "splash screens" durante los
mensajes de arranque del sistema. Los "splash screen" deben ser un bitmap de
256 colores (<tt>*.BMP</tt>) o ZSoft PCX (<tt>*.PCX</tt>). Además, deben tener
una resolución de 320x200 o inferior para poder trabajar en controladoras
VGA estándars. Si se compila el soporte VESA en el kernel, se pueden usar
bitmaps de hasta 1024x768. Recordar que el soporte de VESA requiere que la
opción <tt>VM86</tt> sea compilada en el kernel. El soporte actual
de VESA puede ser compilado directamente en el kernel con la opción de
configuración <tt>VESA</tt> o cargando el módulo kld VESA
durante el arranque.</p>
<p>Para usar un "splash screen" necesitas modificar los archivos de
inicio que controlan el proceso de arranque de FreeBSD. Estos archivos cambiaron
con FreeBSD 3.2, así que ahora existen dos maneras de cargar un
"splash screen":
<itemize>
<item>FreeBSD 3.1
<p>El primer paso es encontrar una versión bitmap de tu "splash
screen". La release 3.1 sólo soporta bitmaps de Windows. Una
vez hayas elegido tu "splash screen" copiala en
<tt>/boot/splash.bmp</tt>. A continuación necesitas tener
un archivo <tt>/boot/loader.rc</tt> que contenga las siguientes
líneas:
<verb>
load kernel
load -t splash_image_data /boot/splash.bmp
load splash_bmp
autoboot
</verb>
</item>
<item>FreeBSD 3.2+
<p>Además de soportar los "splash screens" en formato PCX,
FreeBSD 3.2 incluye un mejor sistema de configuración
del proceso de arranque. Si quieres, puedes usar el método
señalado para FreeBSD 3.1. Si lo haces, y quieres usar PCX,
reemplaza <tt>splash_bmp</tt> con <tt>splash_pcx</tt>. Si por el
contrario quieres usar la nueva configuración de arranque,
necesitas crear un archivo <tt>/boot/loader.rc</tt> que contenga
las siguientes líneas:
<verb>
include /boot/loader.4th
start
</verb>
<p>y otro archivo <tt>/boot/loader.conf</tt> que contenga lo
siguiente:
<verb>
splash_bmp_load="YES"
bitmap_load="YES"
</verb>
<p>Esto asume que estás usando <tt>/boot/splash.bmp</tt>
como tu "splash screen". Si quieres usar un archivo PCX,
copialo a <tt>/boot/splash.pcx</tt>, crea un archivo
<tt>/boot/loader.rc</tt> como se ha indicado anteriormente, y
crea un <tt>/boot/loader.conf</tt> que contenga:
<verb>
splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.pcx"
</verb>
</item>
</itemize>
<p>Ahora todo lo que necesitas es un "splash screen". Puedes navegar
por una inmejorable galería en <htmlurl
url="http://www.cslab.vt.edu/~jobaldwi/splash/"
name="http://www.cslab.vt.edu/~jobaldwi/splash/">.</p>
</sect1>
</sect>