This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Xorg/Guía

From Gentoo Wiki (test)
< Xorg
Jump to:navigation Jump to:search
This page is a translated version of the page Xorg/Guide and the translation is 96% complete.

Xorg es el servidor servidor de X Window que permite a los usuarios tener un entorno gráfico a su alcance. Esta guía explica lo que es Xorg, cómo instalarlo y qué opciones de configuración existen.

¿Qué es el Servidor X Window?

Gráfico vs Línea de Comandos

El usuario medio puede estar asustado si piensa que va a tener que teclear órdenes. ¿Porqué no apuntar y hacer clic a través de la libertad que ofrece Gentoo (y Linux en general)? Bien, naturalmente, ¡Puede hacer esto! Linux ofrece una amplia variedad de interfaces de usuario y entornos que puede instalar encima de su sistema actual.

Esta es una de las sorpresas más grandes que encuentran los nuevos usuarios: una interfaz gráfica de usuario no es más que una aplicación que corre en su sistema. No es parte del núcleo Linux o cualquier otra parte interna del sistema. Es una herramienta poderosa que permite completamente capacidades gráficas en su estación de trabajo.

Debido a la importancia de los estándares son importantes, un estándar para dibujar y mover ventanas en una pantalla, interactuar con el usuario a través del ratón y teclado y otros aspectos básicos pero importantes se han creado bajo el nombre "Sistema X Window", generalmente abreviado X11 o simplemente X. Se utiliza en Unix, Linux y sistemas operativos tipo Unix en todo el mundo.

La aplicación que ofrece a los usuarios de Linux la capacidad de ejecutar interfaces gráficas de usuario y que utiliza el estándar X11 es Xorg-X11, una bifurcación del provecto XFree86. En su momento XFree86 decidió utilizar una licencia que podría ser incompatible con la licencia GPL, por tanto, se recomienda el uso de Xorg. El árbol oficial de Portage ya no ofrece el paquete XFree86.

El Proyecto X.org

El proyecto X.org crea y mantiene una implementación del sistema X11 de código abierto y redistribuible libremente. Se trata, por tanto, de una infraestructura de escritorio basada en un sistema X11 de código abierto.

Xorg ofrece una interfaz entre su hardware y el software gráfico que quiere correr. Además de esto, Xorg también trabaja en red, lo que implica que puede correr una aplicación en un sistema mientras la está viendo en otro.

Instalar Xorg

Antes de que pueda instalar Xorg, necesitará preparar su sistema para ello. En primer lugar, configure el núcleo para que ofrezca soporte a dispositivos de entrada y tarjetas de vídeo. A continuación, prepararemos /etc/portage/make.conf de modo que se construyan e instalen los controladores y paquetes Xorg correctos.

Soporte para controladores de entrada

Por defecto, Xorg utiliza evdev, un controlador de entrada genérico. Necesitará activar el soporte para evdev realizando un cambio a la configuración de su núcleo. Lea la Guía de Configuración del Núcleo si no sabe cómo configurar su núcleo.

KERNEL Habilitar evdev en el núcleo
'"`UNIQ--pre-00000001-QINU`"'

Ajuste del modo del núcleo

Los controladores de vídeo de código abierto actuales se apoyan en el ajuste del modo del núcleo (KMS o Kernel ModeSetting). KMS proporciona un arranque gráfico mejorado con menos parpadeo, mayor velocidad en el cambio a modo usuario, una consola framebuffer integrada, cambio rápido de la consola a Xorg y otras características.

Importante
KMS entra en conflicto con los controladores heredados, que deben permanecer deshabilitados en la configuración de su núcleo.

En primer lugar, prepare su núcleo para KMS. Necesitará hacer esto independientemente del controlador de vídeo Xorg que esté utilizando.

KERNEL Deshabilitar el soporte de framebuffer heredado y habilitar el soporte báśico de consola FB
'"`UNIQ--pre-00000004-QINU`"'

