PDF de programación - Freedesktop: hacia un escritorio comun

Imágen de pdf Freedesktop: hacia un escritorio comun

Freedesktop: hacia un escritorio comungráfica de visualizaciones

Publicado el 14 de Enero del 2017
284 visualizaciones desde el 14 de Enero del 2017
103,9 KB
9 paginas
Creado hace 15a (02/05/2005)
Freedesktop: Hacia un escritorio común.

Alejandro Sánchez Acosta12

1 GNU.

asanchez@gnu.org,

WWW Home Page: http://www.advogato.org/person/alejandro/

2 Grupo S21Sec Gestión S.A,

asanchez@s21sec.com,

WWW Home Page: http://www.s21sec.com

Resumen Este artículo pretende cubrir el proyecto Freedesktop e in-
tentar inculcar tanto a usuarios como desarrolladores lo importante que
es tener un escritorio estandarizado e integrado, no sólo cubriendo la
necesidad del escritorio, sino cubriéndolo desde un bajo nivel hasta un
alto nivel, consiguiendo una alta integración e interoperabilidad entre las
distintas tecnologías posibles que se han ido recogiendo y estandarizando
dentro del proyecto Freedesktop.

1.

Introducción

Freedesktop.org, también conocido como fdo, es un proyecto de software libre
iniciado en el 2000 por la iniciativa de uno de los desarrolladores de GNOME,
Havoc Pennington, para la estandarización, integración e interoperabilidad de
los distintos escritorios.

Entre los escritorios más concurridos que se tratarán serán KDE, GNOME y
XFCE, al igual que otros gestores de ventanas, aunque cualquier otro escritorio
existente también puede ser reflejado dentro del proyecto.

Para ello Freedesktop lo que quiere conseguir es una base de software común
para todos los escritorios, englobando tecnologías basadas en Mozilla (XUL,
XBEL, GECKO), distintos toolkits gráficos (QT, GTK+ y VCL), WINE, GNO-
ME, KDE y X Window System.

2. Objetivos de Freedesktop

Freedesktop surgió principalmente como un proyecto entorno al sistema X
para la estandarización, integración e interoperabilidad de los distintos escri-
torios de GNU/Linux con el fin de conseguir que tecnologías existentes estén
más integradas, de forma que no haya una total diversidad y separación entre
proyectos.

Dentro del marco de un usuario final, lo que este quiere encontrar es un es-
critorio integrado, que siga unas guías de usabilidad y que interopere con las

tecnologías ya existentes, dándole la sensación de un entorno totalmente inte-
grado. Además de cara al programador es necesario unos estándares y especi-
ficaciones que se vayan desarrollando para su uso entre los diversos escritorios,
con la decisión de una organización, grupo o comité que se encargue de realizar
estas especificaciones e incluso llegar a implementarlas.

Entre los objetivos más importantes marcados por el proyecto están los si-

guientes:

Reunir especificaciones, estándares y documentos relacionados con el escri-
torio para su interoperabilidad y uso centralizado.
Promover el desarrollo de estos.
Integrar estos estándares en iniciativas como ICCCM o LSB.
Un foro neutral para la discusión de distintos escritorios entre desarrolladores
y usuarios.
Implementación de dichas tecnologías.
Promover los escritorios X al igual que el sistema X Window.
Mayor comunicación entre desarrolladores de sistemas operativos libres, de X
Window y de los propios escritorios para conseguir una integración completa
teniendo una pila entera sin capas desde el kernel hasta el propio escritorio.

3. Estandarización

Freedesktop en sí no se trata de una organización de estándares como Linux
Standard Base (LSB), la IETF o en sí el consorcio X, sino que es una comunidad
de colaboraciones donde tanto nuevas ideas cómo código puede ser albergado,
dando lugar a especificaciones y estándares para el escritorio.

Por ello, para estándares oficiales se tendrá que recurrir a otros proyectos, pe-
ro si que se recogen estándares ya recogidos por algunas tecnologías de escritorio
ampliamente usadas en algunos proyectos de escritorio como KDE o GNOME.

Entre ellos los más destacados son:

CORBA o (Common Object Request Broker Architecture): es uti-
lizado por la plataforma GNOME para la comunicación entre procesos como
mecanismo IPC. Sería similar a la tecnología COM+ o a DCOP en KDE.
XML: Es una forma de estructurar los datos usado tanto en KDE como
GNOME.
Document Object Model (DOM): es usado para la manipulación de
documentos XML en memoria.
X Window System: Es el modelo cliente/servidor para la representación
gráfica en pantalla. Recoge varios estándares como ICCCM, EWMH, proto-
colo de sesión (SMP) o Smlib.
Especificación de UNIX: Contiene las interfaces de programación clásicas
de UNIX (mecanismos IPC, semáforos, comunicación por red, etc).
Además se han llegado a recoger algunos borradores ampliamente utilizados
como:

