Title: El sistema X Window
1El sistema X Window
Realizado por Adrián Macías Casado Argelia
Esther Martín Martín
2ÍNDICE
- Introducción
- XFree86
- Entornos de escritorio y gestores de ventanas
- Entornos de escritorio
- Gestores de ventanas
- Archivos de configuración del servidor xfree86
- xf86config
- Fuentes
- fontconfig
- sistema de fuentes base de x
- Niveles de ejecución
- Nivel de ejecución 3
- Nivel de ejecución 5
3Introducción
- El sistema X Window (x) proporciona la cara del
S.O. ? GUI - Entorno gráfico para Red Hat Linux suministrado
por - XFree86 (open source de X).
- XFree86? presenta amplia gama de soporte para !
- dispositivos y arquitecturas gráficas
posibilidad de ejecutarse - en ! S.O. y plataformas
- El sistema X Window utiliza una arquitectura
cliente servidor
4Introducción
- Servidor de X escucha por conexiones desde la
aplicaciones Cliente X por medio de la red o una
interfaz local de loopback. - El proceso Servidor gestiona la comunicación con
el HW. - Las aplicaciones cliente de X existen en el
espacio del usuario creando una GUI y pasando
peticiones al servidor.
5Introducción
6XFree86
- Versión 4.x base del sistema X Window
- Incluye mejoras de tecnología para XFree86
- - soporte para la aceleración de HW 3D
- - la extensión XRender para fuentes anti-alias
- - diseño basado en controladores modular
- - soporte para HW de video y disp. de E.
- Los archivos residen principalmente en
- - /usr/X11R6/ contiene
- 1 servidor X
- algunas aplicaciones cliente
- archivos de cabecera X
- librerías, módulos y documentación
- - /etc/X11/ contiene
- archivos de configuración para cliente y
servidor de X. - (servirdor X, el viejo servidor xfs , los
manejadores de - display de X y otros componentes base)
-
7XFree86
Programa de instalación instala y configura
XFree86 Si la tarjeta de video o el monitor
cambia entonces reconfigurar XFree La
reconfiguración del servidor puede requerir
/etc/X11/XF86Config
8Entornos de escritorio y gestores de ventanas
- Servidor XFree86 ejecutándose? las aplicaciones
de cliente - X pueden crear su GUI
- Para crear la GUI se deben conectar las 2 clases
de GUI más - avanzadas de aplicaciones cliente X al servidor
XFree86 - Un entorno de escritorio
- Un gestor de ventanas
9Entorno de escritorio
- Une diferentes clientes de X, los cuales cuando
se usan juntos, - crean un ambiente de usuario gráfico común y una
plataforma - de desarrollo.
- - Permiten a los clientes X y a otros procesos
comunicarse unos - con otros
- - Permiten a todas las aplicaciones escritas que
funcionan en - ese ambiente a que realicen tareas avanzadas.
- 2 entornos de escritorio
- GNOME herramientas gráficas GTK 2
- KDE herramientas gráficas Qt 3
10Gestores de ventanas
- Son programas clientes de X que pueden formar
parte del - entorno de escritorios o standalone.
- Controlan la forma en que las ventanas son
posicionadas, - redimensionadas o movidas
- Controlan las barras de los títulos, el
comportamiento del foco, - los vínculos del botón del ratón y teclas
especificadas por el - usuario.
- xinit e ltpath-to-window-managergt,
- (donde ltpath-to-window-managergt el la ubicación
del archivo binario - de gestor de ventanas (encontrado con which
ltwindow-manager-namegt )
11Gestores de ventanas
- Hay cinco gestores de ventanas
- kwin manejador por defecto para KDE. Soporta
temas personalizados - metacity manejador por defecto para GNOME.
Ventanas simples y - eficientes que también soporta temas
personalizados - mwm (Motif) diseñado para ser un gestor
standalone?no utilizarlo en - conjunto con los entornos KDE y GNOME
- sawfish era el manejador por defecto de GNOME
(8.0). Se puede usar bien - sea standalone o con un entono de escritorio
- twm miniminalista. Proporciona el conjunto de
herramientas más - básicas de cualquier gestor de ventanas. Es
instalado como parte - de XFree86.
12Archivos de configuración del servidor XFree86
- /usr/X11R6/bin/XFree86 carga dinámicamente
cualquier módulo de - servidor X necesario en el momento de ejecución
desde el directorio - /usr/X11R6/lib/modules/
- - /etc/X11/ almacena el servidor XFree y los
archivos de conf.asociados - /etc/X11/XFree86Config
- Cuando se instala Red Hat Linux, los archivos de
configuración - para XFree86 son creados usando información
necesaria reunida - sobre el hardware del sistema durante el proceso
de instalación
13La estructura de XFree86
- /etc/X11/XFree86Config está formado por
secciones que hacen - referencia a aspectos específicos del hw del
sistema - Sección comienza con ltsection-namegt y termina
con EndSection - Dentro sección opciones y al menos un valor de
opción entre comillas. - no son leídas por el servidor XFree86.
(comentarios) - Algunas opciones aceptan un swich booleano el
cual activa o - desactiva la característica. Los valores son
- Activa la opción 1, on, true, yes
- Desactiva la opción 0, off, false, no
14ServerFlags
Contiene parámetros globales del servidor XFree86
los cuales pueden ser sobreescritos por opciones
colocadas en la sección ServerLayout
- DontZap ltbooleangt cuando está a verdadero,
previene el uso de - Ctrl-Alt-Backspace
- DontZoom ltbooleangt cuando está a verdadero,
previene moverse - a lo largo de las resoluciones de video
configuradas usando las - combinaciones de teclas el uso de
Ctrl-Alt-Keypad-Plus y - Ctrl-Alt-Keypad-Minus
15ServerLayout
Vincula los disp.de entrada y salida controlados
por el servidor XFree86 Uno de salida y dos de
entrada como mínimo (ratón y monitor).
- Identifier nombre sección ServerLayout
- Screen nombre sección Screen.
- Si tarjeta de video tiene más de una salida?otra
entrada Screen - InputDevice nombre sección InputDevice
- Option ltoption-namegt parámetros extra para
esta sección. - Es posible crear más de una sección ServerLayout.
Sin embargo el - servidor sólo leerá la 1ª sección que aparezca.
16Files
Configura la ruta para servicios vitales al
servidor XFree86, como la ruta de la fuente.
Section Files RgbPath /usr/X11R6/lib/X11/rgb
FontPath unix/ 7100 EndSection
- RgbPath ubicación de la base de datos de
colores RGB - FontPath Especifica dónde le servidor debe ser
conectado para obtener las - fuentes desde el servidor de fuentes xfs
- ModulePath especifica directorios alternativos
el cual almacena módulos - de servidor XFree86
17Module
Especifica cuales son los módulos del directorio
/usr/X11R6/lib/modules/ que cargará el servidor
XFree86. Los módulos añaden funcionalidad
adicional al servidor Xfree86
Section Module Load dbe Load extmod
Load fbdevhw Load glx Load record
Load freetype Load type1 Load
dri EndSection
18InputDevice
Cada sección de InputDevice configura un
dispositivo de entrada para el servidor XFree86.
Section InputDevice Identifier Mouse0
Driver mouse Option Protocol
IMPS/2 Option Device
/dev/input/mice Option Emulate3Buttons
no EndSection
- Identifier nombre sección InputDevice. Entrada
requerida. - Driver nombre del controlador del dispositivo
que XFree86 debe cargar - para el dispositivo.
- Option opciones del dispositivo.
19Monitor
Cada sección Monitor configura un tipo de monitor
usado por el sistema.
Section Monitor Identifier Monitor0
VendorName Monitor Vendor ModelName DDC
Probed Monitor - ViewSonic G773-2 DisplaySize
320 240 HorizSync 30.0 70.0
VertRefresh 50.0 180.0 EndSection
- Identifier nombre para esta sección Monitor
- VendorName nombre del fabricante
- ModelName nombre del modelo del monitor
- DisplaySize tamaño en mm del área de dibujo del
monitor - HorizSync rango de la frecuencia de sincr.
horiz. Compatible con el - monitor en KHz.
- VertRefresh rango frecuencias de refresco
verticales en Hz. - Modeline modos de video adicionales
20Device
Device
Configuran una tarjeta de vídeo del sistema.
Section "Device Identifier
"Videocard0 Driver "mga
VendorName "Videocard vendor BoardName
"Matrox Millennium G200 VideoRam
8192 Option "dpms EndSection
- Identifier nombre para esta sección
- Driver Controlador para la tarjeta de vídeo.
(Listados en /usr/ X11R6/lib/X11/ - /Cards)
- VendorName Especifica el fabricante de la
tarjeta de vídeo. - BoardName Nombre de la tarjeta de vídeo.
- VideoRam Cantidad de RAM de la tarjeta de vídeo
(KB). (Sólo cuando - el servidor no puede detectarla)
- BusID Ubicación del bus de la tarjeta de
vídeo. Esta opción - es necesaria solamente para sistemas con
múltiples tarjetas.
21Device
- Screen Especifica qué salida de la tarjeta de
vídeo configura esta - sección. (Sólo para tarjetas con múltiples
salidas. Deben existir - secciones Device separadas y cada una de estas
secciones debe tener - un valor Screen diferente.)
- Option "ltoption-namegt" Parámetros extra para
la sección. ("dpms - activa la conformidad de energía Service Star
para el monitor)
22Device
Screen
Vincula una tarjeta de vídeo (Device) con un
monitor.
Section "Screen Identifier "Screen0
Device "Videocard0 Monitor
"Monitor0 DefaultDepth 16
SubSection "Display Depth
24 Modes "1280x1024"
"1280x960" "1152x864" "1024x768 \ "800x600"
"640x480 EndSubSection
SubSection "Display Depth
16 Modes "1152x864"
"1024x768" "800x600" "640x480
EndSubSection EndSection
23Screen
- Identifier nombre para esta sección.
- Device Especifica una sección Device.
- Monitor Especifica una sección Monitor.
- DefaultDepth Profundidad de color por defecto.
- SubSection "Display Especifica los modos de la
pantalla (resolución) - disponibles para cada profundidad de color.
- Depth Especifica la profundidad de color de la
subsección - Modes Lista los modos disponibles.
24DRI
Parámetros para Direct Rendering Infrastructure
(DRI). Permite aceleración Hardware.
Section "DRI Group 0
Mode 0666 EndSection
Los parámetros establecen los permisos sobre
/dev/dri/card? que tienen los usuarios al hacer
uso de DRI
25Fuentes
- RedHat incluye 2 sistemas de fuentes
- Fontconfig Sistema más nuevo, con más
características. Es usado - por los entornos más actuales
- Sistema de fuentes base de X Sistema antiguo,
basado en xfs. Se - conserva por compatibilidad
26Fontconfig
- Permite a las aplicaciones acceder directamente
a las fuentes, y usar - Xft o similares para dibujar las fuentes en
pantalla. - Algunas aplicaciones usan su propio sistema de
fuentes (Abiword y - OpenOffice)
- Para la configuración incluye el fichero
/etc/fonts/fonts.conf (sustituye a - /etc/X11/XftConfig)
27Fontconfig
- Para añadir fuentes
- Copiar el fichero de la fuente
- Para todo el sistema /usr/share/ fonts/local/
- Para un usuario .fonts/ del usuario
- Actualizar la información de caché
- fc-cache ltpathgt
- En GNOME existe una forma gráfica (Instalación
para un usuario) - Abrir Nautilus (explorador de ficheros)
- Ir a fonts///
- Copiar la fuente allí
28Sistema de fuentes base X
- Conservado por compatibilidad
- Hace uso de xfs (demonio que sirve fuentes)
- Xfs debe estar iniciado (/etc/rc.d/init.d/xfs
start) - Atiende a la configuración en las líneas FontPath
29Sistema de fuentes base X
- Configuración de xfs
- alternate-servers Lista de servidores
alternativos de fuentes separados por - comas.
- catalogue Lista ordenada de rutas que contienen
las fuentes a utilizar. - client-limit Número de clientes máximo.
- clone-self Permite al servidor de fuentes
clonarse para superar client-limit. - default-point-size Tamaño de punto por defecto
para cualquier fuente que no - especifique este valor.
- default-resolutions Lista de resoluciones
soportadas por el servidor XFree86. - deferglyphs Especifica si retrasar la carga de
glyphs (el gráfico usado para - visualmente representar una fuente).
- error-file Ruta para los informes de error.
- no-listen Evita que xfs use conexiones del
protocolo especificado - (ej tcp).
- port Puerto empleado
- use-syslog Especifica si utilizar el registro de
errores del sistema.
30Sistema de fuentes base X
- Añadir fuentes
- Añadir /usr/share/fonts/local/ a la ruta xfs
- chkfontpath --add /usr/share/fonts/local/
- Copiar el archivo de fuente al directorio
- Actualizar la información de la fuente
- ttmkfdir -d /usr/share/fonts/local/ -o
/usr/share/fonts/local/fonts.scale - Reiniciar el servidor xfs
- service xfs reload
31Niveles de ejecución
- Por defecto, RedHat arranca en modo gráfico
(nivel 5) - Existe un modo similar, pero sin modo gráfico
(nivel 3) - Existe una forma de cargar las X desde aquí
32Nivel de ejecución 3
- Arranque de las X
- Comando startx
- startx llama a xinit con los ficheros de
configuración - .xinitrc (del home del usuario)
- Ó /etc/X11/xinit/xinitrc
- Contienen opciones de entorno
- xinit busca configuración de xmodmap (mapeo del
teclado) - .Xmodmap y .Xkbmap (del home del usuario)
- Ó Xmodmap y Xkbmap (del directorio /etc/X11)
- xinit busca la configuración de otras
aplicaciones X - .Xresources (home del usuario)
- /etc/X11/Xresources
- xinit ejecuta el contenido de /etc/X11/xinit/xinit
rc.d/ - xinit ejecuta las aplicaciones cliente
- .Xclients (home del usuario)
- /etc/X11/xinit/Xclients
33Nivel de ejecución 5
- Permite hacer login gráfico (display manager)
- Hay tres implementaciones
- Gdm - Display manager de GNOME
- Kdm - Display manager de KDE
- Xdm - Display manager de XFree86
- Para seleccionar cuál se carga, se usa el comando
prefdm (que modifica /etc/sysconfig/desktop) - Proceso de inicio
- Script /etc/X11/xdm/GiveConsole
- Asigna la propiedad de la consola al usuario
- Script /etc/X11/xdm/Xsession
- Ejecuta gran parte del proceso xinit (entorno,
cargar clientes,) - Hará uso de .xsession y .Xclients para decidir el
entorno de escritorio o gestor de ventanas a
ejecutar - Script /etc/X11/xdm/TakeConsole
- Vuelve a asignar la propiedad al root