Ahora que todo funciona bien, pasamos a otro gran pedazo : la instalación de X Window.
Para poder utilizar X Window, es necesario tener una configuración razonable (al menos 8Mo de memoria). En caso contrario, la máquina será muy lenta: se va a pasar todo el tiempo en "swapping".
En primer lugar, instale con la ayuda de su distribución el servidor que se corresponda mejor con su tarjeta gráfica.
El problema con X Window, es configurar el archivo XF86Config
.
Cuidado, este archivo es muy diferente de la versión antigua de
XFree86 2. Se trata aquí de un servidor XFree86 3.2, basado en X11R6. Antes
de comenzar a construir el archivo, lance el programa SuperProbe
. En
mi caso, esto me permite obtener las siguientes informaciones. (Si, ya se que
es una tarjeta de video super vieja... pero bueno, tiramos con lo que
tenemos !) :
First video: Super-VGA Chipset: Cirrus CL-GD5428 Memory: 1024 Kbytes RAMDAC: Cirrus Logic Built-in 15/16/24-bit DAC (with 6-bit wide lookup tables (or in 6-bit mode))
Ahora viene lo más duro : construir el archivo de configuración.
Atención: en ciertas distribuciones, el archivo XF86config está en el
directorio /etc/X11
, lo cual es una buena idea en el caso de una red
de estaciones Linux que comparten /usr
por NFS. Si utiliza una
o varias máquinas independientes, puede suprimir /etc/X11/XF86config
y utilizar /usr/X11R6/lib/X11/XF86Config
.
Las nuevas versiones de las distribuciones traen ciertas herramientas que permiten automatizar la instalación y la configuración del servidor. Pruebe primero con estas herramientas: es muy probable que funcionen directamente.
Este archivo se presenta en forma de secciones. He aquí una descripción:
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/xtel/" EndSectionEn esta sección no hay gran cosa que modificar. Agregue o suprima las rutas de las fuentes y la lista de colores RGB.
Section "ServerFlags" EndSectionEn mi caso, esta vacía...
Section "Keyboard" Protocol "Standard" # AutoRepeat 500 5 ServerNumLock # Para esto, ver mas abajo LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock
Section "Pointer" # para el protocolo, utiliza MouseMan, MouseSystems, Logitech o Microsoft Protocol "MouseMan" # Dispositivo a utilizar Device "/dev/mouse" BaudRate 1200 # Emulación 3 botones : el click sobre los 2 botones # simulan el botón del medio... para los ratones con dos botones. Emulate3Buttons # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection
doc
contienen las características de varios tipos de pantallas. Es
muy probable que encuentre el suyo.
Section "Monitor" Identifier "Sync3N" VendorName "Samsung" ModelName "3N" # Frequences : Bandwidth 25.2 HorizSync 31.5-80 VertRefresh 60-90 # Los modos en los cuales tu pantalla puede trabajar. Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "1024x768i" 45 1024 1040 1216 1264 768 768 778 819 interlace Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 EndSection
Section <sq>"Device" # Bla bla bla Identifier "CartePerso" VendorName "Cirrus" # Nombre de la tarjeta BoardName "clgd5428" #memoria video VideoRam 1024 # nombre del chip Chipset "clgd5428" # clocks del reloj. Clocks 25.23 28.32 41.16 36.08 31.50 39.99 45.08 49.87 Clocks 64.98 72.16 75.00 80.01 85.23 EndSection
Section "Screen" Driver "svga" # Referencias a otras secciones. Device "CartePerso" Monitor "Sync3N" # El display utilizado Subsection "Display" Depth 8 # 256 colores max # Modos por prioridad : de izquierda a derecha Modes "1024x768" "800x600" "640x480" ViewPort 0 0 # Resolucion virtual Virtual 1024 768 option "linear" EndSubsection EndSectionSi su tarjeta lo permite, puede agregar otras subsecciones para el "display":
Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsectionEn este caso, el servidor funcionará en 16 millones de colores.
La configuración del servidor X puede ser muy rápida (funciona inmediatamente), o muy lenta. En el segundo caso, algunos consejos:
./doc
. Un buen
número de pantallas y de tarjetas están descritas con los relojes que se deben
utilizar.X -probeonly
2>/tmp/err
. (si utiliza csh
ou tcsh
como intérprete de
órdenes, reemplace 2>
por >&
. En el archivo /tmp/err
van a estar todos los
mensajes del servidor, entre ellos el chip de su tarjeta y sus clocks. La
única cosa que va a faltar por configurar, es la pantalla.
ftp.lip6.fr
en el directorio
/pub/linux/french/docs/HOWTO
.
xvidtune
: permite "afinar" la
imagen (centrarla, etc). Por ejemplo, yo tenía cierto temblor en la imagen :
con este programa, pude resolver el problema.
Si el inglés le desespera, puede leer una versión francesa de toda la docuemntación XFree86 3.2 en formato HTML. Para ello vaya al servidor http://www.kheops.com.
Nota: les utilisateurs de clavier de type suisse-romand seront heureux d'aller consulter la documentation qui se trouve à l'adresse http://dmawww.epfl.ch/roso.mosaic/jaf/linux/clavierromand.html. Divers autres types de claviers pour francophones sont décrits par ailleurs.
Nota: los usuarios de teclado tipo "suisse-romand" hara bien en consultar la documentación que se encuentra en la dirección http://dmawww.epfl.ch/roso.mosaic/jaf/linux/clavierromand.html. Otros tipos de teclados para francófonos son descritos aquí.
Pasamos ahora al teclado francés bajo X Window. Como XFree86 fue concebido por personas que utilizan teclados americanos (qwertyiop), la configuración del teclado puede parecer bastante complicada. Recomiendo seguir lo que sigue...
Primero, debes tener en el archivo XF86Config las siguientes opciones:
LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLockLuego, pones el siguiente archivo en el directorio
/usr/X11R6/lib/X11/xinit
. Debe llamarse .Xmodmap
.
El archivo que sigue fue hecho por Rene Cougnenc. Hoy en día es el que yo utilizo. Y pienso que es dificil hacer algo mejor. Funciona bajo XFree86 3.2.
! teclado francés AZERTYUIOP para XFree86 3.2 ! ! Los acentos circunflejos de las principales vocales se obtienen con ! la tecla Mode_switch (ALT_GR). ! ! Los dos puntos se obtienen con ALT_GR + SHIFT, sobre 'e', 'i', 'o', y 'u'. ! ! Esperemos que un día podremos obtener el teclado francés standard sobre ! el cual todo el mundo aprenda a teclear... !<item>---------------------------------------------------------------------- ! keycode 9 = Escape keycode 10 = ampersand 1 keycode 11 = eacute 2 asciitilde keycode 12 = quotedbl 3 numbersign keycode 13 = apostrophe 4 braceleft keycode 14 = parenleft 5 bracketleft keycode 15 = minus 6 bar keycode 16 = egrave 7 grave keycode 17 = underscore 8 backslash keycode 18 = ccedilla 9 asciicircum keycode 19 = agrave 0 at keycode 20 = parenright degree bracketright keycode 21 = equal plus braceright keycode 22 = BackSpace keycode 23 = Tab keycode 24 = a A acircumflex keycode 25 = Z keycode 26 = e E ecircumflex ediaeresis keycode 27 = R keycode 28 = T keycode 29 = Y keycode 30 = u U ucircumflex udiaeresis keycode 31 = i I icircumflex idiaeresis keycode 32 = o O ocircumflex keycode 33 = P keycode 34 = dead_circumflex dead_diaeresis keycode 35 = dollar sterling keycode 36 = Return keycode 37 = Control_L keycode 38 = Q keycode 39 = S keycode 40 = D keycode 41 = F keycode 42 = G keycode 43 = H keycode 44 = J keycode 45 = K keycode 46 = L keycode 47 = M keycode 48 = ugrave percent keycode 49 = guillemotleft guillemotright keycode 50 = Shift_L keycode 51 = asterisk mu keycode 52 = W keycode 53 = X keycode 54 = C keycode 55 = V keycode 56 = B keycode 57 = N keycode 58 = comma question keycode 59 = semicolon period keycode 60 = colon slash keycode 61 = exclam slash keycode 62 = Shift_R keycode 63 = asterisk keycode 64 = Alt_L keycode 65 = space keycode 66 = Caps_Lock keycode 67 = F1 keycode 68 = F2 keycode 69 = F3 keycode 70 = F4 keycode 71 = F5 keycode 72 = F6 keycode 73 = F7 keycode 74 = F8 keycode 75 = F9 keycode 76 = F10 keycode 77 = Num_Lock keycode 78 = Scroll_Lock keycode 79 = 7 keycode 80 = 8 keycode 81 = 9 keycode 82 = KP_Subtract keycode 83 = 4 keycode 84 = 5 keycode 85 = 6 keycode 86 = KP_Add keycode 87 = 1 keycode 88 = 2 keycode 89 = 3 keycode 90 = 0 keycode 91 = period keycode 92 = 0x1007ff00 keycode 93 = keycode 94 = less greater keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = Begin keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Mode_switch keycode 114 = Break ! Nuevos valores para el teclado numérico a partir de XFree86 3.1.1 !keycode 147 = Home !keycode 148 = Up !keycode 149 = Prior !keycode 150 = Left !keycode 152 = Right !keycode 153 = End !keycode 154 = Down !keycode 155 = Next !keycode 156 = Insert !keycode 157 = Delete !keycode 136 = 7 !keycode 137 = 8 !keycode 138 = 9 keycode 82 = KP_Subtract !keycode 139 = 4 !keycode 140 = 5 !keycode 141 = 6 !keycode 86 = KP_Add !keycode 142 = 1 !keycode 143 = 2 !keycode 144 = 3 !keycode 145 = 0 !keycode 146 = period !-----------------------------------------------------------------------Los caracteres " y " se obtienen respectivamente presionando la tecla donde hay un dos pequeño para " y Shift + dos para ".
Nota: Personalmente, utilizo la primera solución sin ningún problema... Si llega a tener algún problema, pruebe esta otra.
Esta solución viene de Michel Billaud. Bueno, partimos de la constatación de que las teclas acento grave (ALT-4) y acento agudo (ALT 7) son difíciles de utilizar : si son mudas hay que doblarlas la mayor parte del tiempo, si no lo son no se pueden acentuar las E A U etc.
Entonces, es necesario que ALT 4 y ALT 7 produzcan verdaderos acentos agudos y apóstrofes. De todas formas, nos hacen falta teclas mudas (además). Será necesario modificar el "mapa" del teclado.
Entonces se debe hacer:
/usr/lib/kbd/keytables.map
, copiar
fr-lat1.map
bajo otro nombre (miteclado.map
). Lanzar
showkey
para ver el número de las teclas involucradas, en orden : 5 8
10 26 y 40. Luego editar miteclado.map
para hacer las modificaciones.
Para hacer un test, hacer loadkeys miteclado.map
. Cuando esté seguro
que todo funciona correctamente, modifique /etc/rc.d/rc.keymap
para
que cargue miteclado.map y escribir sobre tu teclado con un lápiz y
no con tinta ... :-)
También se puede poner una "tilde muda" en el 2 superior y una "tilde dura" (indispensable para un "shellista") en ALT-2.
Es necesario utilizar un servidor X bastante reciente para utilizar esto (XFree86 3.2 mínimo). En la sección "Keyboard" del fichero de configuración, añadir:
XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc102" XkbLayout "fr"
Si el teclado no tiene 101 teclas, habrá que reemplazar "102" por "101", "pc102", "104" o "105", con el fin de utilizar las teclas especiales (MS-Windows).
Para más información, mire el contenido del directorio
/usr/X11R6/lib/X11/xkb
.
Para arrancar directamente con X Window (xdm
), hay que modificar el
archivo /etc/inittab
y cambiar la línea que contiene
initdefault
. Por ejemplo en mi máquina sólo tengo que remplazar :
id:5:initdefault: #id:6:initdefault:por
#id:5:initdefault: id:6:initdefault:Pero cuidado ! Ciertas distribuciones utilizan el nivel 6 para rearrancar. Lo más simple es mirar en el archivo
/etc/inittab
: éste
contiene normalmente una descripción de los niveles de ejecución y a qué
corresponden.
Para lanzar xdm
en 16 o 32 bits, hay que
modificar el archivo /usr/X11/lib/X11/xdm
y poner :
:0 local /usr/X11/bin/X -bpp 16 (o 32)
Para poder arrancar varias sesiones X en diferentes consolas sin tener que especificar el "display" a utilizar, agregar al final del archivo startx :
CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE - 1` echo "Starting X on display "$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE
Tambien se utiliza la siguiente solución que tiene como ventaja el utilizar la primera consola libre:
for AFFICHAGE in 0 1 2 3 4 5; do if [ ! -f /tmp/.X$AFFICHAGE-lock ]; then exec xinit $clientargs -- $serverargs :$AFFICHAGE >/dev/console 2>&1 exit fi done
Es normal que los errores salgan en la ventana virtual texto a partir de la cual se ha lanzado el servidor. Una solución consiste en lanzar el servidor de esta manera :
xinit > /dev/console 2>&1
Si utiliza la Slackware, solo tiene que editar el script startx
y
remplazar la línea :
exec xinit $clientargs -- $serverargspor
exec xinit $clientargs -- $serverargs >/dev/console 2>&1
A partir de la versión XFree 3.1.2B, el servidor X de XFree86 soporta la extensión Xinput. Esta extensión permite emplear simultáneamente varios dispositivos de entrada. En Xfree86, hay 3 por el momento :
Los controladores para estos dispositivos son cargados dinámicamente en el servidor a partir de la versión 3.1.2D agregando las siguientes líneas al archivo XF86Config :
Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSectionXFree86 busca los módulos en un directorio predefinido :
/usr/X11R6/lib/modules
o en una ruta especificada en la sección
"Files" :
Section "Files" ModulePath "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" ModulePath "/usr/X11R6/bin" EndSectionEl ModulePath debe ser especificado antes de la sección "Module" para funcionar.
Cada dispositivo posee su propia sub-sección de configuración. Consultar la página del manual de XF86Config para más detalles. Un dispositivo se activa sólamente si posee una sub-sección. El siguiente ejemplo activa un joystick y una tableta digitalizadora :
Section "XInput" SubSection "Joystick" Port "/dev/js0" Timeout 20 MinimumXPosition 28 MaximumXPosition 1206 MinimumYPosition 27 MaximumYPosition 1239 Delta 20 EndSubsection SubSection "WacomStylus" Port "/dev/ttyS2" EndSubsection EndSectionA partir de ahí el servidor puede emitir eventos extendidos o bien convertir un dispositivo en core pointer. Existen dos programas para manipular los dispositivos extendidos :
xsetpointer
convierte un dispositivo en core pointer o
lista los dispositivos;xsetmode
pasa un dispositivo a modo absoluto o modo
relativo. Hay que cambiar el modo de un dispositivo antes de convertirlo en
core pointer.
Una pregunta muy frecuente : Yo no se porqué bajo Xfree86, a veces no puedo mover las ventanas, no tengo acceso a los botones ni a los menús (salvo aquellos de las ventanas de sistema)?. La solución es muy simple : ¡ Desbloquear "Num Lock" !
Ciertos zurdos prefieren invertir el orden de los botones. Para ello,
modifique los ficheros .xinitrc
y xsession
indicando:
xmodmap -e "pointer = 3 2 1"