A continuación, configure el núcleo para utilizar el controlador MS apropiado para la tarjeta de vídeo. Intel, nVidia, y AMD/ATI son las tarjetas más comunes, siga el listado de códigos para cada tarjeta mostrado abajo.

Para tarjetas, leer la sección del artículo sobre Intel.

Para tarjetas nVidia:

KERNEL Ajustes para nVidia
'"`UNIQ--pre-00000007-QINU`"'

Para las nuevas tarjetas AMD/ATI (ATI_FAQ RadeonHD 2000 y superiores), necesitará hacer emerge de radeon-ucode o linux-firmware. Una vez que haya instalado uno de estos paquetes, configure su núcleo tal y como se describe en la sección de firmware de la página de Radeon:

KERNEL Ajustes para AMD/ATI
'"`UNIQ--pre-0000000A-QINU`"'
KERNEL AMDGPU settings
## (Setup the kernel to use the amdgpu firmware)
Device Drivers --->
   Generic Driver Options --->
   [*]  Include in-kernel firmware blobs in kernel binary
  ## # AMD card specific, (see AMDGPU page for details which firmware files to include)
   (amdgpu/<CARD-MODEL>.bin ...)
  ## # Specify the root directory
   (/lib/firmware/) External firmware blobs to build into the kernel binary
 
## (Enable Radeon KMS support)
Device Drivers --->
   Graphics support --->
   <M/*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
   <M/*> AMD GPU
         [ /*] Enable amdgpu support for SI parts
         [ /*] Enable amdgpu support for CIK parts 
         [*]   Enable AMD powerplay component  
         ACP (Audio CoProcessor) Configuration  ---> 
             [*] Enable AMD Audio CoProcessor IP support (CONFIG_DRM_AMD_ACP)
         Display Engine Configuration  --->
             [*] AMD DC - Enable new display engine
             [ /*] DC support for Polaris and older ASICs
             [ /*] AMD FBC - Enable Frame Buffer Compression
             [ /*] DCN 1.0 Raven family
   <M/*> HSA kernel driver for AMD GPU devices
Nota
Las antiguas tarjetas Radeon (las series X1900 y anteriores) no necesitan el paquete radeon-ucode ni ninguna configuración del firmware. Para ellas, se debe habilitar el Gestor de Renderizado Directo (Direct Rendering Manager DRM) y el ajuste del modo ATI.
Nota
Los núcleos Linux >= 3.9 no tienen activado el ajuste de modo radeon por defecto (Enable modesetting on radeon by default ) ya que se implica por defecto. No alarmarse si se no se encuetra esta opción en los núcleos actuales.
Nota
Linux kernel >= 4.15 does include Display Core (DC) which is required for AMDGPU to work. This newer driver was written for GCN5.0 Vega and DCN1.0 Raven Ridge (APU), but also adds additional functionality for older Radeon graphics cards starting with GCN1.1 Southern Islands and newer. It is planned to make this additional support for older Radeon cards the standard, so do not be alarmed if you find this option missing in newer kernels.

Abandonar la configuración del núcleo reconstruir el núcleo y reiniciar.

Ahora que ya se ha configurado KMS, continúe con la preparación de /etc/portage/make.conf en la siguiente sección.

make.conf

Ahora que el núcleo está preparado, se deben configurar dos variables importantes en el archivo /etc/portage/make.conf antes de instalar Xorg.

La primera variable es VIDEO_CARDS. Se utiliza para definir los controladores de vídeo que pretende utilizar y su valor, normalmente, está basado en el tipo de tarjeta que tiene instalada en su sistema. Los valores más comunes son nouveau para tarjetas nVidia o radeon para tarjetas ATI. Ambos son controladores de código abierto con buen soporte y desarrollados activamente.

Nota
Puede probar también los controladores de nVidia y AMD/ATI, nvidia y fglrx respectivamente. Sin embargo, la configuración de estos controladores está más allá del alcance de esta guía. Por favor, lea Guía nVidia de Gentoo Linux y las Preguntas Frecuentes sobre ATI en Gentoo Linux. Si no sabe qué controlador elegir, eche un vistazo a estas guías para obtener información.

El controlador intel se puede utilizar en ordenadores de escritorio o portátiles con chipsets gráficos comunes de Intel.

Nota
La variable VIDEO_CARDS puede contener más de un controlador, siempre y cuando se separen los valores por un espacio.

La segunda variable es INPUT_DEVICES y se utiliza para determinar qué controladores se construirán para gestionar los dispositivos de entrada. En la mayoría de las ocasiones, debería bastar con darle el valor libinput o evdev. Si va a utilizar dispositivos de entrada alternativos como un panel táctil Synaptics en un ordenador portátil, asegúrese de añadirlo a INPUT_DEVICES .

make.defaults tiene a Libinput como el controlador de entrada por defecto.

To check what is presently activated, run:

user $portageq envvar INPUT_DEVICES

Se debe decidir qué controladores se van a utilizar y añadir los ajustes necesarios al fichero /etc/portage/make.conf:

CÓDIGO Entradas ejemplo de make.conf
## (Para tener soporte del ratón, el teclado y el panel táctil Synaptics)
INPUT_DEVICES="evdev synaptics"
## (Para tarjetas nVidia)
VIDEO_CARDS="nouveau"
## (Para tarjetas AMD/ATI)
VIDEO_CARDS="radeon"

Si los ajustes sugeridos no funcionan en su sistema, debería correr emerge -pv xorg-drivers, comprobar todas las opciones disponibles y elegir aquéllas que se puedan aplicar a su sistema. Este ejemplo es para un sistema con un teclado, ratón, panel táctil Synaptics y una tarjeta de vídeo Radeon.

root #emerge --ask --verbose x11-base/xorg-drivers
 
These are the packages that would be merged, in order:
 
Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"
0 kB

Después de definir las variables necesarias, se puede instalar Xorg:

root #emerge --ask x11-base/xorg-server
Nota
Se podría instalar el metapaquete x11-base/xorg-x11 en lugar del paquete x11-base/xorg-server que es más ligero. Funcionalmente, los paquetes x11-base/xorg-x11 y x11-base/xorg-server son los mismos, sin embargo, el paquete x11-base/xorg-x11 incluye muchos más paquetes que no son necesarios en la mayoría de los sistemas. Los paquetes adicionales incluyen un amplio catálogo de tipografías en muchos idiomas. No son necesario para un entorno de trabajo X11 funcional.

Cuándo la instalación haya finalizado, necesitará reinicializar algunas variables de entorno antes de continuar:

root #env-update
root #source /etc/profile

Usuarios de nVidia

Para los usuarios de NVidia podría ser adecuado lanzar para generar un archivo xorg.conf que funcione para la tarjeta gráfica seleccionada. Si no se realiza este paso, el fichero xorg.conf se debe crear de forma manual tal y como se describe abajo. Si no se localiza el archivo xorg.conf se puede obtener el mensaje de error "No screens found" en el terminal cuando se intenta lanzar startx.

El controlador de NVidia funcionará únicamente después de reiniciar el sistema por lo que se debe hacer esto antes de lanzar nvidia-xconfig.

root #nvidia-xconfig

Es posible (y probablemente recomendado) ajustar el renderizador OpenGL al renderizador hardware en lugar del renderizado software:

root #eselect opengl set nvidia

Configurar Xorg

El servidor X está diseñado para funcionar automáticamente, no es necesario editar los ficheros de configuración de Xorg. Se deberían detectar y configurara sin problemas dispositivos tales como pantallas, teclados, y ratones.

Debería intentar en primer lugar lanzar startx sin editar ningún fichero de configuración. Si Xorg no arranca, o existe algún otro problema, necesitará configurar Xorg manualmente como se muestra en la siguiente sección.

Nota
Si se han realizado cambios al núcleo, no se debe olvidar reiniciar el sistema antes de usar startx para utilizar el último núcleo construido. Si en el proceso se actualizó el núcleo a una nueva versión seguramente se necesitará actulizar los ficheros de configuración del cargador de arranque.

El directorio xorg.conf.d

Importante
La configuración de los ficheros dentro de xorg.conf.d se debe tomar como la última opción. Si es posible, es deseable lanzar Xorg sin ninguna configuración especial.

La mayoría de los archivos de configuración de Xorg se almacenan en /etc/X11/xorg.conf.d/. A cada archivo se le da un nombre único acabado en .conf. Los nombres de los archivos dentro del directorio de configuración de Xorg se leerán en orden alfanumérico. Por ejemplo, el archivo 10-evdev.conf se leerá antes que 20-synaptics.conf y a-evdev.conf se leerá antes que b-synaptics.conf y así sucesivamente. No se requiere que los archivos dentro de este directorio estén numerados, pero hacer esto ayuda a mantenerlos organizados. La organización de éstos servirá dde ayuda cuando tengamos que depurar problemas con estos archivos.

Nota
Xorg ofrece configuraciones ejemplo en /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2. Éstas se pueden utilizar para crear ficheros de configuración personalizados en /etc/X11/xorg.conf.d/. Los ejemplos ofrecen muchísimos comentarios. Si se necesita más información acerca de la sintaxis, siempre está disponible man xorg.conf. Se pueden encontrar otros ejemplos en la sección Otros recursos al final de esta guía.

Usar startx

Pruebe startx para arrancar el servidor X. startx es un guión (instalado por el paquete x11-apps/xinit) que ejecuta una sesión X, esto es, arranca el servidor X y algunas aplicaciones gráficas en él. Las aplicaciones a arrancar se deciden utilizando la siguiente lógica:

  • Si hay un fichero llamado .xinitrc en su directorio personal, se ejecutarán las órdenes listadas en el mismo.
  • De lo contrario leerá el valor de la variable XSESSION desde el fichero /etc/env.d/90xsession y lanzará la sesión adecuada. Los valores disponibles para XSESSION están en el fichero /etc/X11/Sessions/. Para definir una sesión por defecto para todo el sistema, lance:
root #echo XSESSION="Xfce4" > /etc/env.d/90xsession
Esto creará el archivo 90xsession y definirá la sesión X por defecto para que lance Xfce. Recuerde lanzar env-update después de hacer cambios en 90xsession.
user $startx

Si no ha instalado un gestor de ventanas, solo verá una pantalla negra. Ya que esto puede ser también un síntoma de que algo no va bien, puede que quiera hacer emerge de twm y de xterm solo para probar X .

Una vez se hayan instalado los programas, se debe lanzar de nuevo startx. Deberían aparecer algunas ventanas de xterm lo que permite comprobar fácilmente que el servidor X está funcionando correctamente. Una vez se está satisfecho con los resultados, se puede desinstalar los paquetes x11-wm/twm y x11-terms/xterm si se instalaron en el paso indicado más arriba con el fin de eliminar los paquetes que se utilizan para realizar pruebas. Estos paquetes no se necesitan en un entorno de escritorio actual.

Se podría también dar la sesión (programa a lanzar) como argumento a startx:

user $startx /usr/bin/startfluxbox

Se puede también pasar opciones al servidor X11 anteponiéndolas con un doble guión:

user $startx -- vt7

Ajustando la configuración X

Definir la resolución de la pantalla

Si parece que la resolución de la pantalla no es la correcta, necesitará comprobar dos secciones en su configuración xorg.conf.d. En primer lugar, tiene la sección Screen que muestra las resoluciones que su servidor X soportará. Puede que no se liste ninguna resolución en esta sección. En este caso, Xorg estimará las resoluciones basándose en la información de la segunda sección Monitor.

Ahora cambiemos la resolución. En el siguiente ejemplo de /etc/X11/xorg.conf.d/40-monitor.conf añadimos la línea PreferredMode para que nuestro servidor X arranque con una resolución de 1440x900 por defecto. La opción (Option) en la sección Device debe corresponderse con el nombre de su monitor (DVI-0), el cual se puede obtener corriendo xrandr. Instalar xrandr (emerge xrandr) para obtener todas esta información. El argumento después del nombre del monitor (en la sección Device) debe corresponderse con la el identificador (Identifier) en la sección Monitor.

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
 Identifier "RadeonHD 4550"
 Option "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
 Identifier "DVI screen"
 Option "PreferredMode" "1440x900" EndSection

Corra X (startx) para comprobar que se está utilizando la resolución deseada.

Múltiples monitores

Puede establecer más de un monitor en /etc/X11/xorg.conf.d/. Asignar a cada monitor un identificador único e indicar su posición física, por ejemplo, "RightOf" (a la derecha) o "Above"(encima) de otro monitor. El siguiente ejemplo muestra como configurar un monitor DVI y uno VGA siendo el monitor VGA el que está a la derecha:

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
 Identifier "RadeonHD 4550"
 Option "Monitor-DVI-0" "DVI screen"
 Option "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
 Identifier "DVI screen"
EndSection
Section "Monitor"
 Identifier "VGA screen"
 Option "RightOf" "DVI screen"
EndSection

Configurar el teclado

Para configurar X en el uso de un teclado internacional, tendrá que crear el fichero de configuración apropiado en /etc/X11/xorg.conf.d/. El siguiente ejemplo muestra el uso de una disposición de teclado Checo:

root #nano -w /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
    Identifier "keyboard-all"
    Driver "evdev"
    Option "XkbLayout" "us,cz"
    Option "XkbModel" "logitech_g15"
    Option "XkbRules" "xorg"
    Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
    Option "XkbVariant" ",qwerty"
    MatchIsKeyboard "on"
EndSection

Para obtener ayuda sobre los métodos para conmutar la disposición de teclado leer el artículo sobre conmutación de la disposición del teclado.

La orden "terminate" (terminate:ctrl_alt_bksp ) le permite acabar con la sesión X mediante la combinación de teclas Ctrl-Alt-Supr. Esto, sin embargo, hará que X no termine de buena forma, algo que no es deseable. Puede ser de utilidad cuando los programas han congelado su pantalla completamente, o cuando está configurando o ajustando su entorno Xorg. Tenga cuidado cuando mate su escritorio con esta combinación de teclas; terminar de esta forma no le gustará a la mayoría de los programas y podría perder parte (o todo) de lo que esté realizando en ese momento.

Terminar

Lance startx y alégrese del resultado. ¡Enhorabuena!, ahora (seguramente) tendrá un sistema Xorg funcionando en su sistema!. El siguiente paso es instalar un gestor de ventanas funcional como KDE, GNOME, o Xfce, pero eso no forma parte de esta guía. Se puede encontrar información sobre la instalación de estos entornos de escritorio en esta misma wiki.

Véase también

  • Wayland - La siguiente generación de gestores de ventañas para Linux.
  • X (Manual de seguridad) - La entrada del manual de seguridad referente a asegurar el servidor X.

Recursos externos

Crear y editar los ficheros de configuración

Las órdenes man xorg.conf y man evdev ofrecen referencias rápidas y completas sobre la sintaxis utilizada en estos ficheros de configuración. ¡Asegúrese de tenerlos abiertos en un terminal cuando edite los ficheros de configuración de Xorg!

También existen muchos recursos en línea sobre la edición de ficheros de configuración en /etc/X11/. Únicamente se listan aquí algunos; utilice su motor de búsqueda favorito para encontrar más.

Otros recursos

Se puede encontrar más información sobre la instalación y configuración de diversos entornos de escritorio y aplicaciones en la sección de nuestra documentación.

Si se actualiza a xorg-server 1.9 o superior, asegúrese de leer la guía de migración.

X.org ofrece muchas FAQs en su sitio Web, además de su documentación.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Sven Vermeulen (SwifT), Joshua Saddler (nightmorph)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.