Puede preguntarse, ¿por qué el simple y sencillo paquete xorg-x11 se convirtió en casi 300 paquetes separados? Y ciertamente tiene razón en esto. =) No es algo que Gentoo esté haciendo independientemente de los desarrolladores principales de X.Org; ellos están dividiendo todos los paquetes en versiones separadas y nosotros estamos siguiendo esta decisión.
El razonamiento tras la división y cambios en el sistema de compilación tiene al menos tres partes:
2. Migrar al servidor X modular
Para evitar que los paquetes antiguos interrumpan en este proceso, eliminaremos por completo el xorg-x11 antiguo antes de instalar el servidor X modular. Esto no es absolutamente crucial, pero ayudará a asegurar una migración sin problemas.
Primer paso: Eliminar su antiguo servidor X
Cree una copia de seguridad del xorg-x11 monolítico pasa usarla en caso de que el X modular no funcione del todo bien y quiera regresar a la versión 6.x. Puede también querer instalar un nuevo navegador modo texto como links o lynx para ver este howto cuando no disponga de X.
Listado de Código 2.1: Respaldar el xorg-x11 antiguo |
# emerge gentoolkit # quickpkg xorg-x11 |
Deshágase de la instalación monolítica. Para evitar la posibilidad de que su sistema deje de responder por completo, salga de la sesión X en ejecución antes de desinstalar X.Org.
Listado de Código 2.2: Eliminar la instalación monolítica |
# emerge -Ca xorg-x11 virtual/x11
|
Si su /usr/X11R6 no es un enlace simbólico a /usr, bórrelo y empiece desde cero. Pero primero, guarde una lista de todos los paquetes instalados ahí. El paquete gentoolkit proporciona equery.
Listado de Código 2.3: Hacer una lista de paquetes |
# if [[ ! -L /usr/X11R6 ]]; \
then equery belongs /usr/X11R6 > ~/usr-x11r6-packages \
&& rm -rf /usr/X11R6; fi
|
Finalmente, si existe /usr/lib/X11/xkb (/usr/lib64/X11/xkb para los usuarios de sistemas de 64 bits), entonces debería ser eliminado. Este es un requisito para instalar el paquete xkeyboard-config.
Segundo paso: Instalar el X modular
Para el renderizado directo, verifique que esté activo el parámetro USE dri. Debería estar activado de forma predeterminada.
Luego, decida qué controladores necesitará instalar. Esto variará dependiendo de su hardware de entrada y vídeo. Si ya tiene un /etc/X11/xorg.conf funcional, entonces ejecute este comando para tener una idea de qué controladores necesita:
Listado de Código 2.4: Encontrar qué controladores necesita |
# grep Driver /etc/X11/xorg.conf
Driver "kbd"
Driver "mouse"
Driver "radeon"
|
Listado de Código 2.5: Chequear los controladores disponibles |
# emerge --verbose --pretend xorg-x11
[ebuild R ] x11-base/xorg-x11-7.0-r1 USE="-xprint" INPUT_DEVICES="keyboard
mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300
-elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -magictouch
-microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics% -tek4957
-ur98 -vmmouse -void" VIDEO_CARDS="i128 mga radeon savage -apm -ark -chips
-cirrus -cyrix -dummy -fbdev -fglrx% -glint -i740 -i810 -imstt -mach64 -neomagic
-newport -nsc -nv -nvidia% -r128 -rendition -s3 -s3virge -siliconmotion -sis
-sisusb -sunbw2 -suncg14 -suncg3 -suncg6 -sunffb -sunleo -suntcx -tdfx -tga
-trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB
|
Ajuste las variables INPUT_DEVICES y VIDEO_CARDS de acuerdo a sus necesidades en el fichero /etc/make.conf. Para el ejemplo de arriba, la configuración mínima sería INPUT_DEVICES="keyboard mouse" y VIDEO_CARDS="radeon". Si no ajusta alguna de las dos variables entonces xorg-x11 instalará todos los controladores disponibles correspondientes. Para los controladores secundarios (de respaldo), puede ser interesante agregar los parámetros vesa y fbdev a la variable VIDEO_CARDS.
Ahora, instale el metapaquete. Este instalará el servidor y las aplicaciones usuales, lo que le dará una implementación funcional del escritorio de X:
Listado de Código 2.6: Instalar el metapaquete modular |
# emerge xorg-x11 # etc-update # revdep-rebuild # [[ -e ~/usr-x11r6-packages ]] && emerge $(<~/usr-x11r6-packages) |
Nota: Si realmente desea una instalación mínima, tan solo instale xorg-server. Esto hará que se descargue sólo lo necesario para que pueda iniciar un servidor X. |
Note que esta instalación intenta ser lo más mínima posible, así que cosas como xcursor-themes no son instaladas de forma predeterminada. En el ejemplo particular, querría xcursor-themes si cambió la configuración del cursor a whiteglass, redglass o handhelds. Si usa los temas de cursor gentoo, gentoo-blue o gentoo-silver, entonces instale gentoo-xcursors.
Nota: Con el X modular instalado, los controladores externos como nvidia-glx, wacom y también algunas aplicaciones vnc pueden no funcionar si instalan cosas a /usr/lib/modules en vez de /usr/lib/xorg/modules. Muchas de esas aplicaciones tendrán agregada la detección del X modular al proceso de instalación, por lo tanto, necesitarán ser reinstaladas luego de la instalación del X modular. Además, muchos controladores externos tiene un parámetro USE dlloader que deberá activar y a continuación recompilar los controladores. |
3. Advertencias y problemas frecuentes
'emerge -u world' quiere instalar xorg-x11 6.x o virtual/x11
Esto es debido a que el árbol todavía no está adaptado a las dependencias del X modular. Puede ayudar a la transición leyendo el COMO: Migrar a X modular y reportando fallos con parches a los mantenedores de los paquetes. Los mantenedores estarán listados en metadata.xml en el mismo directorio del paquete en cuestión y el paquete herdstat hará que las consultas a estos últimos sean más rápidas.
En particular, si está ejecutando el X modular en un sistema estable, puede que tenga problemas. Muchos paquetes funcionan sólo con el X modular en sus versiones de prueba (~arch), así que quizás tenga que agregar paquetes adicionales al fichero /etc/portage/package.keywords.
¿Qué sucedió con todos los parámetros USE?
Muchos parámetros USE presentes en la serie 6.8 de xorg-x11 desaparecieron o se trasladaron en la nueva versión 7.0. Aparecieron algunos nuevos, a continuación una explicación de aquello:
| Parámetro USE | ¿Qué sucedió en 7.0? |
| 3dfx | En 7.0, incorpora glide-v3 desde el metapaquete xorg-x11 |
| 3dnow, mmx, sse | Activada de forma predeterminada en tiempo de construcción ya que existen chequeos en tiempo de compilación |
| bitmap-fonts, truetype-fonts, type1-fonts | El metapaquete xorg-x11 incorpora una pequeña selección de las fuentes tipográficas más usadas. Adicionalmente puede instalar otras en media-fonts/ |
| cjk | Utilice USE=nls en font-misc-misc y font-sony-misc para obtener las fuentes tipográficas JISX0201 japonesas. Hay más en font-jis-misc. Las fuentes tipográficas chinas se encuentran en font-isas-misc y las coreanas en font-daewoo-misc. |
| dlloader | 7.0 usa dlloader de forma predeterminada y elfloader no funciona. |
| doc | Trasladado a app-doc/xorg-docs |
| dmx | Incorporado en xorg-server a menos que se utilice USE=minimal |
| font-server | Puede instalar xfs manualmente |
| ipv6 | Trasladado a los paquetes que lo usan. Configúrelo globalmente si lo desea. |
| minimal | Para obtener el mismo efecto, tan solo instale xorg-server en vez de xorg-x11. Utilice USE=minimal en xorg-server para evitar la compilación de Xdmx, Xvfb y Xnest. Si necesita algo aún más mínimo, observe en x11-base/kdrive. |
| nls | En la versión 7.0, USE=nls instala todas las versiones de las fuentes tipográficas no-ISO8859-1 |
| nocxx | Todavía no hay un equivalente en 7.0 |
| opengl | Cambió de nombre a "dri", la cual activa el renderizado directo en xorg-server y muchos controladores. Independiente de que USE=dri esté o no activado, todavía puede obtener renderizado 3D por software con Mesa. |
| pam | Trasladado a paquetes individuales que lo usan, tales como xorg-server y xdm |
| sdk | 7.0 debe instalar el kit de desarrollo de software (SDK) como consecuencia de la modularización. |
| static | En la mayoría de los casos no tiene mucho sentido intentar compilar un servidor estático en el mundo modular, puesto que el controlador no se puede compilar para que quede incorporado en este. |
| xprint | En el metapaquete, incorpora libXp. En otras aplicaciones, incorpora soporte para xprint. La mayoría de la gente no querra activarlo. |
| xv | Deja de ser opcional porque no ahorra mucho espacio y causa otros problemas con algunos paquetes que esperan que esté activado. |
¿Qué ocurrió con todos los ficheros de configuración?
En el paquete X.Org 6.8 de Gentoo, todos los ficheros de configuración y scripts fueron almacenados en /etc/X11. En el X.Org modular, las localizaciones de estos ficheros se han cambiado -- esto es, los ficheros de configuración están todavía en /etc/X11, pero los scripts y configuraciones por defecto están ahora en /usr/lib/X11 (o /usr/lib64/X11) y /usr/share/X11.
Gracias a la protección de la configuración (CONFIG_PROTECT), probablemente usted tendrá todos sus ficheros de configuración antiguos de X.Org 6.8 aún en /etc/X11, ocupando espacio y pareciendo útiles.
Ya que estos nuevos directorios no están en CONFIG_PROTECT, es importante que cualquier cambio a las configuraciones por defecto se realice copiando los fichero relevantes a /etc/X11 y actualizando los ficheros de configuración apropiados allí. De forma alternativa, pero no recomendada, la nueva localización puede ser ajustada para ser protegida de la configuración. Abajo se muestran algunos ejemplos:
Listado de Código 3.1: Personalizando la inicialización de XDM |
En primer lugar, copie el fichero Xsetup_0 a /etc para que esté protegido de la configuración. # cp -a /usr/lib/X11/xdm/Xsetup_0 /etc/X11/xdm/ Edite el fichero y ajústelo a su gusto. Entonces, edite xdm-config para actualizar el camino a este fichero. # nano /etc/X11/xdm/xdm-config Cambie lo siguiente: ! The following three resources set up display :0 as the console. DisplayManager._0.setup: /usr/lib/X11/xdm/Xsetup_0 DisplayManager._0.startup: /usr/lib/X11/xdm/GiveConsole DisplayManager._0.reset: /usr/lib/X11/xdm/TakeConsole ...a esto: ! The following three resources set up display :0 as the console. DisplayManager._0.setup: /etc/X11/xdm/Xsetup_0 DisplayManager._0.startup: /usr/lib/X11/xdm/GiveConsole DisplayManager._0.reset: /usr/lib/X11/xdm/TakeConsole |
Nota: En sistemas multilibrería de 64-bit con el perfil no-symlink, necesitará cambiar la librería a lib64. |
En este ejemplo, enviado por Joe Womack, personalizaremos algunos ajustes xterm. Esto puede ser realizado globalmente o para cada usuario.
Listado de Código 3.2: Personalizando app-defaults/XTerm-color de forma global |
Al igual que arriba, cree una copia del fichero en /etc de modo que esté protegido de la configuración: # cp -a /usr/share/X11/app-defaults/XTerm-color /etc/X11/app-defaults/ Personalice el fichero a su gusto. Ahora, necesitaremos indicarle a Xt donde puede encontrar los ficheros a través de XFILESEARCHPATH. Póngalo en un fichero dentro de /etc/env.d: # echo '# Esto aplica a la configuración para todo el sistema.' >> /etc/env.d/10xpaths # echo 'XFILESEARCHPATH=/etc/X11/%T/%N:/usr/share/X11/%T/%N' >> /etc/env.d/10xpaths |
Listado de Código 3.3: Personalizando app-defaults/XTerm-color de forma local |
Hay dos formas de hacer esto: 1) Prepare un directorio app-defaults para cada usuario: # echo '# Esto aplica para las personalizaciones de usuario en $HOME/app-defaults.' >> /etc/env.d/10xpaths # echo 'XUSERFILESEARCHPATH=$HOME/%T/%N' >> /etc/env.d/10xpaths 2) Cree un .Xdefaults o .Xresources y copie los ajustes que quiera cambiar. Este ejemplo cambia todos los XTerms para que tengan el cursor naranja, se ejecuten como una shell de login, tengan una decoración en la barra de desplazamiento y un búfer de 1000 líneas de desplazamiento hacia atrás: # echo '! Xterm defaults' >> .Xresources # echo 'XTerm*CursorColor: orange' >> .Xresources # echo 'XTerm*loginShell: true' >> .Xresources # echo 'XTerm*scrollBar: true' >> .Xresources # echo 'XTerm*saveLines: 1000' >> .Xresources Para que estos cambios tengan efecto, reinicie X o ejecute: # xrdb -merge $HOME/.Xresources |
Nota: Lea http://www.faqs.org/faqs/x-faq/part2/section-22.html para más detalles sobre el ajuste de XFILESEARCHPATH y XUSERFILESEARCHPATH. Mire en http://tldp.org/HOWTO/XWindow-User-HOWTO/moreconfig.html#XRESOURCES para más detalles sobre .Xresources. |
Problemas con los controladores
Se nos ha informado que:
Hacer que la aceleración 3D nuevamente funcione
Para obtener información de depuración que ayude a hacer que funcione el renderizado directo:
Listado de Código 3.4: Obtener cierta información de depuración |
# grep -e EE -e WW /var/log/Xorg.0.log # LIBGL_DEBUG=verbose glxinfo |
Autodetección del protocolo del ratón
Si tiene configurado "Protocol" "auto" en el fichero xorg.conf en la sección correspondiente al ratón, puede que no funcione. Necesita especificar "Protocol" "ExplorerPS/2" o "IMPS/2" para que la ruedita funcione.
Estoy obteniendo mensajes de error de que no se encuentra libbitmap o libpcidata
Asegúrese de que no existe una línea con ModulePath en su fichero /etc/X11/xorg.conf.
Si instaló el X modular en una instalación nueva de Gentoo, puede que no tenga el enlace simbólico /usr/X11R6 -> /usr. El paquete x11-base/xorg-x11 asegurará que ese enlace exista durante el proceso de instalación.
Puede ayudar a sacar las cosas de /usr/X11R6 reparando los paquetes que instalan cosas allí y reportando fallos. También, recuerde reinstalar estos paquetes.
Listado de Código 3.5: Paquetes que se instalan en /usr/X11R6 |
# cat ~/usr-x11r6-packages # emerge --pretend $(< ~/usr-x11r6-packages ) |
XKB no funciona, no puedo cambiar a terminales virtuales, etc.
Listado de Código 3.6: Encontrar los cambios de XKB |
Revise el fichero /var/log/Xorg.0.log y busque este mensaje: (WW) Couldn't load XKB keymap, falling back to pre-XKB keymap Si no tiene ese mensaje de error, su XKB funciona. # grep Xkb /etc/X11/xorg.conf Option "XkbModel" "logibik" Option "XkbLayout" "dvorak" Option "XkbOptions" "ctrl:swapcaps" Primero, vea qué cambio en su disposición. Esto se encuentra en el directorio symbols/pc. # cd /usr/share/X11/xkb/symbols/ Si tiene instalado xkbdata en vez xkeyboard-config, cámbiese al subdirectorio pc/. # ls *dvorak* OK, no aparece nada. Muchas de las disposiciones antiguas se trasladaron a sus mapas de teclados basados en el código de país. # ls *us* us Ahora, revisemos si hay una variante de xkb_symbols llamada dvorak. # grep xkb_symbols.*dvorak us xkb_symbols "dvorak" { Eso significa que en el xorg.conf necesitamos escribir Option "XkbLayout" "us" y Option "XkbVariant" "dvorak". Pero ahora cuando intentamos probar esto con setxkbmap, todavía obtenemos un error # setxkbmap -model logibik -layout us -variant dvorak -option "ctrl:swapcaps" Quizás también cambió el modelo. # cd /usr/share/X11/xkb/rules/ # grep logibik xorg.lst Lo anterior no entrega resultados, así que ese modelo desapareció. ¿Qué habrá pasado con los modelos similares? # grep logi* xorg.lst logiaccess Logitech Access Keyboard logicdit Logitech Cordless Desktop iTouch logicdp Logitech Cordless Desktop Pro logicdpa Logitech Cordless Desktop Pro (alternate option) logicdpa2 Logitech Cordless Desktop Pro (alternate option2) logicdo Logitech Cordless Desktop Optical logicfn Logitech Cordless Freedom/Desktop Navigator logicdn Logitech Cordless Desktop Navigator logidak Logitech Deluxe Access Keyboard logiitc Logitech iTouch Cordless Keyboard (model Y-RB6) logiik Logitech Internet Keyboard logiitc Logitech iTouch Cordless Keyboard (model Y-RB6) logiik Logitech Internet Keyboard logiink Logitech Internet Navigator Keyboard logiultrax Logitech Ultra-X Keyboard ¡Fantástico! El modelo "logiik" parece similar, así que probémoslo con setxkbmap. # setxkbmap -model logiik -layout us -variant dvorak -option "ctrl:swapcaps" Funcionó, así que debe cambiar la línea que tenga XkbModel Luego de aquello, todo funciona |
El contenido de este documento está registrado bajo los términos de la licencia Creative Commons - Reconocimiento / Compartir Igual