PDF de programación - KDE : El escritorio diseñado para tí

Imágen de pdf KDE : El escritorio diseñado para tí

KDE : El escritorio diseñado para tígráfica de visualizaciones

Actualizado el 2 de Abril del 2019 (Publicado el 5 de Febrero del 2017)
576 visualizaciones desde el 5 de Febrero del 2017
20,3 KB
7 paginas
KDE : El escritorio diseñado

para tí

Antonio Larrosa Jiménez

KDE

larrosa@kde.org

En esta ponencia explicaré cuales son las características de KDE que lo
han convertido en uno de los escritorios más potentes y a la vez fáciles
de usar de la actualidad. KDE es un escritorio completamente libre y
gratuito en el que trabajan cientos de personas de todo el mundo.
Además, explicaré cuales son las mejoras planeadas que se realizarán
para la versión 3.0 .

1. Introducción

KDE es un entorno de escritorio libre desarrollado por cientos de personas de todas
partes del mundo. El proyecto KDE fue fundado en 1996 por Matthias Ettrich (que
había desarrollado anteriormente otro programa de renombre como es Lyx, el editor
visual de código latex) y rapidamente se le unieron decenas de programadores
interesados en hacer Linux (y Unix en general) mas fácil de usar.

En 1998 apareció la versión 1.0 de KDE. Fruto de la experiencia adquirida en sucesivas
versiones, muchos de los programas y librerías fueron rediseñadas y algunas incluso
reescritas dando lugar a la serie 2.x . La última versión disponible a la fecha es la
versión 2.2 del escritorio, mientras que la suite KOffice (que se ha decidido que salga
de manera independiente al escritorio general para poder satisfacer las necesidades
individuales de los programas que lo integran) va por la versión 1.1 .

1

2. La arquitectura de componentes

KDE : El escritorio diseñado para tí

KDE incluye una arquitectura de componentes llamada KParts que permite introducir
unas aplicaciones dentro de otras o introducir solamente funcionalidades nuevas en una
aplicación (los llamados Plugins).

KParts es por tanto la tecnología que permite que aplicaciones como Konqueror puedan
usar una componente del editor de textos Kate para leer ficheros dentro del propio
navegador, o usar una componente de KPresenter para ver una presentación sin
necesidad de abrir KPresenter. Igualmente, KParts se usa para implementar los Plugins
de Konqueror que añaden nuevas funcionalidades como por ejemplo, una entrada en el
menú en el que se puede elegir a qué idioma queremos traducir (usando BableFish) la
página que estamos viendo en ese momento, un plugin que lee por el altavoz la página
actual (completamente o parcialmente) o un plugin que muestra la estructura interna de
una página web en forma de arbol DOM (Document Object Model).

KParts además se usa en KOffice para introducir unos documentos dentro de otros de
forma que se pueda tener por ejemplo una hoja de cálculo dentro de un documento de
texto. Esto se hace introduciendo una componente de KSpread dentro de la propia
componente de KWord. Al usar KParts no sólo se introduce un programa dentro de
otro, sino que todo el interfaz de usuario (menús y barras de herramientas por ejemplo)
cambia para reflejar esta ampliación de funcionalidades de la forma más correcta
posible. Esto permite que el usuario encuentre por ejemplo un menú de ordenar
columna por orden alfabético (que sólo debería estar disponible para la hoja de cálculo)
en los menús de KWord siempre y cuando se esté editando una hoja de cálculo que
haya sido insertada en un documento de KWord.

Desarrollar nuevas componentes es muy fácil gracias al diseño de KParts, de hecho,
convertir una aplicación ya existente en una componente que pueda ser usada por
ejemplo por Konqueror (para visualizar un tipo de archivos) no suele llevarse más de
unas horas (o una tarde en el peor de los casos).

3. El protocolo de comunicaciones

KDE utiliza un protocolo de comunicaciones, DCOP (Desktop COmmunication
Protocol), que ya tiene 2 años de antigüedad y permite a unas aplicaciones comunicarse
con otras de forma rápida y sencilla.

Por una parte, se puede usar DCOP para comunicarse con una aplicación conocida y
acceder a funcionalidad conocida por el programador, como por ejemplo, para hacer
que Konqueror abra una página web. Por otra parte, se puede usar DCOP para

2

KDE : El escritorio diseñado para tí

inspeccionar la funcionalidad que ofrece una aplicación y conocer los objetos que ha
creado e incluso interaccionar con ellos !

DCOP es un protocolo inventado por Matthias Ettrich (fundador de KDE) y Preston
Brown (Director del RedHat Labs) como sustituto de CORBA, que se usaba
anteriormente pero que daba muchos problemas, mayoritariamente que era demasiado
complejo y pesado para que la mayoría de los programadores lo usaran.

Actualmente se pueden hacer llamadas DCOP usando C++, Python, C, e incluso desde
el propio shell. Por ejemplo, para hacer que Konqueror abra una ventana con una
página web, basta ejecutar:

dcop konqueror default openBrowserWindow http://www.kde.org

La misma llamada desde C++ se haría usando :

DCOPClient *dcop=kapp->dcopClient();
QByteArray params;
QDataStream stream(params, IO_WriteOnly);
stream << QString::fromLatin1("http://www.kde.org");
dcop->send( "konqueror", "default", "openBrowserWindow(QString)", params);