XDND: Es la especificación sobre la que se basan los toolkits gráficos para
tener soporte para soltar y arrastrar entre diferentes aplicaciones y ventanas.
Especificación del gestor de ventanas (window manager): Se en-
carga de la estandarización de nuevas características sobre la especificación
ICCCM. También estas especificaciones son conocidas como EWMH (Ex-
tended Window Manager Hits).
Entradas de escritorio Desktop: Para la representación de iconos o lan-
zadores se ha utilizado esta especificación. En esta se incluye la descripción
de ficheros, uso de lanzadores y creación de menús. Actualmente se ha es-
tandarizado tanto en GNOME como KDE.
Xembed: Se ha utilizado para incrustar/empotrar controles dentro de apli-
caciones y se trata de una extensión sobre el sistema X Window.
X Clipboard: Trata del funcionamiento del portapapeles con el fin de poder
cortar/pegar entre diferentes aplicaciones. Es aplicable a toolkits gráficos
como QT y GTK+.
UTF-8: Especificación UNICODE para la codificación de carácteres. Se ha
acabado implantando en el escritorio como codificación por defecto.
XBEL: Es una especificación para el manejo/intercambio de
bookmarks/enlaces entre diferentes aplicaciones, concretamente más los na-
vegadores web. Se utiliza principalmente en los proyectos Mozilla (Mozi-
lla/Firefox).

Luego existen otras especificaciones usadas por algún escritorio como:

Especificación del menú: Trata sobre como crear menús a partir de en-
tradas Desktop. Adoptada tanto en KDE como GNOME.
Desktop base directory: Especifica el directorio base donde se van a guar-
dar todos los ficheros desktops. Recientemente adoptada junto con la espe-
cificación de menús y .desktop.
Shared MIME DB: Describe como identificar tipos de ficheros a través
de tipos MIME y es usada por los selectores de ficheros. Así se puede saber
de forma unívoca que aplicaciones tienen que tratar determinados tipos de
ficheros, de forma que se asocie varias aplicaciones por timo MIME, tanto
de KDE como GNOME.
XSETTINGS: Proporciona un mecanismo para que las aplicaciones es-
critas en diferentes toolkits gráficos puedan compartir configuraciones de
usuario.

Al haber un gran amplio de espeficaciones no se ha tratado en detalle cada
una de ellos, el objetivo es unicamente poder conocer cada uno de los estándares,
especificaciones y borradores.

4. Extensiones de las X

Son muchas las extensiones y especificaciones entorno a las X, aquí podríamos
hablar incluso de gran parte de la arquitectura del Sistema X Window como

son las xlib, la reescritura que se pretende a hacer para conseguir unas xlib
más ligeras y compatibles, extensiones como XDAMAGE, XCOMPOSITE y
XFIXES.

Además hay especificaciones para el manejo de cortar/pegar con el clipboard,
la extensión Xembed para la incrustación de controles en nuestras aplicaciones,
XdnD para soltar arrastrar elementos entre aplicaciones y el manejo de sesiones.

Entre las más destacadas e importantes están:
XCOMPOSITE: Para un usuario final esta extensión será la más benefi-
ciosa ya que es el que se encarga de la visualización de contenidos en el escritorio
permitiendo transparencias y sombras.

Basicamente sus funcionalidades son las siguientes:
1. Almacenamiento de objetos por jerarquía: Para el renderizado de obje-
tos/widgets en pantalla es necesario que se guarde una jerarquía en memo-
ria secundaria para su manipulación. Cada vez que se realiza un cambio es
guardado en memoria secundaria el elemento en pantalla con la modificación
oportuna antes de proceder a su visualización.
2. Actualización de sombras de forma automática: Una vez que la jerarquía es
guardada en memoria secundaria el servidor X automaticamente proporciona
un mecanismo para mostrar estos contenidos en pantalla.

XDAMAGE: Permite la notificación de cambios sobre regiones/zonas de
cualquier objeto representable en las X. Es muy útil para sesiones VNC o sesiones
cliente/servidor ya que permite reducir tiempos de latencia en el cliente y ancho
de banda.

Se define daño o damage como aquella región que ha sido modificada. Se
entiende como modificado aquellos contenidos de ventanas o pixmaps que han
tenido una variación. La extensión DAMAGE notifica de estas variaciones me-
diante un conjunto de eventos al servidor.

XFIXES: Se trata de una extensión que solcuiona la interacción de aplica-
ciones con el entorno de ventanas, de forma que sea portable sin la necesidad de
contribuir código dentro del propio core de las X.

Algunos de los cambios que se han hecho son relacionados con Xembed, debi-
do a que los nuevos módulos requerían cambios dentro del sistema de ventanas.
En el caso de XEmbed define la posibilidad de empotrar una aplicación dentro
de otra pero esto no es reflejado dentro del gestor de ventanas lo que causa que
a la hora de definir como objetivo la ventana a la que queremos empotrar y
consecuentemente mata esa ventana. Xfixes soluciona este problema definiendo
como target la ventana destino.

En el caso de la manipulación y monitorización de imágenes/cursores para
el ratón/puntero se suele realizar mediante el protocolo origen de las X o por
añadidos de VNC. El problema está en que no hay manera de saber que imágen
del cursor se está actualmente visualizando. Mediante xfixes se proporciona un
servicio de descubrimiento de los cambios de imágenes que está utilizando un
cursor.

Esta extensión también es necesaria para el manejo de regiones con Damage
ya que no está contemplada la notificación de cambios en r
  • Links de descarga
http://lwp-l.com/pdf1629

Comentarios de: Freedesktop: hacia un escritorio comun (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad