COMO: Migrar al servidor X modular
1.
Introducción
¿Por qué modular?
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:
-
Para los nuevos desarrolladores es muy difícil involucrarse en X, de ahí
la migración a autotools, un sistema que a las personas les resulta más
comodo y probablemente están más contentos con él.
-
Junto a dicha migración, es posible dividir el código fuente con autotools
y esto también lo hace mucho más amigable para los desarrolladores.
-
Las cosas han estado innecesariamente juntas en el pasado y esto hizo
que la corrección de fallos fuera algo imposible. Si los desarrolladores
lograban corregir fallos, se requería recompilar todo X.Org. Por ejemplo,
un fallo en el controlador ati tendría que esperar 6 meses hasta la
próxima versión o bien, tendría que recompilar las fuentes, sin razón
alguna.
2.
Migrar al servidor X modular
Introducción
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 |
# cp -a /usr/lib/X11/xdm/Xsetup_0 /etc/X11/xdm/
# nano /etc/X11/xdm/xdm-config
! 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
! 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 |
# cp -a /usr/share/X11/app-defaults/XTerm-color /etc/X11/app-defaults/
# 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 |
# 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
# echo '! Xterm defaults' >> .Xresources
# echo 'XTerm*CursorColor: orange' >> .Xresources
# echo 'XTerm*loginShell: true' >> .Xresources
# echo 'XTerm*scrollBar: true' >> .Xresources
# echo 'XTerm*saveLines: 1000' >> .Xresources
# 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:
- vesa bloquea el sistema con la tarjeta Matrox
-
vga hace que la pantalla se vea muy extraña (dividida en cuatro partes)
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.
gdm/kdm no funciona
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.
-
Muchas disposiciones de XKB se han trasladado, consolidado o simplemente han
desaparecido. Dele una mirada a /usr/share/X11/xkb/symbols/pc
para ver qué le pasó a sus antiguos ajustes de XkbLayout en xorg.conf. Por
ejemplo, para reemplazar la antigua disposición "us_intl", tendría que
colocar "XkbLayout" "latin", "XkbOptions" "lv3:ralt_switch".
Para reemplazar la antigua disposición "sk_qwerty", tendría que colocar
"XkbLayout" "sk", "XkbVariant" "qwerty". En un ejemplo más
avanzado, quizás tenga "XkbLayout" "us,sk_qwerty". Para que funcione
aquello, el nuevo ajuste sería "XkbLayout" "us,sk", y el truco
es la "coma": "XkbVariant" ",qwerty", ya que lo que se desea es que la
variante se aplique a su segunda disposición.
Listado de Código 3.6: Encontrar los cambios de XKB |
# grep Xkb /etc/X11/xorg.conf
Option "XkbModel" "logibik"
Option "XkbLayout" "dvorak"
Option "XkbOptions" "ctrl:swapcaps"
# cd /usr/share/X11/xkb/symbols/
# ls *dvorak*
# ls *us*
us
# grep xkb_symbols.*dvorak us
xkb_symbols "dvorak" {
# setxkbmap -model logibik -layout us -variant dvorak -option "ctrl:swapcaps"
# cd /usr/share/X11/xkb/rules/
# grep logibik xorg.lst
# 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
# setxkbmap -model logiik -layout us -variant dvorak -option "ctrl:swapcaps"
|
Otros problemas
-
El paquete x11-base/xorg-x11 ahora filtra todas las líneas que
contengan ModulePath y RgbPath de su fichero /etc/X11/xorg.conf,
pues ambas rutas cambiaron a partir de versiones anteriores. Asegúrese de
ejecutar etc-update para finalizar estos cambios. Si por alguna razón
no se filtraron, elíminelas Ud. mismo.
El contenido de este documento está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|