Y desde Python, el código relevante es :

server = Server("http://localhost:" + port +"/konqueror")
server.default.openBrowserWindow(auth, "http://www.kde.org")

Además, hay otros métodos de usar DCOP que permiten hacer llamadas a funciones
que devuelven un resultado de forma que no sólo se pueda pedir a otros procesos que
realicen alguna acción, sino que también se puede obtener el resultado de la acción
cometida por la otra aplicación.

Pero DCOP no sólo se puede usar para hacer llamadas y recibir un valor de resultado,
también puede usarse para extender los mecanismos de señales-slots que implementa
Qt al entorno de escritorio completo.

El mecanismo de señal-slot de Qt es muy sencillo y se basa en que cuando un objeto
cambia su estado, emite una señal para dar a conocer "a quién le interese" que ha
sucedido algo. Por otra parte, los objetos tienen slots que son funciones miembro a las

3

KDE : El escritorio diseñado para tí

que se conectan las señales de otros objetos. Así, cuando un objeto emite una señal, los
slots de otros objetos que están conectados a esa señal son llamados automaticamente .
Observemos que la relación señal-slot puede ser uno a uno, uno a muchos, muchos a
uno, uno a ninguno , etc. Es decir, puede que tengamos una misma señal conectada a
varios slots, muchas señales conectadas a un mismo slot, o puede que no haya ningún
slot conectado a una señal o ninguna señal conectada a un slot.

DCOP extiende este mecanismo a todo el escritorio en el sentido en que implementa
las "señales DCOP" que son emitidas cuando una aplicación quiere dar a conocer que
ha ocurrido algo. Por medio de DCOP, se pueden conectar estas señales (emitidas por
otras aplicaciones) a slots usuales, de forma totalmente transparente para el slot
receptor de la señal ( a quién no le importa si ha sido llamado a través de una señal de
Qt, de DCOP, o simplemente ha sido llamado como una función normal).

4. El servidor multimedia

aRts (Analog RealTime Synthesizer) es el servidor multimedia usado por las
aplicaciones de KDE aunque realmente aRts no dependa ni de las librerías de KDE ni
de Qt, pudiendo ser usado bajo cualquier entorno de escritorio.

aRts es un servidor multimedia que no sólo mezcla señales de audio para reproducirlas
sino que puede además procesarlas, aplicar filtros, etc. Además, no se restringe a
reproducir sonido, sino que también puede reproducir video (y está en desarrollo el
soporte para aplicar filtros también a los videos).

Stefan Westerfeldt, creador y principal desarrollador de aRts, creó un protocolo
llamado MCOP especialmente diseñado para que las aplicaciones se comunicaran con
el servidor multimedia. Parece cada vez más seguro que el futuro servidor multimedia
de GNOME también usará este protocolo de forma que las aplicaciones de un escritorio
que se ejecuten en el otro, puedan comunicarse indistintamente con el servidor que se
esté ejecutando en cada momento sin perder en ningún caso la capacidad de reproducir
sonidos.

Aplicaciones como aRtsbuild permiten construir estructuras en las que aparezcan las
señales de entrada y salida, filtros, bucles, etc. por medio de grafos que luego aRts
aplicará a la salida de audio de las aplicaciones. aRts también incluye otras utilidades
como artsdsp permiten ejecutar aplicaciones antiguas que no ofrezcan soporte para
comunicarse por medio de MCOP.

Muy relacionado con aRts está la aplicación que gestiona los sucesos del escritorio,
KNotify. Este servidor, centraliza la recepción de las notificaciones de cualquier suceso

4

KDE : El escritorio diseñado para tí

en cualquier aplicación. En el panel de control se puede configurar qué hacer para cada
suceso en cada aplicación de forma independiente. Así, se puede hacer que se
reproduzca un archivo de sonido cuando haya nuevo correo, o que aparezca una
ventana indicando el suceso ocurrido. Otras opciones son grabar la notificación en un
archivo de registro o sacar un mensaje por la salida estandar (stdout).

5. Las aplicaciones

Quizás uno de los aspectos más importantes de KDE es que toda esa tecnología y
esfuerzo en el diseño no se han quedado ahí, sino que han sido utilizados con éxito en
multitud de aplicaciones que gracias a esa arquitectura, han pasado a ser casi
imprescindibles en cualquier escritorio.

Si hay un programa que pueda ser considerado como imprescindible, ese es Konqueror.
Konqueror es un navegador web, administrador de ficheros, previsualizador de
archivos, etc. completamente basado en componentes con muchas características que lo
convierten en único en su especie.

Cuando Konqueror se usa como navegador web se utiliza la librería KHTML que es la
librería desarrollada por KDE para renderizar (mostrar) páginas en formato html.
Actualmente KHTML soporta tanto HTML4 (mediante DOM o Document Object
Model) como CSS1 y CSS2 (Cascade Style Sheets) éste último casi al 100%), Java,
Javascript, Flash y otros plugins de Netscape.

Konqueror hace un uso completo de la tecnología KParts para integrar componentes de
visualización de cualquier tipo de archivo disponib
  • Links de descarga
http://lwp-l.com/pdf2294

Comentarios de: KDE : El escritorio diseñado para tí (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