Publicado el 16 de Octubre del 2018
478 visualizaciones desde el 16 de Octubre del 2018
126,1 KB
28 paginas
Creado hace 20a (12/05/2004)
La evolución del
La evolución del
Desktop Linux
Desktop Linux
Franco Catrin L.
TUXPAN
1
Masificación de Linux
● Linux en el servidor no es ninguna
novedad
● Linux en estaciones de trabajo
(Desktop) avanza, pero lento
● Los requerimientos en cada caso
son muy distintos
● En el estado actual, entrar en el
Desktop no es fácil
2
Corporate Desktop
● Son importantes:
Productividad
Administración simple
● Hardware y software acotados
● Requerimientos uniformes
● RedHat, IBM, Novell/SuSE/Ximian
están en eso
3
Home Desktop
● Se da importancia a
Facilidad de uso
Soporte de hardware heterogéneo
Eye-candy features
● Software es heterogéneo
● Ayuda cercana no siempre presente
4
Falencias actuales
● El sistema no esta pensado para el
Desktop
● Escasa integración entre el
hardware y las aplicaciones
● Cada Desktop Environment es un
mundo aparte
● Diversidad es buena, pero requiere
multiples implementaciones
5
Soluciones de parche
● Kudzu permite configurar
dispositivos, pero las aplicaciones
no los conocen
● Eye-candy en KDE es en base a
hacks (no X friendly)
● GNOME rechaza parches que son
hacks, hasta que haya soporte en X
6
El proyecto FreeDesktop
● Son proyectos y especificaciones
bajo un objetivo común
● Es la base de ideas para cada
Desktop Environment independiente
● Busca eliminar las falencias
actuales del Desktop Linux/Unix
● Algunos de sus proyectos ya estan
en uso
7
Proyectos conocidos de FD.O
● Startup-notification
Feedback de ejecución de
aplicaciones
● System tray protocol
Provee un area de notificación
● Fontconfig
Simplifica el uso de fonts
8
Software en desarrollo
● D-BUS : Bus de mensajes
● HAL : Hardware abstraction Layer
● Cairo : API gráfica 2D
● Xserver : implementación de X
● Gstreamer : Stream media
framework
● ... y otros
9
D-BUS
● Provee comunicacion Peer to Peer
entre aplicaciones
● Es de alto nivel, usa Mensajes
● Soporta distintos transportes
● Existen un bus de sistema, y buses
de sesión
10
Componentes de D-BUS
● Servicios :
Representan un punto de conexión
Usan nombres humanos
● Interfaces:
Definen los mensajes que entiende
el servicio
● Mensajes
11
Usos de D-BUS
● Existen bindings para glib, qt y
python
● Las aplicaciones mapean servicios a
objetos
● Reemplaza a IPCs de bajo nivel en
las aplicaciones
12
Hardware Abstraction Layer
● Las aplicaciones pueden conocer el
hardware presente
● Independiente del hardware y
sistema operativo
● Se pueden hacer consultas o recibir
notificaciones
● Utiliza D-BUS
13
HAL : Relación con drivers
● No reemplaza a los drivers
● Permite cargar el driver necesario o
pedir instrucciones al usuario
● Reemplaza a Kudzu y
probablemente hotplug
14
Arquitectura de HAL
15
Cairo
● Biblioteca vectorial 2D
● Multiples backends (PDF, Xlib...)
● Concepto similar a Quartz de MacOSX
● Tiene operaciones para :
Strokes
curvas spline
manejo de imagenes
fonts con antialias
16
Backends de Cairo
● X Window
● PostScript (impresión)
● Memory pixmaps
● SVG
● En progreso:
PDF
OpenGL, proyecto glitz de fd.o
17
Ejemplo de resultado con Cairo
18
Xserver
● X server con diseño moderno
● Conocido por sus transparencias
● Es un DIX con 3 DDX
DIX : Device Independant X
DDX : Device Dependant X
➔Kdrive : arquitectura de drivers para
Unix compacta y simple
➔Cygwin : soporte Win32
➔Xorg : DDX de XFree (no funciona aun)
19
Usos de fd.o XServer
● El principal uso es experimentar
● A medida que funcione su capa DDX,
podria reemplazar a Xfree/Xorg
● Kdrive soporta muy pocos
dispositivos de video aun
● Perfecto para sistemas embedidos,
ocupa alrededor de 1MB
20
Experimentos con fd.o XServer
● Diseño e implementacion de nuevas
extensiones
● Eye-candy:
Efectos tipo MacOSX
Transparencias, sombras, etc
● Simplifica algunas cosas como VNC
desde framebuffer
21
XFIXES Extension
● Agrupa distintas mejoras a X
● Estas mejoras no estan relacionadas
● Funciona como apoyo a otras
extensiones (RandR, Damage)
22
XDamage Extension
● Notifica cuando se modifica un area
del framebuffer
● Puede acumular rectangulos para
mejorar rendimiento
● Aplicaciones como VNC, pueden
conocer las areas modificadas sin
polling
23
Composite Extension
● El contenido de las ventanas se
dibuja off-screen
● Contenido off-screen se copia
posteriormente a on-screen
● Una aplicacion puede modificar el
buffer off-screen y luego copiar
● La copia puede ser automática si
solo se va a leer
24
Usos de nuevas extensiones
● Ventanas translúcidas automáticas
● Zoom y escalado sin polling
● VNC sin polling
● Efectos como sombras de ventanas
de aplicación y pop-up
● Demo...
25
En desarrollo : Storage
● Recolecta metadata de archivos
● Permite realizar busquedas MUY
rapidas sobre contenido multimedia
● Mejor que usar directorios
● Ejemplos:
Buscar música por autor o por estilo
Buscar emails de cierto contexto
26
En desarrollo : System Services
● Reemplazo al init
● Basado en notificaciones y
activación por D-BUS
● Implementadores de servicios,
escriben en cualquier lenguaje
soportado por D-BUS
● Ventana de login lo antes posible,
inicio de servicios posterior
● Eventos y excepciones se notifican
27
Referencias
● http://freedesktop.org
● http://www.gnome.org/~seth/
(cuando esté online)
28
Comentarios de: La evolución del Desktop Linux (0)
No hay comentarios