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 maquina será muy lenta: se va a pasar el tiempo en "swapping".
En un primer tiempo, instala con la ayuda de tu distribución el servidor que corresponda mejor a tu carta gráfica.
El problema con X Window, es configurar el archivo. Se trata del archivo
XF86Config
. Cuidado: este archivo es fuertemente 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 tu archivo, lanza el programa SuperProbe
.
En mi caso, esto me permite obtener las siguientes informaciones. (Si yo se que es una tarjeta
video super vieja... pero bueno, hay le damos 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, sigue lo mas duro : construir el archivo de configuración.
Atención: en ciertas distribuciones, el archivo XF86config esta en el
repertorio /etc
, lo cual es una buena idea en el caso de una red de
estaciones Linux que comparten /usr
por NFS. Si utilizas una o varias
maquinas independientes, puedes suprimir /etc/XF86config
y utilizar
/usr/X11R6/lib/X11/XF86Config
.
Este archivo se presenta en forma de secciones. He aquí una descripción:
Secction "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 tienes gran cosa que modificar. Agregas o suprimes los caminos de las fonts 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 encuentres el tuyo.
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 tu carta lo permite, puedes agregar otras subsecciones para el display:
Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsectionEn este caso, tu servidor funcionara en 16 millones de colores.
./doc
. Un buen numero de
pantallas y de tarjetas están descritas con los relojes que se deben utilizar.
startx 2>/tmp/err
.
En el archivo /tmp/err
van a estar todos los mensajes del servidor, entre ellos el chip
de tu carta y sus clocks. La única cosa que te va a faltar por configurar, es tu pantalla.
ftp.ibp.fr
en el repertorio /pub/linux/french/docs/HOWTO
. xvidtune
: permite "afinar"
la imagen (centrarla, etc). Por ejemplo, yo tenia una tembladera : con este programa, pude
resolver el problema.
Pasamos ahora al teclado francés bajo X Window. Como XFree fue concebido por personas que utilizan teclados americanos (qwertyiop), la configuración del teclado puede parecer bastante complicada. Te 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 repertorio
/usr/X11R6/lib/X11/xinit
. Debe llamarse .Xmodmap
.
El archivo que sigue fue hecho por Rene Cougnenc. Hoy en dia 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 XFree 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 un dos pequeño para " y Shift + dos para ".
Nota: Personalmente, utilizo la primera solución sin ningún problema... Si llegas a tener algún problema, ensaya 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 "map" del teclado.
Entonces se debe hacer:
/usr/lib/kbd/keytables.map
, copia fr-lat1.map
bajo otro
nombre (tuteclado.map
). Lanza showkey
para ver el numero de las teclas
concernidas, en orden : 5 8 10 26 y 40. Luego edita tuteclado.map
para hacer las
modificaciones.
Para hacer un test, haz loadkeys tuteclado.map
. Cuando estés seguro que todo
funciona correctamente, modifica /etc/rc.d/rc.keymap
para que cargue
tuteclado.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.
Para arrancar directamente con X Window (xdm
), tienes que modificar el archivo
/etc/inittab
y cambiar la linea que contiene initdefault
. Por ejemplo en mi
maquina solo 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 mas simple es mirar en el repertorio
/etc/rc.d
si el archivo
rc.6
lanza el xdm.
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, agrega al fin del archivo startx :
CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE<item> 1` echo <sq>Starting X on display <sq>$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE
Es común que los errores salgan en la ventana virtual texto a partir de la cual tu as lanzado el servidor. Una solución consiste en lanzar el servidor de esta manera :
xinit > /dev/console 2>&1Si utilizas la Slackware, solo tienes que editar el script
startx
y remplazar la linea :
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 :
Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSectionXfree busca los módulos en un repertorio predefinido :
/usr/X11R6/lib/modules
o en un camino especificado 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 pagina del manual de XF86Config para mas detalles. Un dispositivo se activa solamente si posee una sub-sección. El siguiente ejemplo activa un joystick y una mesa :
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 EndSectionEn seguida el servidor puede emitir los eventos extendidos o bien bascular un dispositivo en core pointer. Dos programas existen para manipular los dispositivos extendidos :
xsetpointer
bascula un dispositivo en core pointer o lista los dispositivos;
xsetmode
pasa un dispositivo en absoluto o en relativo. Tienes que cambiar
el modo de un dispositivo antes de hacerlo bascular en core pointer.
Una pregunta que hacen muy seguido : Yo no se porque 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 sistemas)?. La solución es muy simple : desbloquear "Scroll Lock" !