Entorno de escritorio
Este artículo o sección necesitareferenciasque aparezcan en unapublicación acreditada. Este aviso fue puesto el 25 de septiembre de 2012. Puedesañadirlaso avisar alautor principaldel artículo en su página de discusión pegando:{{sust:Aviso referencias| Entorno de escritorio}} ~~~~
Esquema de las capas de la interfaz gráfica de .
Unentorno de escritorio(en inglésdesktop environment, abreviadoDE) es un conjunto desoftwarepara ofrecer al de unacomputadorauna interacción amigable y cómoda. Es una implementación deinterfaz gráfica de que ofrece facilidades de y configuración, como barras de herramientas eintegración entre aplicacionescon habilidades como arrastrar y soltar. Los entornos de escritorios por lo general no permiten el a todas las características que se encuentran en un sistema operativo, por la ausencia de una interfaz gráfica. En su lugar, la tradicionalinterfaz de línea de comandos(CLI) todavía se utiliza cuando el control total sobre el sistema operativo se requiere en estos casos. Un entorno de escritorio por lo general consta deiconos,ventanas,barras de herramientas,carpetas,fondos de pantallaywidgetsde escritorio.1 En general cada entorno de escritorio se distingue por su aspecto y comportamiento particulares, aunque algunos tienden a imitar características de escritorios ya existentes. El primer entorno moderno de escritorio que se comercializó fue desarrollado porXeroxen losaños 80.
Índice [ocultar]
• 1Soporte de sistemas operativos • 2Galería • 3Véase también • 4Referencias
Soporte de sistemas operativos Actualmente el entorno más conocido es el ofrecido por la familiaWindows, aunque existen otros como los deMacintosh(Classic yCocoa), o también decódigo abierto(osoftware libre) comoGNOME,KDE,CDE,Xfce,LXDEoInnovaDE, comúnmente usados endistribuciones LinuxoBSD. Wi nd ow s
Mac OS X
GNU/ Linux
BSD
KDE
No
No
Sí
Sí
GNOME
No
No
Sí
Sí
Xfce
No
No
Sí
Sí
LXDE
No
No
Sí
Desconocido
Unity
No
No
Sí
Desconocido
MATE
No
No
Sí
Desconocido
Cinnamon
No
No
Sí
Desconocido
Pantheon
No
No
Sí
Desconocido
Classic
No
Sí
No
No
Cocoa
No
Sí
No
No
Windows Classic
Sí
No
No
No
Luna
Sí
No
No
No
Longhorn
Sí
No
No
No
Aero
Sí
No
No
No
Modern UI
Sí
No
No
No
Continuum
Sí
No
No
No
DE
Galería
NOME
KDE SC
Unity
XFCE
InnovaD
Mezzo
Ambient
Étoilé
ReactOS
LXDE
ROX Desktop
Sugar
UDE
Sistema de ventanas X
Esquema de las capas de la interfaz gráfica de
Servidor de pantalla: X-server o Wayland compositor
X Window System en GNOME 2.20.
Logotipo de X Window System
Logotipo de X.Org
El texto que sigue es una traducción defectuosa. Si quieres colaborar con Wikipedia, busca el artículo original y mejora esta traducción.
Copia y pega el siguiente código en la página de discusión del autor: {{subst:Aviso mal traducido|Sistema de ventanas X}} ~~~~ El Sistema de Ventanas X (en inglés, X Window System) es un software que fue desarrollado a mediados de los años 1980 en el MIT para dotar de una interfaz gráfica a los sistemas Unix. Este protocolo permite la interacción gráfica en red entre un y una o más computadoras haciendo transparente la red para éste. Generalmente se refiere a la versión 11 de este protocolo, X11, el que está en uso actualmente. X es el encargado de mostrar la información gráfica de forma totalmente independiente del sistema operativo. X fue diseñado primariamente para implementar clientes ligeros, donde mucha gente usaba simultáneamente la capacidad de procesamiento de un mismo computador trabajando en tiempo compartido. Cada persona usaba un terminal en red que tenía capacidades limitadas para dibujar la pantalla y aceptar la entrada del . Debido a la ubicuidad del soporte para el software X en Unix, es usado en los computadores personales incluso cuando no hay necesidad del tiempo compartido. El sistema de ventanas X distribuye el procesamiento de aplicaciones especificando enlaces cliente-servidor. El servidor provee servicios para acceder a la pantalla, teclado y ratón, mientras que los clientes son las aplicaciones que utilizan estos recursos para interacción con el . De este modo mientras el servidor se ejecuta de manera local, las aplicaciones pueden ejecutarse remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red. Debido a este esquema cliente-servidor, se puede decir que X se comporta como un terminal gráfico virtual. El hecho que exista un estándar definido para X permite que se desarrollen servidores X para distintos sistemas operativos y plataformas, lo que hace que el código sea muy portable. Por ejemplo, permite tener clientes X ejecutándose en un potente servidor UNIX
mientras los resultados son visualizados en una PC de escritorio con cualquier otro sistema operativo funcionando. La comunicación entre el cliente X y el servidor se realiza por medio de un protocolo conocido como Xprotocol, que consiste en una serie de bytes interpretados como comandos básicos para generar ventanas, posicionarlas, o controlar eventos. Los clientes X acceden al Xprotocol mediante el uso de una biblioteca llamada Xlib, que evita al programador de clientes X tener que lidiar con el código binario del Xprotocol. Sin embargo, los aspectos de decoración de ventana y manejos de ventanas no están definidos en esta biblioteca. X no es un gestor de ventanas, necesita de uno para controlar el manejo de ventanas. Esto trae la ventaja de que permite al instalar uno o más es de ventanas de su preferencia. También trae la ventaja de que hace de X estrictamente un sistema gráfico, de tal modo que un cliente X podría estar enviando un gráfico a una pantalla, a una impresora o a cualquier otro hardware sin darse cuenta, flexibilizando la salida gráfica. Por otro lado, la desventaja que trae el hecho de no tener un único entorno gráfico es que los programadores de clientes X que desean hacer uso de los recursos de los entornos gráficos (botones, barras de deslizamientos, etc) deben elegir un entorno gráfico específico para programar y contar que el tenga por los menos las bibliotecas de dicho entorno gráfico instalado. Las bibliotecas de los entornos gráficos se conocen como "Toolkits", el estándar X provee sólo de un conjunto de herramientas básicas llamadas Xintrisics que permiten a los programadores de los entornos gráficos armar sus Toolkits sobre estas. Índice [ocultar]
• 1Diseño • 2Principios • 3Interfaces de • 4Implementaciones • 4.1Terminales X
• 5Historia • 5.1Predecesores • 5.2Origen y desarrollo temprano • 5.3El MIT X Consortium y el X Consortium, Inc. • 5.4The Open Group • 5.5X.Org y XFree86 • 5.6X.Org Foundation • 6Historial de versiones • 6.1Versiones futuras • 7Versión • 8Véase también • 9Referencias • 10Enlaces externos
Diseño
Ejemplo de despliegue del servidor X: el servidor X recibe la entrada de un teclado y de un ratón locales y exhibe hacia una pantalla. Un navegador web y un emulador de terminal se ejecuta en la estación de trabajo del y un
emulador de terminal se ejecuta en un computador remoto pero es controlado y monitoreado desde la máquina del . Artículos principales:
Protocolos y arquitectura de X Window System y Protocolo base de X
Window System. X usa el modelo cliente-servidor: un servidor X se comunica con varios programas cliente. El servidor acepta los pedidos para la salida gráfica (ventanas) y devuelve la entrada del (desde el teclado, del ratón, o de la pantalla táctil). El servidor puede funcionar así: • una aplicación exhibiendo hacia una ventana de otro sistema de visualización • un programa del sistema controlando la salida vídeo de una PC • una pieza de hardware dedicada Esta terminología de cliente servidor - el terminal de siendo el servidor y las aplicaciones siendo los clientes - a menudo confunde a nuevos s de X, porque los términos parecen invertidos. Pero X toma la perspectiva de la aplicación, en vez de la del final: X proporciona la exhibición por pantalla y los servicios de entrada/salida a las aplicaciones, así que es un servidor; las aplicaciones usan estos servicios, por lo tanto son los clientes. El protocolo de comunicaciones entre el servidor y el cliente opera transparente a la red: el cliente y el servidor pueden ejecutarse en la misma o en diferentes máquinas, posiblemente con diferentes arquitecturas y sistemas operativos. Un cliente y un servidor pueden incluso comunicarse con seguridad sobre Internet haciendo una conexión de túnel sobre una sesión cifrada de la red. Un cliente X puede emular un servidor X proporcionando servicios de exhibición a otros clientes. Esto es conocido como "X nesting" (anidado X). Los clientes de código abierto tales como Xnest y Xephyr soportan el X nesting. Para utilizar un programa de cliente X sobre una máquina remota, el hace lo siguiente: • En la máquina local, abrir una ventana de terminal • usar telnet o ssh para conectarse con la máquina remota • solicitar el servicio local de pantalla/entrada (ej., export DISPLAY=['s machine]:0 si no se está usando SSH con X tunneling activado)
El cliente X remoto entonces hará una conexión al servidor X local del , proporcionando la exhibición por pantalla y la entrada. Alternativamente, la máquina local puede ejecutar un pequeño programa que se conecte con la máquina remota y comience la aplicación cliente. Ejemplos prácticos de clientes remotos incluyen: • istrando una máquina remota gráficamente • corriendo una simulación de cómputo intensivo en una máquina Unix remota y mostrando los resultados por pantalla en una de escritorio Windows • ejecutar software gráfico en varias máquinas al mismo tiempo, controlados por una sola pantalla, teclado y ratón.
Principios En 1984, Bob Scheifler y Jim Gettys establecieron los tempranos principios de X: • No añadan nueva funcionalidad a menos que un implementador no pueda completar una aplicación real sin ella. • Es tan importante decidir qué no es el sistema, como decidir qué es. No respondan a las necesidades de todo el mundo; en lugar de eso, hagan el sistema extensible para que las necesidades adicionales puedan cubrirse en una manera compatible ascendente. • La única cosa peor que generalizar a partir de un ejemplo es generalizar a partir de ningún ejemplo en absoluto. • Si un problema no se entiende totalmente, probablemente es mejor no proporcionar ninguna solución en absoluto. • Si ustedes pueden conseguir el 90 por ciento del efecto deseado para el 10 por ciento del trabajo, utilicen la solución más simple. (Ver también peor es mejor). • Aíslen la complejidad tanto cuanto sea posible. • Proporcionen un mecanismo en vez de una política. En particular, pongan la interfaz de política en las manos de los clientes. El primer principio fue modificado durante el diseño del X11: "No añadan nueva funcionalidad a menos que ustedes sepan de alguna aplicación real que la requiera".
X ha mantenido en gran parte estos principios. La implementación de ejemplo es desarrollada con una vista hacia la extensión y la mejora de la implementación, mientras que permanece compatible con el protocolo original de 1987.
Interfaces de
Interfaz gráfica de de GNOME.
Entorno de escritorio KDE 4.
Interfaz gráfica de de Xfce.
X es primariamente una definición de primitivas de protocolo y gráficas, y deliberadamente no contiene especificaciones de diseño de interfaz de , como estilos de botón, menú, barra de título para las ventanas. En vez de eso, un software de aplicación (tal como los gestores de ventana, Widget toolkits de GUI y ambientes de escritorio, o las interfaces gráficas de específicas de una aplicación) definen y proporcionan tales detalles. Como resultado, no hay interfaz X típica y varios ambientes de escritorio han sido populares entre los s.
Un manejador de ventana controla la colocación y la apariencia de las ventanas de aplicación. Esto puede resultar en interfaces semejantes a las de Microsoft Windows o Macintosh (los ejemplos incluyen Metacity en GNOME, KWin en KDE, Xfwm en Xfce, o Compiz) o tener controles radicalmente diferentes (tales como tiling window manager, como wmii o Ratpoison). Los manejadores de ventana abarcan en sofisticación y complejidad desde los más simples (ej., twm, el manejador de ventana básico suministrado con X, o evilwm, un manejador de ventana extremadamente liviano) hasta los ambientes de escritorio más completos tales como Enlightenment. Muchos s usan X con un ambiente de escritorio, que, independientemente del manejador de ventana, incluyen varias aplicaciones usando una interfaz de consistente. GNOME, KDE y Xfce son los ambientes de escritorio más populares. El ambiente estándar de Unix es Common Desktop Environment (CDE). La iniciativa freedesktop.org se dirige a la interoperabilidad entre el escritorio y los componentes necesarios para un escritorio X competitivo. Puesto que el X es responsable de la interacción entre el teclado y el ratón con el escritorio gráfico, ciertos atajos de teclado han llegado a estar asociados con X. ControlAlt-Backspace típicamente termina la sesión actualmente corriendo en X, mientras que el Control-Alt conjuntamente con una tecla de función cambia a la consola virtual asociada. Sin embargo, esto es un detalle dejado al diseño de una implementación de servidor X y no es universal; por ejemplo, las implementaciones de servidor X para Windows y Macintosh típicamente no proporcionan estos atajos de teclado.
Implementaciones La implementación de X.Org es la implementación canónica de X. Debido al tipo de licencia libre, han aparecido un número de variaciones, tanto libres como propietarias. Los vendedores comerciales de UNIX han tendido a tomar la implementación de fuente abierta y a adaptarla para su hardware, usualmente personalizándola y añadiendo extensiones propietarias. Hasta 2004, XFree86 proporcionó la variante más común de X en sistemas como UNIX libres. XFree86 comenzó un port de X para las PC compatibles 386, y, para final de los años 1990, se había convertido en la más grande fuente de innovación técnica en X y el
estándar de facto del desarrollo de X.1 Desde 2004, sin embargo, el X.Org Server, una bifurcación (fork) de XFree86, ha llegado a ser predominante. Mientras es común asociar X con Unix, los servidores X también existen nativamente dentro de otros ambientes gráficos. El sistema operativo OpenVMS de Hewlett-Packard incluye, como su ambiente de escritorio estándar, una versión de X con el CDE conocida como DECwindows. El Mac OS X v10.3 (Panther) y el Mac OS X v10.4 (Tiger) de Apple incluyen X11.app, basado en XFree86 4,3 y X11R6.6, con una mejor integración de Mac OS X, en el Mac OS X v10.5 (Leopard) X.org Apple incluyó el X.org (X11R7.2 Codebase) en vez del XFree86 (X11R6.8). Los servidores de terceros bajo el Mac OS 7, 8 y 9 incluyeron el eXodus de White Pine Software y el MacX de Apple. Microsoft Windows no es comercializado con soporte para X, pero existen muchas implementaciones de terceros, tanto de software libre tales como Cygwin/X, Xming y WeirdX; como de productos propietarios tales como Xmanager, Exceed, MKS X/Server, Reflection X, y X-Win32. Cuando un sistema operativo con un sistema de ventana nativo es anfitrión de X, adicionalmente, el sistema X puede usar o no usar su propio escritorio en una ventana anfitriona separada o puede ejecutarse rootless, significando que el escritorio X está oculto y el ambiente anfitrión de ventana maneja la geometría y apariencia de las ventanas hospedadas en la pantalla del anfitrión.
Terminales X
Un dispositivo de computación de red, Network Computing Devices (NCD), el terminal X NCD-88k Artículo principal:
X terminal
Un terminal X es un cliente ligero que solamente ejecuta un servidor X. Esta arquitectura llegó a ser popular para construir paquetes de terminales baratos para que muchos s usaran simultáneamente el mismo gran servidor de computadora para ejecutar
programas de aplicación como clientes de cada terminal X. Este uso está muy cerca con la intención original del proyecto MIT. Los terminales X exploran la red (el dominio de difusión local) usando el protocolo de control del X Display Manager para generar una lista de anfitriones disponibles que son permitidos como clientes. Uno de los anfitriones de clientes debe ejecutar un X display manager. El hardware dedicado para terminales X ha llegado a ser menos común; un PC o un moderno cliente ligero con un servidor X proporciona típicamente la misma funcionalidad a igual o más bajo costo.
Historia Predecesores Varios sistemas de pantalla de bitmap precedieron a X. De Xerox vinieron los computadores Alto (1973) y Star (1981). De Apple vinieron el Lisa (1983) y el Macintosh (1984). El mundo de Unix tenía el Andrew Project (1982) y el terminal Blit de Rob Pike (1982). La Universidad Carnegie Mellon produjo una aplicación de remoto llamado Alto Terminal, la cual, desplegaba ventanas que se solapaban en el Xerox Alto, e hizo anfitriones remotos, típicamente sistemas DEC VAX corriendo Unix, responsables de manejar eventos de la exposición de ventanas y refrescando el contenido de las ventanas cuanto era necesario. X deriva su nombre como sucesor de un sistema de ventana anterior a 1983 llamado W (precediendo la letra X en el alfabeto inglés). El W Window System corrió bajo el sistema operativo V. W usó un protocolo de red soportando terminales y ventanas de gráficos, el servidor mantenía la lista de pantallas.
Origen y desarrollo temprano La idea original de X emergió en el MIT en 1984 como colaboración entre Jim Gettys (del Proyecto Athena) y Bob Scheifler (del MIT Computer Science and Artificial Intelligence Laboratory). Scheifler necesitaba un ambiente de exhibición de pantalla usable para
depurar el Argus system. El Proyecto Athena, un proyecto común entre Digital Equipment Corporation (DEC), el MIT e IBM para proporcionar fácil a los recursos de computación para todos los estudiantes, necesitó un sistema de gráficos de plataforma independiente para enlazar juntos los sistemas heterogéneos provenientes de múltiples vendedores; el sistema de ventana, entonces bajo desarrollo en el Andrew Project de la universidad del Carnegie Mellon no hizo las licencias disponibles, y no existían alternativas. El proyecto solucionó esto creando un protocolo que podía ejecutarse tanto en aplicaciones locales como llamar a recursos remotos. A mediados de 1983 un port inicial de W a Unix corrió a un quinto de su velocidad bajo V; en mayo de 1984, Scheifler reemplazó el protocolo sincrónico de W por un protocolo asincrónico y las listas de pantalla con los gráficos de modo inmediato para así hacer la versión 1 de X. X se convirtió en el primer ambiente de sistema de ventanas en ofrecer verdadera independencia de hardware e independencia del vendedor. Scheifler, Gettys y Ron Newman trabajaron juntos y X progresó rápidamente. Ellos lanzaron la Versión 6 en enero de 1985. La DEC, entonces se preparaba para lanzar la estación de trabajo Ultrix, juzgó a X como el único ambiente de sistema de ventanas que probablemente estaría disponible a tiempo. Los ingenieros de la DEC portaron el X6 a la pantalla QVSS de DEC en el MicroVAX. En el segundo trimestre de 1985, X adquirió soporte de color para funcionar en la DEC VAXstation-II/GPX, formando lo que se convirtió en la versión 9. Un grupo en la Universidad Brown portó la versión 9 al IBM RT/PC, pero los problemas de lectura de datos no alineados en el RT forzaron un cambio incompatible del protocolo, llevando a la versión 10 a finales de 1985. Por 1986, organizaciones externas habían comenzado a pedir el X. El lanzamiento del X10R2 ocurrió en enero de 1986; el del X10R3 en febrero de 1986. Aunque el MIT hubiera licenciado gratuitamente el X6 a algunos grupos externos, en ese momento decidió licenciar el X10R3 y las versiones futuras bajo de que fue conocido desde entonces como la licencia MIT, intentando popularizar a X más lejos y a cambio, esperando que muchas más aplicaciones estuvieran disponibles. El X10R3 se convirtió en la primera versión en alcanzar un despliegue amplio, con tanto la DEC como Hewlett-Packard lanzando productos basados en él. Otros grupos portaron el X10 hacia Apollo Computer y estaciones de trabajo Sun e
incluso al IBM AT. Las demostraciones de la primera aplicación comercial para X tomaron lugar en la feria de negocios Autofact de ese tiempo. Era un sistema de diseño asistido por computador de ingeniería mecánica de Cognition Inc. que corría en VAXes y exhibía la imagen en PC corriendo un servidor X. La última versión del X10, la X10R4, apareció en diciembre de 1986 Fueron hechos intentos para habilitar a los servidores X como dispositivos de colaboración en tiempo real, muy similar a como el Virtual Network Computing (VNC) posteriormente permitiría que un escritorio fuera compartido. Uno de esos esfuerzos tempranos fue la herramienta SharedX de Philip J. Gust. Aunque X10 ofreciera una funcionalidad interesante y potente, había llegado a ser obvio que el protocolo X podría tener un diseño más neutral al hardware antes de que fuera demasiado extensamente adoptado; pero el MIT por sí solo no tendría los recursos disponibles para un rediseño tan completo. Mientras que sucedía esto, el Western Software Laboratory (WSL) de DEC se encontró a sí mismo entre proyectos con un equipo experimentado. Smokey Wallace del WSL y Jim Gettys propusieron que el DEC WSL construyera el X11 y lo hiciera libremente disponible bajo los mismos términos que el X9 y el X10. Este proceso comenzó en mayo de 1986, con el protocolo concluido en agosto. la prueba alfa del software comenzó en febrero de 1987, la prueba beta en mayo; el lanzamiento del X11 finalmente ocurrió el 15 de septiembre de 1987. El diseño del protocolo X11, encabezado por Scheifler, fue discutido extensivamente en listas de correo abiertas en el naciente Internet donde se extendió un puente a los groupos de noticia de USENET. Gettys se mudó desde el Systems Research Center de DEC a California para ayudar a dirigir el trabajo de desarrollo del X11 en el WSL, donde Phil Karlton y Susan Angebrandt encabezaban el diseño y la implementación del servidor de ejemplo del X11. Por lo tanto, X representa uno de los primeros, muy grandes proyectos distribuidos, de software libre.
El MIT X Consortium y el X Consortium, Inc.
X Window System, un ejemplo histórico de la interfaz gráfica de y aplicaciones comunes la distribución del MIT X Consortium corriendo bajo el manejador de ventana twm: X Terminal, Xbiff, xload y un navegador gráfico de páginas de manuales, Man page.
En 1987, con el éxito del X11 siendo evidente, el MIT deseaba abandonar la istración del X, pero en una reunión de junio de 1987 con nueve vendedores, los vendedores le dijeron a MIT que ellos creían en la necesidad de un entidad neutral para evitar que X se fragmentara en el mercado. En enero de 1988, el MIT X Consortium se formó como un grupo no lucrativo de vendedores, con Scheifler como director, para dirigir el desarrollo futuro de X en una atmósfera neutral inclusiva de intereses comerciales y educativos. Jim Fulton se unió en enero de 1988 y Keith Packard en marzo de 1988 como desarrolladores mayores, con Jim enfocándose en Xlib, fuentes, manejadores de ventanas, y utilidades; y Keith reimplementó el servidor. Donna Converse, Chris D. Peterson, y Stephen Gildea se unieron más adelante ese año, enfocándose en juegos de herramientas (toolkits) y conjuntos de widgets, trabajando de cerca con Ralph Swick, del proyecto Athena del MIT. El MIT X Consortium produjo varias revisiones significativas del X11, las primeras (el Release 2 - X11R2) en febrero de 1988. Ralph Mor y Jay Hersh se unieron más adelante al equipo. En 1993, como el MIT X Consortium se preparó para salir del MIT, el equipo fue unido por R. Gary Cutbill, Kaleb Keithley, y David Wiggins.2 En 1993, el X Consortium, Inc. (una sociedad no lucrativa) se formó como el sucesor del MIT X Consortium. Lanzó el X11R6 el 16 de mayo de 1994. En 1995 tomó el desarrollo del Motif toolkit y el Common Desktop Environment de los sistemas Unix. El X Consortium se disolvió a finales de 1996, produciendo una revisión final, el X11R6.3, y una herencia de creciente influencia comercial en el desarrollo.34
The Open Group Artículo principal:
The Open Group
En enero de 1997 el X Consortium pasó la istración de X a The Open Group, un grupo de vendedores formado a principios de 1996 por la fusión de la Open Software Foundation con X/Open. El The Open Group lanzó el X11R6.4 a principios de 1998. Controversialmente, el X11R6.4 se apartó de los términos de licenciamiento liberales tradicionales, a medida que The Open Group intentaba asegurar el fiananciamiento para el desarrollo de X.5 Los nuevos términos habrían prevenido su adopción por muchos proyectos (tales como el XFree86) e incluso por algunos vendedores comerciales. Después de que XFree86 parecía estar evaluando una bifurcación (fork), The Open Group relicenció el X11R6.4 bajo la licencia tradicional en septiembre de 1998.6 El último lanzamiento de The Open Group vino como el X11R6.4 patch 3.
X.Org y XFree86 Artículo principal:
X.Org
Artículo principal:
XFree86
El XFree86 se originó en 1992 desde el servidor X386 para los sistemas IBM PC compatibles incluidos con el X11R5 en 1991, escrito por Thomas Roell y Mark W. Snitily y donados al MIT X Consortium por Snitily Graphics Consulting Services (SGCS). XFree86 evolucionó en el tiempo, desde apenas un port de X, hasta la implementación líder y más popular y se convirtió en el de facto del desarrollo de X.1 En mayo de 1999, The Open Group formó X.Org. X.Org supervisó el lanzamiento de las versiones X11R6.5.1 en adelante. En ese momento, el desarrollo X llegó a estar moribundo;7 la mayor parte de la innovación técnica desde que el X Consortion se había disuelto tomaba lugar en el proyecto XFree86.8 En 1999, el equipo de XFree86 se unió a X.Org como un miembro honorario (sin pago),9 alentado por varias compañías interesadas en usar XFree86 con Linux y en su estatus como la más popular versión de X. Por 2003, surgió con la popularidad de Linux (y por lo tanto la base instalada de X), X.Org permaneció inactivo,10 y el desarrollo activo tomó lugar en el XFree86. Sin embargo, había un considerable desarrollo disidente dentro del XFree86. El proyecto XFree86 sufrió
de una percepción como un modelo de desarrollo demasiado similar al de una catedral; los desarrolladores no podían tener un commit CVS1112 y los vendedores tenían que mantener un conjunto extensivo de parches.13 En marzo de 2003 la organización CFree86 expulsó a Keith Packard, quien se había unido a XFree86 después del final del MIT X Consortium original, con considerable malestar.141516 X.Org y XFree86 comenzaron a discutir una reorganización orientada a nutrir apropiadamente el desarrollo de X.171819 Jim Gettys había estado empujando fuertemente por un modelo de desarrollo abierto desde por lo menos desde el año 2000.20 Gettys, Packard y varios otros comenzaron a discutir en detalle los requerimientos para el gobierno efectivo de X con un desarrollo abierto. Finalmente en un eco de la disputa de licenciamiento del X11R6.4, XFree86 lanzó la versión 4.4 en febrero de 2004 bajo una licencia más restrictiva que hizo que muchos proyectos que confiaban en X la encontraran inaceptable.21 La cláusula añadida a la licencia estaba basada sobre la cláusula original publicada por la licencia BSD, que fue vista por la Free Software Foundation y Debian como incompatible con la GNU General Public License.22 Otros grupos vieron restricciones posteriores como estando en contra del espíritu original de X (OpenBSD amenazando con un fork, por ejemplo). El asunto de la licencia, combinado con las dificultades de tener los cambios, dejó a muchos sintiendo que el momento estaba maduro para un fork.23
X.Org Foundation Artículo principal:
X.Org Foundation
A principios de 2004, varias personas de X.Org y freedesktop.org formaron la X.Org Foundation, y el Open Group les dio el control del nombre de dominio X.org. Esto marcó un cambio radical en el gobierno de X. Puesto que los es de X desde 1988 (incluyendo la X.Org previa) habían sido organizaciones de vendedores. Ahora, la fundación estaba encabezada por desarrolladores de software y usaba una comunidad de desarrollo basada en el modelo bazar, que confiaba en el involucramiento de afuera. Los estaban abiertos a los individuos, con los corporativos estando en la forma de patrocinadores. Algunas grandes corporaciones como Hewlett-Packard y Sun Microsystemsactualmente soportan a la X.Org Foundation.
La fundación toma un rol inadvertido sobre el desarrollo de X: las decisiones técnicas son hechas por sus méritos al alcanzar un vasto consenso entre los de la comunidad. Las decisiones técnicas no son hechas por la junta directiva; en este sentido, es fuertemente modelado por el no intervencionismo técnico de la Fundación GNOME. La fundación no emplea a ningún desarrollador. La fundación lanzó el X11R6.7, el X.Org Server, en abril de 2004, basado en el XFree86 4.4RC2 con los cambios del X11R6.6 combinados. Gettys y Packard habían tomado la última versión del XFree86 bajo la licencia vieja, haciendo un punto de un modelo de desarrollo abierto y reteniendo la compatibilidad GPL, trajeron a bordo muchos de los viejos desarrolladores.22 El X11R6.8 vino en septiembre de 2004. Añadió un número significativo de características, incluyendo el soporte preliminar para ventanas translúcidas y otros efectos visuales sofisticados, lentes de aumento para la pantalla, vistas en miniatura (thumbnailers), y facilidades para integrar sistemas de pantalla inmersiva en 3D tales como el Proyecto Looking Glass de Sun y el Croquet Project. Aplicaciones externas llamadas manejadores composición de ventanas proprocionan políticas para la apariencia visual. El 21 de diciembre de 2005,24 X.Org lanzó el X11R6.9, la fuente libre monolítica para s heredados, y el X11R7.0, el mismo código fuente separado en módulos independientes, cada uno mantenido en proyectos separados.25 La fundación lanzó el X11R7.1 el 22 de mayo de 2006, cerca de cuatro meses después del 7.0, con mejoras considerables de características.26
Historial de versiones Versión
Fecha de lanzamiento
Cambios importantes Primer uso del nombre "X"; varios cambios fundamentales con respecto a "W"
X1
Junio de 1984
X6
Enero de 1985 Primera versión licenciada a algunas compañías ajenas.
X9
Septiembre de Color. Primera versión bajo la Licencia MIT. 1985
X10
Fines de 1985 IBM RT/PC, AT (corriendo DOS) y otros
X10R2
Enero de 1986
X10R3
Febrero de 1986
Primer release fuera de MIT. Se hizo a uwm el manejador de ventanas estándar.
X10R4
Diciembre de 1986
Última versión de X10.
X11
Septiembre 15, 1987
Primera versión del actual protocolo.
X11R2
Febrero de 1988
Primer lanzamiento del "X Consortium"27
X11R3
Octubre 25, 1988
XDM
X11R4
XDM, twm vino como el manejador de ventanas estándar, se Diciembre 22, mejoraron aplicaciones, se agregó la 'Shape extension' y nuevas 1989 fuentes.
X11R5
Septiembre 5, PEX, Xcms (color management), servidor de fuentes, X386 1991
X11R6
Mayo 16, 1994
ICCCM v2.0; Inter-Client Exchange; X Session Management; X Synchronization extension; X Image extension; XTEST extension; X Input; X Big Requests; XC-MISC; cambios en XFree86.
X11R6.1
Marzo 14, 1996
Extensión X Double Buffer; extensión X keyboard; extensión X Record.
Funcionalidad Web, LBX. Última entrega del X Consortium. X11R6.2 X11R6.2 es el nombre de una parte de X11R6.3 que tiene solo como Diciembre 23, X11R6.3 nuevas características sobre R6.1 a XPrint y la implementación de 1996 (Broadway) Xlib de la escritura vertical y el soporte de caracteres definido por el .28 X11R6.4
Marzo 31, 1998
X11R6.5
Xinerama.29 Versión interna de X.Org; no disponible públicamente.
X11R6.5.1
Agosto 20, 2000
X11R6.6
Abril 4, 2001
Corrección de errores.
X11R6.7.0
Abril 6, 2004
Primera versión de X.Org Foundation, basándose principalmente en XFree86 4.4rc2. Distribución para el final. Eliminación de XIE, PEX y libxml2.30
X11R6.8.0
Septiembre 8, Transparencia en ventanas, XDamage, Distributed Multihead X, 2004 XFixes, Composite, XEvIE.
X11R6.8.1
Septiembre 17, 2004
Arreglos de seguridad libxpm.
X11R6.8.2
Febrero 10, 2005
Corrección de errores, actualización de controladores.
X11R6.9 X11R7.0
Diciembre 21, EXA, Mayor cantidad de cambios al código fuente. Surge la versión 2005 modular (7.0) y monolítica (6.9).31
X11R7.1
Mayo 22, 2006
Mejoras en EXA, Kdrive integrado, AIGLX, Mejoras en las diversas plataformas y sistemas operativos.32
X11R7.2
15 de febrero de 2007
Eliminación de LBX y del controlador de teclado incluido, X-ACE, XCB, mejoras en la autoconfiguración.33
X11R7.3
6 de Xserver 1.4.2, nput hotplug, output hotplug (RandR 1.2), KDrive, septiembre de DTrace, EXA, soporte para UnixWare.34 2007
X11R7.4
23 de Xserver 1.5.1, Pci-rework, EXA speed-ups, _X_EXPORT, GLX 1.4, septiembre de mayor rapidez de arranque del servidor.35 2008
X11R7.5
Xserver 1.7, Xi 2, XGE, soporte para E-EDID, RandR 1.3 (GPU 26 de octubre object), MPX, predictable pointer acceleration, DRI2 memory de 200936 manager, módulo de seguridad SELinux, eliminación de bibliotecas y extensiones obsoletas.37
X11R7.6
20 de diciembre de 2010
Xi 3 y XKB 2, soporte para UnixWare,38 requerimiento de XCB,39 X Server 1.9
X11R7.7
6 de junio de 2012
Cambios en el servidor Xorg 1.10; extensión RandR 1.4; extensión Sync 1.3.
Versiones futuras
Versión X11R7.8
Fecha de lanzamiento 2013
Cambios importantes Xi 3; XKB 2.
Protocolo base de X Window System
Logo del Protocolo X del Sistema core de Windows.
El Protocolo base del sistema X Window123 es la base del protocolo de X Window System, un sistema de ventanas de red que muestra bitmaps y que permite construir
interfaces gráficas de s en Unix, Unix-Like y otros sistemas operativos. El sistema de de ventanas X Window está basado en un modelo de Cliente-Servidor: un solo servidor controla los dispositivos hardware de entrada-salida, como el monitor, el teclado, y el ratón; todos los programas de la aplicación actúan como un sólo cliente, interactuando con el . Esta interacción es regulada por el protocolo del base del sistema de ventanas X Window.4 Existen otros protocolos relacionados con el sistema X Window, algunos utilizados en las capas superiores del protocolo X Window y otros como protocolos independientes. En el protocolo base de X Window System, sólo cuatro clases de paquetes son enviadas, asíncronamente, sobre la red: peticiones, respuestas, los acontecimientos, y los errores. Las “peticiones” son enviadas por un cliente al server para preguntar si puede mejorar alguna aplicación (por ejemplo crear una nueva ventana) y además son devueltos a la persona que los envió para que reciba los datos (Repuestas). Las “respuestas”son enviadas por un cliente para confirmar algún dato. Los “eventos” son enviados por un para notificar a otros de que hay alguna junta de interés o trabajo. Los “errores” son enviados al para notificar que ha ocurrido un error durante el proceso de peticiones. En las peticiones pueden generarse respuestas, eventos y errores; u otros, el protocolo manda una orden específica para que el no mande la petición por otra red. Algunas extensiones a el protocolo core existente, cada una con sus propias peticiones, respuestas, eventos y errores. X se originó en el Instituto Tecnológico de Massachusetts en 1984 (su liberación X11 actual apareció en septiembre 1987). Fue diseñado por Bob Scheifer y Jim Gettys, pusieron como principio primordial del proyecto “Crearemos un mecanismo, no una política”. Como resultado, el protocolo core no específica la interacción entre clientes y entre un cliente y el . Estas interacciones están sujetas por especificaciones separadas,5 como el ICCCM y la freedesktop.org especificaciones. Son típicamente automáticos, hasta usando un dado Widget toolkit. Índice [ocultar]
• 1Descripción general • 2Ventanas
• 3Pixmaps y drawables • 4Los contextos gráficos y las fuentes • 5Los recursos y los identificadores • 6Eventos • 7Los colores • 8Átomos • 9Propiedades • 10Referencias • 11Véase también
Descripción general
Un ejemplo de interacción entre un cliente y un servidor.
La comunicación entre el servidor y los clientes se hace mediante el intercambio de paquetes sobre un canal. La conexión se establece por el cliente (la forma en que el cliente se inicia no se ha especificado en el protocolo). El cliente también envía el primer paquete, que contiene el orden del byte a ser utilizado y la información sobre la versión del protocolo y el tipo de autenticación que el cliente espera que el servidor usará. La respuesta del servidor mediante el envío de un paquete de vuelta indica la aceptación o el rechazo de la conexión, o con una solicitud de una autenticación adicional. Si la conexión es aceptada, el paquete de aceptación contiene los datos que el cliente debe usar en la interacción posterior con el servidor.
Después de que se establezca la conexión, cuatro tipos de paquetes son intercambiados entre el cliente y el servidor sobre el canal de comunicación: 1. Petición: El cliente pide información al servidor o solicita que éste realice una acción. 2. Respuesta: El servidor responde a una petición. No todas las peticiones generan respuestas. 3. Evento: El servidor informa al cliente de un acontecimiento, tal como la entrada del teclado o del ratón, que una ventana está siendo movida, redimensionada, expuesta, etc. 4. Error: El servidor envía un paquete de error si una petición es inválida. Puesto que las respuestas están en cola, los paquetes de error generados por una petición pueden no enviarse inmediatamente. Los paquetes de la petición y de la respuesta tienen una longitud diversa, mientras que los paquetes de eventos y de error tienen una longitud fija de 32 bytes. Los paquetes de petición son numerados secuencialmente por el servidor tan pronto como los recibe: la primera petición de un cliente se numera 1, la segunda 2, etc. Los 16 bitsmenos significativos del número secuencial de una petición se incluyen en los paquetes de la respuesta y del error, si los hay, generados por la petición. También son incluidos en los paquetes de eventos, para indicar el número secuencial de la petición que el servidor está actualmente procesando o acaba de terminar de procesar.
Ventanas
Una posible colocación de algunas ventanas: 1 es la ventana raíz, que cubre la pantalla entera; 2 y 3 son ventanas de nivel superior; 4 y 5 son subventanas de 2. Las partes de una ventana que están fuera de su padre no son visibles.
Lo que es usualmente llamado "ventana" en la mayoría de las interfaces gráficas de s, en el X Window System se llama "ventana de nivel superior" (top-level window). El término ventana también es usado para denotar las ventanas que descansan dentro de otra ventana, es decir, subventanas de una ventana padre. Los elementos gráficos tales como los botones, menúes, iconos, etc. pueden ser creados usando subventanas. Un cliente puede solicitar la creación de una ventana. Más precisamente, puede solicitar la creación de una subventana para una ventana existente. Como resultado, las ventanas creadas por los clientes se arreglan en forma de un árbol (una jerarquía). La raíz de este árbol es la ventana raíz, que es una ventana especial creada automáticamente por el servidor en el arranque. Todas las otras ventanas son directa o indirectamente subventanas de la ventana raíz. Las ventanas de nivel superior son las subventanas directas de la ventana raíz. Visiblemente, la ventana raíz es tan grande como la pantalla, y descansa detrás del resto de las ventanas. Sin embargo la ventana raíz puede ser más grande que la pantalla, en este caso el puede desplazarse alrededor del área visible. No se garantiza que el contenido de una ventana siempre sea preservado en el tiempo. Particularmente, el contenido de la ventana puede ser destruido cuando la ventana es movida, redimensionada, cubierta por otras ventanas, y en general, hecha no visible total o parcialmente. En particular, el contenido es perdido si el servidor X no está manteniendo un almacenamiento de respaldo del contenido de la ventana. El cliente puede solicitar memoria de respaldo para que una ventana sea mantenida, pero no hay obligación para que el servidor lo haga. Por lo tanto, los clientes no pueden asumir que el almacenamiento de respaldo sea mantenido. Si una parte visible de una ventana tiene un contenido sin especificar, un evento es enviado para notificar al cliente que el contenido de la ventana tiene que ser dibujado otra vez. Cada ventana tiene un conjunto asociado de atributos, tales como la geometría de la ventana (tamaño y posición), la imagen de fondo, si la memoria de respaldo para ella se ha pedido o no, etc. El protocolo incluye las peticiones necesarias para que un cliente pueda inspeccionar y cambiar los atributos de una ventana. Las ventanas pueden ser de InputOutput (entrada-salida) o de InputOnly (soloentrada). Las ventanas que pueden ser mostradas en la pantalla y son usadas para
dibujar contenido son de la primera clase. La segunda clase de ventanas nunca son mostradas en la pantalla; son usadas solo para recibir la entrada.
Anatomía de una ventana FVWM. El área blanca es la ventana como ha sido creada y vista por la aplicación cliente.
El marco decorativo y la barra de título (posiblemente incluyendo botones) que son usualmente vistos alrededor de las ventanas, son creados por el manejador de ventanas, no por el cliente que crea la ventana. El manejador de ventanas también maneja la entrada relacionada con estos elementos, tales como redimensionar la ventana cuando el hace click y arrastra el marco de ventana. Los clientes usualmente operan en la ventana que ellos crearon sin hacer caso de los cambios operados por el manejador de ventanas. Un cambio que tiene que tomar en cuenta el Re-parenting window manager, que casi todos los manejadores de ventanas modernos son, es cambiar la ventana de nivel superior a una ventana que no sea la raíz. Desde el punto de vista del protocolo base, el manejador de ventanas es un cliente, no diferente de otras aplicaciones. Los datos acerca de una ventana pueden ser obtenidos corriendo el programa xwininfo. Pasándole el argumento de línea de comando -tree, este programa muestra el árbol de subventanas de una ventana, junto con sus identificadores y datos de geometría.
Pixmaps y drawables Un pixmap es una región de memoria que puede ser usada para dibujo (drawing) de contenido. A diferencia de las ventanas, los pixmaps no se muestran automáticamente en
la pantalla. Sin embargo, el contenido de un pixmap (o una parte de él) puede ser transferido a una ventana y viceversa. Esto permite técnicas tales como double buffering. La mayoría de las operaciones gráficas que se pueden hacer en ventanas, también se pueden hacer en pixmaps. Las ventanas y los pixmaps son colectivamente llamados drawables (dibujables), y sus contenidos de datos residen en el servidor. Sin embargo, un cliente puede solicitar que el contenido de un drawable sea transferido del servidor al cliente o viceversa.
Los contextos gráficos y las fuentes El cliente puede pedir un número de operaciones gráficas, tales como limpiar un área, copiar un área en otra, dibujar puntos, líneas, rectángulos, y texto. A menos que se diga lo contrario, todas las operaciones son posibles en todos los drawables, tanto en las ventanas como en los pixmaps. La mayoría de los pedidos de operaciones gráficas incluyen un contexto gráfico, que es una estructura que contiene los parámetros de las operaciones gráficas. Un contexto gráfico incluye el color del primero plano, el color del fondo, la fuente del texto, y otros parámetros gráficos. Cuando se pide una operación gráfica, el cliente incluye un contexto gráfico. No todos los parámetros del contexto gráfico afectan a la operación: por ejemplo, la fuente no tiene efecto al dibujar una línea. El protocolo base específica el uso de las fuentes del lado del servidor.6 Tales fuentes son almacenadas como archivos, y el servidor tiene directamente vía el sistema de archivos local o vía la red desde otro programa llamado servidor de fuente. Los clientes pueden pedir la lista de fuentes disponibles al servidor y pueden solicitar que una fuente sea cargada (si ya no lo está) o descargarla del servidor (si no es usada por otros clientes). Un cliente puede pedir la información de carácter general sobre una fuente (por ejemplo, la "subida" (ascent) de la fuente) y el espacio que una específica secuencia de caracteres (string) toma cuando es dibujada con una fuente determinada.
El programa xfontsel permite al ver los glyphs de una fuente.
Los nombres de las fuentes son arbitrarias secuencias de caracteres (strings) en el nivel del Protocolo base de X Window. Las convenciones del X logical font description7 especifican cómo las fuentes deben ser nombradas de acuerdo a sus atributos. Estas convenciones también especifican los valores de las propiedades opcionales que pueden estar adjuntas a las fuentes. El programa xlsfonts imprime la lista de fuentes almacenadas en el servidor. El programa xfontsel demuestra los glyphs de las fuentes, y permite al seleccionar el nombre de una fuente para pegarla en otra ventana. Actualmente se considera desaprobado el uso de las fuentes del lado del servidor a favor de las fuentes del lado del cliente.8 Tales fuentes son renderizadas por el cliente, no por el servidor, con el soporte de las bibliotecas de Xft o de las bibliotecas Cairo y de la extensión de XRender. En el protocolo de base, no hay especificaciónse acerca de fuentes del lado del cliente.
Los recursos y los identificadores Todos los datos sobre ventanas, pixmaps, fuentes, etc., son almacenados en el servidor. El cliente conoce los identificadores de estos objetos - números enteros que usa como nombres para ellos al interactuar con el servidor. Por ejemplo, si un cliente desea que sea creada una ventana, solicita al servidor crear una ventana con un identificador dado. El identificador puede ser usado posteriormente por el cliente para pedir, por ejemplo, que una secuencia de caracteres sea dibujada en la ventana. Los objetos siguientes residen en el servidor y son conocidos por el cliente vía un identificador numérico: • Window • Pixmap
• Font • Colormap (una tabla de colores, descrita abajo) • Graphic context Estos objetos se llaman recursos. Cuando un cliente pide la creación de uno de tales recursos, también específica un identificador para el mismo. Por ejemplo, para crear una nueva ventana, el cliente específica tanto los atributos de la ventana (padre, anchura, altura, etc.) así como también el identificador a asociar con la ventana. Los identificadores son números enteros de 32 bits con sus tres bits más significativos iguales a cero. Cada cliente tiene su propio conjunto de identificadores que puede usar para crear nuevos recursos. Este conjunto es especificado por el servidor como dos números enteros incluidos en el paquete de aceptación (el paquete que envía al cliente para informarle que la conexión es aceptada). Los clientes eligen los identificadores que están en este conjunto de tal manera que no coincidan: dos objetos entre ventanas, pixmaps, fuentes, colormaps, y contextos gráficos, no pueden tener el mismo identificador. Una vez que se ha creado un recurso, su identificador es utilizado por el cliente para pedir operaciones sobre él al servidor. Algunas operaciones afectan al recurso dado (por ejemplo, peticiones de mover ventanas); otros piden datos del recurso almacenados en el servidor (por ejemplo, pedidos para saber las propiedades de las ventanas). Los identificadores son únicos para el servidor, no sólo para al cliente; por ejemplo, no hay dos ventanas que tengan el mismo identificador, incluso si son creadas por dos clientes diferentes. Un cliente puede acceder a cualquier objeto dado su identificador. En particular, también puede tener a los recursos creados por cualquier otro cliente, incluso si sus identificadores están fuera del conjunto de identificadores que puede crear. Como resultado, dos clientes conectados con el mismo servidor pueden usar el mismo identificador para referirse al mismo recurso. Por ejemplo, si un cliente crea una ventana con identificador 0x1e00021 y pasa este número a otra aplicación (vía cualquier medio disponible, por ejemplo almacenando este número en un archivo que es también accesible a la otra aplicación), la otra aplicación puede operar en la misma ventana. Esta posibilidad es explotada, por ejemplo, por la versión X Window de Ghostview: este programa crea una subventana, almacenando su identificador en una variable de
entorno, y llama Ghostscript, el cual dibuja el contenido del archivo PostScript para mostrarlo en esta ventana.9 Los recursos normalmente se destruyen cuando el cliente que los creó cierra la conexión con el servidor. Sin embargo, antes de cerrar la conexión, un cliente puede solicitar al servidor no destruirlos.
Eventos Los eventos son paquetes enviados por el servidor a un cliente para comunicar que ha sucedido algo en lo que el cliente puede estar interesado. Por ejemplo, un evento es enviado cuando el pulsa una tecla o hace click con el botón del ratón. Los eventos no sólo son usados para la entrada: por ejemplo, los eventos son enviados para indicar la creación de nuevas subventanas en una ventana dada. Cada evento es relativo a una ventana. Por ejemplo, si el hace click cuando el puntero del ratón está en una ventana, el evento será relativo a esa ventana. El paquete del evento contiene el identificador de esa ventana. Un cliente puede solicitar al servidor que envíe un evento a otro cliente; esto es usado para la comunicación entre los clientes. Tal evento es generado, por ejemplo, cuando un cliente solicita el texto que actualmente está seleccionado: este evento es enviado al cliente que está actualmente manejando la ventana que tiene la selección. El evento Expose (exposición) es enviado cuando se hace visible un área de una ventana cuyo contenido se ha destruido. El contenido de una ventana puede ser destruido en algunas condiciones, por ejemplo, si la ventana es cubierta y el servidor no está manteniendo un almacenamiento de respaldo. El servidor genera un evento Expose para notificar al cliente que una parte de la ventana tiene que ser redibujada.
Un ejemplo de evento: cuando una tecla es presionada en una ventana, un evento es generado y se envía a un cliente, dependiendo de su máscara de evento de ventana, y que el cliente puede cambiar.
La mayoría de los tipos de eventos son enviados solamente si el cliente previamente manifestó un interés en ellos. Esto es porque los clientes pueden estar interesados solamente en una cierta clase de eventos. Por ejemplo, un cliente puede estar interesado en eventos relacionados con el teclado pero no en eventos relacionados con el ratón. Sin embargo, algunos tipos de eventos son enviados a los clientes incluso si no los han pedido específicamente. Ajustando un atributo de una ventana, los clientes especifican qué tipos de eventos quieren que se les envíen. Por ejemplo, para redibujar una ventana cuando su contenido se ha destruido, un cliente debe recibir los eventos Expose, que le informan que la ventana necesita ser redibujada otra vez. Sin embargo, al cliente se le enviarán los eventos Expose solamente si el cliente ha manifestado previamente su interés en estos eventos, que es hecho apropiadamente ajustando el atributo de máscara del evento de la ventana. Diferentes clientes pueden pedir eventos en la misma ventana. Pueden incluso ajustar diferentes máscaras de evento en la misma ventana. Por ejemplo, un cliente puede solamente pedir eventos del teclado en una ventana mientras que otro cliente pide solamente eventos del ratón en la misma ventana. Esto es posible porque, para cada ventana, el servidor mantiene una máscara de evento separada por cada cliente. Sin embargo, hay algunos tipos de eventos que pueden ser seleccionados solamente por un
cliente a la vez para cada ventana. En particular, los eventos que reportan los click del botón del ratón y algunos cambios relacionados al manejo de la ventana. El programa xev muestra los eventos relativos a una ventana. En particular, xev -id WID pide todos los eventos posibles relativos a la ventana del identificador WID y los imprime.
Los colores En el nivel del protocolo, un color es representado por un entero sin signo de 32 bits, llamado un pixelvalue (valor del pixel). Los elementos siguientes afectan la representación de los colores: 1. la profundidad de color 2. el colormap (mapa de color), el cual es una tabla conteniendo los valores de intensidad de los colores primarios rojo, verde y azul 3. el visual type (tipo visual), que específica cómo es usada la tabla para representar colores En el caso más fácil, el colormap es una tabla conteniendo un triple RGB en cada fila. Un pixelvalue x representa el color contenido en la fila x de la tabla. Si el cliente puede cambiar las entradas en el colormap, esta representación es identificada por la clase visual PseudoColor. La clase visual StaticColor (color estático) es similar, pero el cliente no puede cambiar las entradas en el colormap. Hay un total de seis clases visuales posibles, cada una identificando una manera diferente para representar un triple RGB con un pixelvalue. PseudoColor y StaticColor son dos. El GrayScale (escala de gris) y StaticGray (gris estático) son otras dos, diferenciándose de las anteriores porque solamente son usadas tonalidades de gris. Las dos clases visuales que quedan difieren de las de arriba porque dividen los pixelvalues en tres partes y usan tres tablas separadas para la intensidad del color rojo, verde y azul. De acuerdo a esta representación de color, un pixelvalue se convierte en un triple RGB como sigue: 1. el pixelvalue es visto como una secuencia de bits 2. esta secuencia está dividida en tres partes
3. cada una de estas tres partes de bits se ve como un número entero y es usado como un índice para encontrar un valor en una de tres tablas separadas Este mecanismo requiere que el colormap sea compuesto de tres tablas separadas, una para cada color primario. El resultado de la conversión sigue siendo un triple de valores de intensidad. Las clases visuales usando esta representación son el DirectColor (color directo) y el TrueColor (color verdadero), diferenciándose en si el cliente puede cambiar o no los colormaps. Para representar colores con los pixelvalues, todos estos seis mecanismos requieren algunos parámetros adicionales para trabajar. Estos parámetros se recogen en un visual type(tipo virtual), que contiene una clase visual y otros parámetros de la representación de colores. Cada servidor tiene un conjunto fijo de visualtypes, cada uno asociado a un identificador numérico. Estos identificadores son enteros sin signo de 32 bits, pero no son necesariamente diferentes de los identificadores de recursos o de átomos. Cuando la conexión de un cliente es aceptada, el paquete de aceptación enviado por el servidor contiene una secuencia de bloques, cada uno conteniendo información sobre una simple exhibición en pantalla. Para cada exhibición, el bloque relativo contiene una lista de otros bloques, cada uno relativo a una profundidad de color específica que es soportada por la exhibición en pantalla. Para cada profundidad soportada, esta lista contiene una lista de visualtypes. Como resultado, cada exhibición es asociada con un número de posibles profundidades, y cada profundidad de cada exhibición es asociada con un número de posibles tipos visuales. Un tipo visual dado puede ser usado para más exhibiciones y para diferentes profundidades. Para cada tipo visual, el paquete de aceptación contiene tanto su identificador como los parámetros reales que contiene (visual classs, etc). los clientes almacenan esta información, puesto que no pueden pedirla después. Por otra parte, los clientes no pueden cambiar o crear nuevos tipos visuales. Los pedidos para la creación de una nueva ventana incluyen la profundidad y el identificador del tipo visual a usar para representar los colores de esta ventana. Los Colormaps son usados sin importar si el hardware que controla la pantalla (ej., una tarjeta gráfica), usa una paleta de colores, la cual es una tabla que también es usada para la representación de colores. Los servidores usan los colormaps incluso si el hardware no está usando una paleta de colores. Cuando el hardware usa las paletas de colores, sólo
un número limitado de colormaps pueden ser instalados. Particularmente, un colormap está instalado cuando el hardware muestra colores de acuerdo al mismo. Un cliente puede solicitar el servidor instalar un colormap. Sin embargo, esto puede requerir la desinstalación de otro colormap: el efecto es que las ventanas usando el colormap desinstalado no serán mostradas con el color correcto, un efecto llamado como color flashing o tecnicolor. Este problema puede ser solucionado usando los colormaps estándar, que son colormaps con una asociación predecible entre los pixelvalues y los colores. Gracias a esta característica, los colormaps estándar pueden ser usados por varias aplicaciones. La creación de colormaps es regulada por la convención ICCCM. Los colormaps estándar son regulados por el ICCCM y por la especificación Xlib. Una parte del sistema X Color System (Sistema de Color X) es el X Color Management System (xcms) (Sistema de Manejo de Color X). Este sistema fue introducido con el X11R6 Release 5 en 1991. Este sistema consiste en varias características adicionales en xlib, encontradas en la serie de funciones Xcms*. Este sistema define los esquemas de color independientes del dispositivo que se pueden convertir en sistemas RGB dependientes del dispositivo. El sistema consiste en las funciones Xcms* del xlib como también la X Device Color Characterization Convention (XDCCC) que describe cómo convertir los varios sistemas de color independientes del dispositivo en sistemas de color RGB dependientes del dispositivo. Este sistema soporta los sistemas de color CIE XYZ, xyY, L *u*v y L *a*b también como el TekHVC.[1], [2]
Átomos Los átomos son enteros de 32 bits representando strings. Los diseñadores del protocolo introdujeron los átomos porque representan strings en un tamaño corto y fijo:10 mientras que un string puede ser arbitrariamente largo, un átomo es siempre un entero de 32 bits. La brevedad del átomo fue explotada asignando por mandato su uso en las clases de paquetes que son probables de ser enviados muchas veces con los mismos strings; esto resulta en un uso más eficiente de la red. El de tamaño fijo de los átomos fue explotado especificando un de tamaño fijo para los eventos, nombrado 32 bytes: los paquetes de tamaño fijo pueden contener átomos, mientras que no pueden contener strings largos.
Precisamente, los átomos son identificadores de strings almacenados en el servidor. Son similares a los identificadores de los recursos (Windows, Pixmaps, etc.) pero se diferencian de ellos de dos maneras. Primero, los identificadores de átomos son elegidos por el servidor, no por el cliente. En otras palabras, cuando un cliente solicita la creación de un nuevo átomo, éste solamente envía el servidor el string a ser almacenado, no su identificador; este identificador es elegido por el servidor y devuelto como contestación al cliente. La segunda diferencia importante entre los recursos y los átomos es que los átomos no están asociados a los clientes. Una vez que se han creado, un átomo sobrevive hasta que el servidor termine o se resetée (éste no es el comportamiento por defecto de los recursos). Los átomos son identificadores y son por lo tanto únicos. Sin embargo, un átomo y un identificador de recurso pueden coincidir. El string asociado con un átomo es llamado el nombre del átomo. El nombre de un átomo no puede ser cambiado después de la creación, y ninguno de dos átomos pueden tener el mismo nombre. Como resultado, el nombre de un átomo es comúnmente usado para indicar al átomo: "El átomo ABCD" significa, más precisamente, "el átomo cuyo string asociado es ABCD", o "el átomo cuyo nombre es ABC". Un cliente puede solicitar la creación de un nuevo átomo y puede solicitar para el átomo (el identificador) de un string dado. Algunos átomos están predefinidos (creado por el servidor con un identificador y string dados). Los átomos son usados para un número de propósitos, sobre todo relacionados con la comunicación entre diversos clientes conectados con el mismo servidor. En particular, son usados en asociación con las propiedades de las ventanas, que son descritas más abajo. La lista de todos los átomos que residiendo en un servidor puede ser impresa usando el programa xlsatoms. En particular, este programa imprime cada átomo (el identificador, es decir, un número) con su nombre (su string asociado).
Propiedades Cada ventana tiene un conjunto predefinido de atributos y un conjunto de propiedades, todos almacenados en el servidor y accesible a los clientes por medio solicitudes apropiadas. Los atributos son datos acerca de una ventana, como su tamaño, posición, color de fondo, etc. Las propiedades son piezas arbitrarias de datos atados a una ventana. Al contrario de los atributos, las propiedades no tiene ningún significado a nivel
del protocolo base de X Window. Un cliente puede almacenar datos arbitrarios en una propiedad de una ventana. Las propiedades son usadas sobre todo para la comunicación cliente a cliente. Una propiedad es caracterizada por un nombre, un tipo, y un valor. Las propiedades son similares a las variables en lenguajes de programación imperativos, en que un cliente puede crear una nueva propiedad con un nombre y un tipo dados y almacenar un valor en él. Las propiedades están asociadas a las ventanas: dos propiedades con el mismo nombre pueden existir en dos diferentes ventanas mientras tengan diferentes tipos y valores. El nombre, el tipo, y el valor de una propiedad son strings; más precisamente, son átomos, es decir, string almacenadas en el servidor y accesibles a los clientes vía identificadores. Una aplicación de cliente puede acceder a una propiedad dada usando el identificador del átomo que contiene el nombre de la propiedad. Las propiedades son usadas sobre todo para la comunicación inter-cliente. Por ejemplo, la propiedad llamada WM_NAME (la propiedad nombrada por el átomo cuya secuencia asociada es “WM_NAME”) es usada para almacenar el nombre de las ventanas. Los manejadores de ventana típicamente leen esta propiedad para exhibir el nombre de las ventanas en su barra de título. Algunos tipos de comunicación inter-cliente usan las propiedades de la ventana raíz. Por ejemplo, según la especificación del manejador de ventana de freedesktop.org,11 los manejadores de ventana deben almacenar el identificador de la ventana actualmente activa en la propiedad nombrada _NET_ACTIVE_WINDOW de la ventana raíz. Los X resources, que contienen parámetros de programas, también son almacenados en las propiedades de la ventana raíz; de esta manera, todos los clientes puede tener , incluso si corren en diferentes computadores. El programa xprop imprime las propiedades de una ventana dada; xprop -root imprime el nombre, el tipo, y el valor de cada propiedad de la ventana raíz.
Xlib
Xlib www.x.org Documentación
Información general Desarrollador(es) X.Org Foundation Lanzamiento inicial 1985 1.5.0 Última versión estable 6 de junio de 20121 Género Biblioteca gráfica Programado en C Sistema operativo Unix like Plataforma X Window System Licencia Licencia de The Open Group1 Estado actual activo En español No [editar datos en Wikidata]
Xlib es una biblioteca que reúne un conjunto de funciones y macros realizadas en el lenguaje de programación C y utilizadas por un cliente para hacer de interfaz con el servidor gráfico de X Window System.1 En resumen, es una interfaz de programación de bajo nivel para X11. Xlib está basada en la filosofía de eventos (o mensajes). La biblioteca apareció alrededor del 1985. Algunas aplicaciones utilizan directamente Xlib, sin embargo es muy común que se utilicen bibliotecas que a la vez la utilizan, entre ellas se encuentran: X Toolkit Intrinsics (Xt), Xaw, XView, Motif, GTK+, Qt (versión para X11), Tk. Xlib proporciona un método relativamente sencillo para realizar peticiones de protocolo X al servidor. Incluye funciones para realizar más livianamente las tareas más frecuentes, permitiendo al programador no usar el protocolo X para dichas tareas. Proporciona rutinas para facilitar la labor de crear y manipular recursos básicos (ventanas, contextos gráficos,...), el dibujo de elementos gráficos (botones, líneas,...) o generar la entrada y salida de texto, entre otros.
Índice [ocultar]
• 1Estructuras y tipos de datos • 2Funciones • 2.1Archivos de encabezados • 2.2Convenios de nombres de funciones y estructura de datos • 2.3Errores • 3Interacción con el Protocolo X • 4Ejemplo • 5Otras bibliotecas • 6Véase también • 7Referencias • 7.1Bibliografía • 8Enlaces externos
Estructuras y tipos de datos
Xlib y otras bibliotecas que la utilizan.
Los tipos de datosprincipales en Xlib están en la estructuraDisplay2 y en los tipos de los identificadores. Display, que viene del inglés y en español es pantalla, informalmente significa un dispositivo físico o virtual donde se realizan las operaciones gráficas. La estructura Display en la biblioteca Xlib contiene información acerca de la pantalla, aunque también contiene información acerca del canal entre el cliente y el servidor gráfico. Por ejemplo, en un sistema operativo unix-like, la estructura Display contiene un manipuladar de archivo del socket de ese canal (que se puede recuperar usando la macro ConnectionNumber.) La mayoría de las funciones de Xlib tienen una estructura Display como uno de los argumentos para permitirle operar en un canal en específico. En particular, todas las funciones de Xlib que interactúan con el servidor gráfico necesitan de esta estructura para acceder al canal. Algunas otras funciones necesitan de esta estructura, aunque operen localmente, porque operan sobre datos relativos a un canal en específico. Operaciones de esta clase incluyen por ejemplo operaciones sobre una cola de mensajes. El servidor maneja las ventanas, los mapas de color, etc., lo cual significa que los datos acerca de su implementación se almacenan en el servidor. El cliente opera sobre esos objetos utilizando identificadores. El cliente no puede actuar directamente sobre un objeto, solo puede pedírselo únicamente al servidor para que éste realice la operación especificada por el identificador de un objeto. Los tipos Windows, Pixmap, Font, Colormap, etc. son todos identificadores, los cuales son enteros de 32 bits (como los del mismo protocolo X11). Un cliente "crea" una ventana haciendo un pedido al servidor. Esto se realiza haciendo una llamada a una función de Xlib que devuelve un identificador para la ventana, que es, un número. El identificador puede ser usado por el cliente para poder realizar otras operaciones sobre la misma ventana en el servidor. Los identificadores son únicos para el servidor. La mayoría pueden ser utilizados por diferentes aplicaciones para hacer referencia a los mismos objetos. Por ejemplo, dos aplicaciones se conectan al mismo servidor usando el mismo identificador para referirse a la misma ventana. Estas dos aplicaciones pueden utilizar dos canales diferentes, y tener
dos diferentes estructuras Display; sin embargo, cuando hagan un pedido de operación con el mismo identificador, estas se harán sobre el mismo objeto.
Funciones Proporcionan a una aplicación la posibilidad de: abrir una presentación X, crear ventanas y escribir en ellas, recuperar eventos y cerrar la presentación. Casi todas las funciones se ejecutan de forma asíncrona y son peticiones enviadas a un buffer de salida. Para el trabajo en modo síncrono se requiere de Xsync tras la función de Xlib que se quiere ejecutar en modo síncrono. Las funciones de la biblioteca Xlib pueden agruparse en: 1. operaciones de conexión (XOpenDisplay, XCloseDisplay,...); 2. requerimientos al servidor, incluyendo requerimientos para operaciones (XCreateWindow, XCreateGC,...) y requerimientos de información (XGetWindowProperty,...); y 3. operaciones del cliente: de eventos (XNextEvent, XPeekEvent,...) y otras operaciones de datos locales (XLookupKeysym, XParseGeometry, XSetRegion, XCreateImage, XSaveContext,...)
Archivos de encabezados Los archivos de encabezado son: # include <X11/Xlib.h> # include <X11/Xutil.h> # include <X11/Xos.h>
Convenios de nombres de funciones y estructura de datos Funciones y macros Se encadenan palabras, la primera letra de cada una de ellas en mayúsculas. Ejemplo: NumeroDias. El nombre de las funciones empiezan con X mayúsculas. El nombre de las macros jamás lo hace. Símbolos externos de X
Las variables están expresadas en minúsculas, y en las macros se utilizan todas mayúsculas. Los nombres compuestos son separados por el guion bajo "_" Órdenes de los argumentos en las llamadas a funciones 1. Presentación: El argumento Display, si aparece, siempre es el primero en la lista de los argumentos. 2. Ventanas, fuentes y otros recursos X: El contexto Gráfico siempre va detrás de todos los de este tipo. 3. Fuente y destino: Algunas funciones toman algo de uno o más argumentos (fuentes), y depositan el resultado en otros (destino). Las fuentes van antes del destino. 4. x, y anchura y altura: (x, y son las coordenadas) El orden de aparición es tal cual se muestra. 5. Máscara de bits: Para cambiar algún miembro de la estructura se debe utilizar una máscara de bits. Si una función tiene una máscara de bits como argumento, la máscara precede al puntero de la estructura.
Errores Hay funciones en Xlib que devuelven un entero (resourceID), este referencia a objetos del servidor X (Window, Font, Pixmap, Colormap, Cursor y Gcontext) Hay funciones que devuelven un entero, si se encuentra a cero puede considerarse un error.
Interacción con el Protocolo X El protocolo X tiene una arquitectura cliente/servidor. Se pueden transferir cuatro tipos de paquetes mediante este protocolo: 1. Peticiones: el cliente solicita algo al servidor. 2. Réplicas: las envía el servidor al cliente para responderle a determinadas peticiones. 3. Eventos: el servidor se los envía al cliente y el cliente indicará para cada ventana que eventos quieren recibir. 4. Errores: los envía el servidor Casi todas las rutinas en Xlib son peticiones. Xlib encola dichas peticiones con lo que el cliente puede continuar ejecutándose. Esto se debe a que la gran parte de las llamadas a Xlib no requieren de una respuesta inmediata. Si hay algún problema: buffer lleno,
petición de evento,… las peticiones que quedarán en el buffer y no se enviarán al servidor. Xlib envía el buffer al completo en las siguientes situaciones: 1. Cuando una aplicación llama a una rutina que espera un evento y la cola de eventos no contiene ninguno del tipo que se solicitó 2. En los caso de las rutinas Query, Fetch o Get. Pues se requiere la información del servidor inmediatamente. 3. Se envía manualmente el buffer con: Xflush (Display *d) (vacía el buffer de peticiones y las envía al servidor) o Xsync (Display *d Bool discardEvents) (vacía el buffer de salida y espera a que las peticiones sean atendidas por el servidor X)
Ejemplo El siguiente programa crea una ventana con un pequeño cuadrado negro dentro: /* Aplicación simple que usa Xlib, una ventana con un cuadrado negro en su interior */
#include <X11/Xlib.h> #include <stdio.h> #include <stdlib.h> #include <string.h>
int main(void) { Display *d; Window w; XEvent e; char *msg = "¡Hola, Mundo!"; int s;
/* abrir la conexión con el servidor gráfico*/ d = XOpenDisplay(NULL); if (d == NULL) { fprintf(stderr, "No se pudo conectar al servidor gráfico\n"); exit(1); }
s = DefaultScreen(d);
/* crea la ventana */ w = XCreateSimpleWindow(d, RootWindow(d, s), 10, 10, 100, 100, 1, BlackPixel(d, s), WhitePixel(d, s));
/* selecciona la clase de eventos que interesan */ XSelectInput(d, w, ExposureMask | KeyPressMask);
/* muestra la ventana */ XMapWindow(d, w);
/* lazo de eventos */ while (1) { XNextEvent(d, &e); /* dibujar o redibujar la ventana */ if (e.type == Expose) { XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10); XDrawString(d, w, DefaultGC(d, s), 50, 50, msg, strlen(msg)); } /* salir si se presionó una tecla */ if (e.type == KeyPress) break; }
/* cerrar la conexión al servidor gráfico */ XCloseDisplay(d);
return 0; }
El cliente crea una conexión con el servidor llamando a la función XOpenDisplay. Luego pide la creación de la ventana con XCreateSimpleWindow. Una llamada más, a XMapWindow, se necesita para mapear la ventana en la pantalla, es decir para que sea visible. El cuadrado se dibuja llamando a XFillRectangle. Esta operación solo puede realizarse cuando la ventana se crea. Sin embargo una vez realizado esto no es suficiente, de hecho, el contenido de la ventana no siempre está garantizado que se
preserve. Por ejemplo, si la ventanta es cubierta o descubierta, se necesita que su contenido sea redibujado. El programa está informado de que la ventana o parte de ella debe dibujarse o redibujarse mediante la recepción de un evento Expose. El redibujado del contenido está dentro de un lazo para eventos. Antes que entre a este lazo, se establece la clase de eventos de la aplicación, en este caso se realiza con la llamada a XSelectInput. El lazo de evento espera por la llegada de un evento: si el evento es una tecla presionada, la aplicación termina; si el evento es Expose, se redibuja el contenido de la ventana. La función XNextEvent bloquea y vuelca el buffer requerido si no hay ningún evento en la cola.
Otras bibliotecas Xlib provee lo fundamental para interactuar con el servidor X, pero utilizar sólo Xlib puede llegar a ser muy complicado. Por ello, se han ido construyendo interfaces de más alto nivel como: Xt (X Toolkit Intrinsics) y sus derivados (Motif y Xaw), Qt o GTK+. La biblioteca de XCB está recomendada por X.Org como reemplazo de Xlib, ya que provee un de bajo nivel más eficiente y simple, y no se recomienda el uso de Xlib para nuevos desarrollos.3
GNOME
GNOME www.gnome.org
Modelo de desarrollo Desarrollador(es) Lanzamiento inicial Última versión estable Género Programado en Sistema operativo Licencia Idiomas En español
Captura de GNOME 3.18 Información general Software libre Fundación GNOME, The GNOME Project yProyecto GNU 3 de marzode1999 3.241 22 de marzode2017(4 mesesy15 días) Entorno de escritorio C,C++,Python,Vala,Genie,JavaScript2 Multiplataforma LGPL,GPL Multilingüe (166 idiomas) Sí Versiones GNOME ·GNOME Shell
[editar datos en Wikidata]
GNOMEes unentorno de escritorioe infraestructura de desarrollo parasistemas operativosGNU/Linux,Unixy derivados Unix comoBSDoSolaris; compuesto enteramente desoftware libre. El proyecto fue iniciado por los programadores de software libre mexicanosMiguel de IcazayFederico Menay forma parte oficial del proyectoGNU. Nació como una alternativa aKDEbajo el nombre deGNUNetworkObjectModelEnvironment(Entorno de Modelo de Objeto de Red GNU). Actualmente, incluyendo alespañol, se encuentra disponible en 166 idiomas. Índice [ocultar]
• 1Objetivo • 2Manejo básico • 3Arquitectura
• 4Funcionamiento • 5Adopción • 6Historial de versiones • 6.1Versión actual (3.x) • 6.2Versiones anteriores • 7Código fuente • 8Véase también • 9Referencias • 10Enlaces externos
Objetivo El Proyecto GNOME, según sus creadores, provee un gestor de ventanas «intuitivo y atractivo» y una plataforma de desarrollo para crear aplicaciones que se integran con el escritorio. El Proyecto pone un gran énfasis en la simplicidad, facilidad de uso y eficiencia. Tiene como objetivo la libertad para crear un entorno de escritorio que siempre tendrá el código fuente disponible para reutilizarse bajo una licencia de software libre.
Manejo básico Cuando se inicia una sesión, se accede al escritorio que cuenta coniconospara acceder rápidamente aaplicacionesy con menús que permiten iniciar programas. También es posible usar varios espacios de trabajo, cada uno como un escritorio independiente de los demás, permitiendo pasar aplicaciones de un espacio de trabajo a otro arrastrándolas con elratón. El botón izquierdo del ratón permite elegir una opción de un menú o activa un icono. El botón derecho tiene diversas aplicaciones de acuerdo al contexto, como por ejemplo permite configurar los iconos. El botón central del dispositivo permite pegar el texto que se hubiera seleccionado con el ratón. Las combinaciones de pulsaciones y arrastre son similares a las ofrecidas en los entornos de otros sistemas operativos. Como otros escritorios, es posible configurar en GNOME los menús, los iconos, las tipografías, el fondo, el protector de pantalla, el tema, el de ventanas, el sonido, la interacción con las ventanas y otros detalles según las preferencias del .
Para efectuar algunas de las configuraciones el puede emplear opciones de los menús GNOME, el ratón (por ejemplo para istrar los iconos que hay sobre el escritorio), el programa «Centro de control GNOME» y eventualmente, los archivos de configuración delsistema de ventanas X. Elgestor de ventanasofrece las prestaciones típicas de los entornos gráficos, en lo que concierne al uso, disposición y manipulación de ventanas. Es posible modificar la apariencia del aspecto visual, mediante la instalación, configuración y personalización de temas visuales. El entorno GNOME incluye múltiples herramientas, como la calculadoragcalctool; el editor de textogedit; el calendarioGNOMEcal, reproductor multimedia y muchas otras aplicaciones.
Arquitectura Un gran número de diferentes proyectos engloban al proyecto GNOME. Algunos de estos son: • Bonobo: tecnología (obsoleta en las actuales versiones) de arquitectura de programación. • GConf: almacenamiento de configuración del sistema. • GVFS: sistema de archivos virtual. • GNOME Keyring: sistema de seguridad. • GNOME Print: sistema de impresión de documentos. • Gstreamer: elframeworko «esqueleto» multimedia para aplicaciones. • GTK+: bibliotecas para desarrollarinterfaces gráficas de . • ATK:bibliotecaspara ofrecer accesibilidad, por ejemplo, a personas con alguna discapacidad. • Pango: biblioteca para el diseño y renderizado de texto internacional. • Cairo: biblioteca derenderizaciónavanzada de controles de aplicación • LibXML: bibliotecaXML. • Orbit: unCORBA ORBpara componentes software. • Metacity: de ventanas. • HIG: investigación y documentación iniciadas por Sun Microsystems para aumentar la facilidad de uso.
• Nautilus: de archivos. • gucharmap: mapa de caracteresUNICODE. • SteamOS: Sistema derivado a video-juegos, desarrollado por la empresa estadounidenseValve Corporation.
Funcionamiento Diseñado originalmente paraGNU/Linux, en la actualidad GNOME se ejecuta en la mayoría de sistemas tipo Unix y fue adoptado por la desaparecida empresaSun Microsystemscomo parte del escritorioJava, sustituyendo el antiguo escritorio común de su plataformaSolaris. También es el entorno de escritorio predeterminado de muchas distribuciones de escritorio GNU/Linux de uso frecuente y con grandes comunidades, comoFedorayRed Hat Enterprise Linux. EnUbuntu, fue entorno por defecto hasta la llegada deUnityen la versión 11.04, sin embargo es posible alternar en la misma distribución entre Unity y GNOME. En el año 2013 con la versión 13.04 de Ubuntu, fue presentado conjuntamente el derivado oficial llamadoUbuntu GNOME. Sin embargo, se anunció el 5 de abril de 2017 que volvería a ser implementado con el entorno GNOME por defecto.3 Una lista de las distribuciones de GNU/Linux que incluyen GNOME se mantiene en la web de GNOME. Existe una versión oficial de GNOME para los llamadosLiveCDyLiveUSB, que permite que un computador arranque directamente desde elCD-ROMy unamemoria USB, respectivamente, y así poder probar el escritorio.
Adopción Un gran número dedistribuciones Linuxhan adoptado al escritorio GNOME como su entorno gráfico predeterminado, entre ellas se encuentranDebian,Fedora,Linux Mint,Trisquel GNU/Linux,gNewSenseyBeakos GNU/Linux. Pero, tras la salida de la versión 3 del escritorio que abandonó el paradigma impuesto porMicrosoft Windows, algunos proyectos han reemplazado su apariencia a través de extensiones delshellpara asemejarla al entorno clásico de la versión 2 (comoLinux Mint12), aunque en el caso de Ubuntu, su creadoraCanonicaldesarrolló su propia interfaz Unity y en otros casos se ha dejado de usar GNOME como entorno (como Ubuntustudio que empezó a usarXFCE). Esto no significa que todas las distribuciones hayan dejado GNOME, aún hay
distribuciones como Fedora o Mandriva que siguen usándolo. A su vez, tras el lanzamiento de la versión 3 de GNOME algunos s descontentos también han optado por migrar a XFCE o usar labifurcaciónde GNOME 2 llamadaMATE. Para el año 2017, en abril, Canonical anuncia por medio de un post escrito por su fundador y actual CEO, que Ubuntu abandona el proyecto de la convergencia y a su vez, se cancela el desarrollo del entorno de escritorio que había reemplazado a GNOME desde la salida de su tercera versión. De esa manera, Ubuntu vuelve a adoptar a GNOME, en esta ocasión en su versión 3, como el entorno de escritorio por defecto. Véase también:Anexo:Comparación
de distribuciones Linux
Historial de versiones
• GNOME 2.6, marzo de 2004
• GNOME 2.20, septiembre de 2007
• GNOME 2.30, marzo de 2010
• GNOME 3.2, septiembre de 2011
Versión actual (3.x)
GNOME Shell, el entorno de escritorio introducido en GNOME 3.0.
La versión 3.0 de GNOME fue lanzada el 6 de abril de 2011. Fue anunciada en la conferencia GUADEC enEstambulen julio de 2008. El nombre códigoToPaZfue posteriormente introducido dentro del proyecto y variosbosquejosfueron creados como parte del proceso de elaboración de la nueva versión.[citarequerida]Aunque la nueva versión trae muchos cambios, la principal novedad es la inclusión deGNOME Shell. La versión iba a ser lanzada en septiembre de 2010, pero en julio del mismo año el equipo desarrollador decidió posponer el lanzamiento para el mes de marzo, lanzando en su lugar la versión 2.32. En septiembre, la fecha fue nuevamente retrasada hasta abril de 2011. El 23 de febrero de 2016 se anunció la versión 3.204 y el 22 de marzo de 2017 fue presentada la versión 3.24, cuyo nombre código esPortland.1
Versiones anteriores Versió n
1.0 1.0.53
Fecha
Información
Agosto de 1997
Se anunció el comienzo del desarrollo de GNOME.5
Marzo de 1999
Publicada la primera versión de GNOME.6
Octubre de «October»7 1999
1.2
Mayo de 2000
«Bongo»8
1.4
Abril de 2001
«Tranquility»9
2.0
Junio de 2002
Revisión mayor, primera basada enGTK+2. Se introducen lasHuman Interface Guidelines.10
2.2
Febrero de Mejoras en el gestor de archivos y de medios.11 2003
2.4
Septiembre «Temujin»: Introducción deEpiphany, compatibilidad con accesibilidad.12 de 2003
2.6
Marzo de 2004
Nautilusse convierte en un gestor de archivos espacial, y se introduce un nuevo diálogo selector de archivos en GTK+. Debido a los cambios introducidos en esta versión, se creó unabifurcaciónllamada GoneME, que duró poco.13
2.8
Septiembre Se mejoró la compatibilidad con dispositivos extraíbles. Esta versión de 2004 introduce el softwareEvolution.14
2.10
Marzo de 2005
2.12
Mejoras en Nautilus; se mejoró el funcionamiento de copiar y pegar entre distintas aplicaciones, y se añadió integración con estándares de Septiembre freedesktop.org. Añade: el visor de documentos PDFEvince; el de 2005 temaClearlooks; el editor de menús; elgestor de contraseñasy herramientas istrativas. Versión basada en GTK+ 2.8, compatible con Cairo.16
Mejoras de rendimiento; se reducen los requerimientos de memoria. Añade:applets(miniaplicaciones) de (control del módem, montador de unidades, papelera); y las aplicacionesTotemySound Juicer.15
Mejoras drásticas de rendimiento; mejoras en usabilidad en las preferencias del ;frameworkmultimediaGStreamer0.10. Añade: la aplicación de videoconferenciasEkiga; la herramienta de búsqueda Deskbar; el editor de bloqueos Pessulus; cambio rápido de y la herramienta de istración del sistema Sabayon.17
2.14
Marzo de 2006
2.16
Mejoras de rendimiento. Añade: la aplicación para tomar notasTomboy; el analizador de uso del discoBaobab; el lector de pantallaOrca; el gestor de Septiembre energía de GNOME; mejoras a Totem y Nautilus; Metacity gana de 2006 compatibilidad decomposición; nuevo tema de iconos. Basado en GTK+ 2.10 que incluye un nuevo diálogo de impresión.18
Más mejoras de rendimiento. Añade: la aplicación de seguridadSeahorseque permite cifrar conGPGmensajes de correo-e y archivos; el analizador de uso en disco Baobab se mejoró para permitir uan vista de gráfico de anillo; mejoras a Evince, Epiphany, el control de volumen y el gestor de energía; dos juegos nuevos, GNOME Sudoku y glchess. Codificación de audio MP3 y AAC.19
2.18
Marzo de 2007
2.20
Lanzamiento de décimo aniversario. Evolution ahora puede hacer respaldos; mejoras en Epiphany, Eye of GNOME y el gestor de energía; Seahorse ahora Septiembre gestiona las contraseñas usando elanillo de claves. Añade: edición de de 2007 formularios PDF en Evince; búsqueda integrada en los diálogos de archivos; instalador automático decódecs.20 Se añadeCheese, una herramienta para tomar fotos con la cámara web; y Vinagre; mejoras enMetacity; se introduce el sistema de archivosGVFS; se mejora la reproducción de vídeos deYouTube, DVD y se añade compatibilidad conMythTVen Totem; la miniaplicación del reloj en el ahora muestra relojes internacionales; Evolution gana compatibilidad con Google Calendar y etiquetado de mensajes; mejoras en Evince, Tomboy, Sound Juicer y la Calculadora.21
2.22
Marzo de 2008
2.24
Se añade el mensajero instantáneoEmpathy,Ekiga3.0, navegación por Septiembre pestañas en Nautilus, mejor compatibilidad con configuraciones de pantallas de 2008 múltiples y televisión digital.22
2.26
Marzo de 2009
2.28
Se añade un módulo de gestión de Bluetooth. Mejoras en Epiphany, Septiembre Empathy, Time Tracker, y accesibilidad.GTK+se actualiza a la versión de 2009 2.18.24
2.30
Marzo de 2010
2.32
Se agrega Rygel y el Gestor de color de GNOME. Mejoras a Empathy, Septiembre Evince, Nautilus y otros. Se pretendió que la versión 3.0 fuera lanzada en de 2010 este mes, así que gran parte del desarrollo se enfocó en esa versión.26
Nueva aplicación para crear y grabar discos,Brasero; mejoras en el reproductor de medios, compartir archivos simplificado, compatibilidad conmonitores múltiplesy lectores de huellas dactilares.23
Mejoras en Nautilus, Empathy, Tomboy, Evince, Time Tracker, Epiphany y Vinagre. Se añade compatibilidad parcial con dispositivos iPod y iPod Touch. UsaGTK+2.20.25
Se introduceGNOME Shell. Se rediseña completamente el entorno de configuración del sistema, con menos opciones y una interfaz maś clara. La ayuda se rediseñó para ser orientada a acciones, basada en el lenguaje de marcadoMallard. Nueva gestión de ventanas con «semi-maximización» lado a lado de la pantalla. Nuevo tema, Adwaita, y nueva tipografía predeterminada, Cantarell. Se adoptó GTK+ 3.0 con mejoras técnicas de desarrollo y remoción de diversas API obsoletas.27
3.0
Abril de 2011
3.2
Nuevo para gestionar «cuentas en línea» de os, documentos, charla, correo y calendario. Compatibilidad con aplicaciones web; nuevos Septiembre gestores de documentos y os; previsualización rápida de archivos en de 2011 el gestor de archivos; diversas mejoras en el tema, rediseño de la pantalla de inicio de sesión y mejoras de rendimiento.28
3.4
Marzo de 2012
Nuevo aspecto para las aplicaciones de Documents, Epiphany (ahora llamadoWeb) y s. Agregada la opción de búsqueda de documentos desde la sección de Actividades. Nuevos fondos de escritorios animados.
Mayor compatibilidad de hardware. Agregada Vido conferencia y mensajería en línea en Empathy. Mejor accesibilidad: Mejor integración de Orca, mejoría en el modo de alto contraste y nueva opción de zum.29 Componentes del núcleo actualizados: Nuevo aspecto en la visualización de las aplicaciones, entre las más usadas y todas. Nuevos métodos de salida en el intercambiador OSD. La barra de mensajes y notificaciones, ahora reacciona según la fuerza del puntero sobre el borde de la pantalla. Se agregó una vista clásica, para aquellos que prefieren un escritorio más convencional. La aplicación de preferencias de GNOME posee un nuevo diseño en su barra. Un nuevo asistente de configuración inicial. El servicio de cuentas en línea de GNOME, incorpora nuevos servicios. El navegador por defecto Web, ahora utiliza WebKit2; como así también incorpora un modo de navegación privado. Actualizaciones y mejoras varías en GNOME Boxes, Documents, s y Files. Se introdujo una aplicación de relojes y estado climático.30
3.8
Marzo de 2013
3.10
Área de estado rediseñada y aparición de barras de cabecera. Añade Septiembre "Software" un programa para buscar e instalar aplicaciones. Creación de un de 2013 nuevo entorno de trabajo de geolocalización. Actualización rutinaria de programas respecto a la versión. Se añade soporte a Wayland.31
3.12
26 de marzo de 201432
3.14
Se agregaron nuevas animaciones en general para mejorar la experiencia. Se mejoró el soporte multitouch y ahora se pueden hacer gestos como swipe o 24 de zoom con los dedos, así como gestos propios para controlar la interfaz de septiembre GNOME. El visor para PDF Evince ha sido rediseñado, entre otras de 2014 aplicaciones como Sudoku o Minas; en Fotos se pueden importar las fotos de Google drive o Picasa, Software ahora soporta app add-ons y GTK es actualizado a su versión 3.14.
3.16
Esta versión incluye 33,525 cambios gracias a 1043 autores. El cambio más remarcable es el aspecto visual del entorno, siendo el tema de la shell y la vista de actividades lo que más destaca; junto a esto, la pantalla de inicio de sesión, los menús del sistema y muchos otros elementos también reciben el nuevo tema, de tal forma en que el escritorio logra un aspecto flat más conseguido y moderno. La bandeja de mensajes ha sido reemplazada por una nueva lista de mensajes que hace más sencillo su . La aplicación de archivos ha recibido mejoras funcionales y visuales, como la vista de rejilla y de lista, la primera ahora ofrece miniaturas más grandes y la segunda muestra las filas de una manera más cómoda. El visor de imágenes se ha rediseñado, con nuevos controles para redimensionar las imágenes y con una barra de propiedades más agradable a la vista. También se lanzan las vistas previas de nuevas aplicaciones que serán mejoradas en el futuro, siendo una aplicación de calendario, que está integrado con las cuentas en línea, una nueva aplicación de caracteres, que facilita el a los caracteres con una barra de búsqueda, una nueva aplicación para leer libros electrónicos, y un IDE, Builder, que posee una interfaz de fácil adaptación, que es minimalista, moderna y agradable a la vista.
25 de marzo de 2015
La apliación "Software" presenta mejoras notables. La aplicación de Gedit y Videos han sido completamente rediseñadas. Se han pulido detalles de la interfaz de . Se añade soporte para pantallas de alta resolución. Posibilidad de crear carpetas de aplicaciones en el Shell.33
Código fuente Conforme van saliendo nuevas versiones, el equipo del proyecto GNOME sube el código fuente al Servidor FTP34 que a su vez contiene el código fuente de todas las versiones anteriores. Un dato importante para destacar es que es posible configurar la compilación del código fuente mediantescripts. La mayoría de los proyectos que utilizan GNOME, proporcionan versiones estables y probadas, facilitando la instalación o bien lo hacen por medio de paquetes binarios precompilados.
KDE
Este artículo o sección se encuentra desactualizado. La información suministrada ha quedado obsoleta o es insuficiente.
KDE Experience Freedom!
Tipo Industria Fundación Fundador(es) Productos
Community Software libre Matthias Ettrich(1996 de octubrede14(2002 años,9 mesesy-1960 días)) Matthias Ettrich KDE Frameworks,KDE Plasma,KDE Applications,Calligra Suite,KDevelop,Amarok,
Sitio web
etc. kde.org
[editar datos en Wikidata]
KDEes una comunidad internacional que desarrollasoftware libre. Produce unentorno de escritorio, multitud deaplicacionese infraestructura de desarrollo para diversos sistemas operativos comoGNU/Linux,Mac OS X,Windows, etc. Los principales componentes de software elaborados por KDE se agrupan bajo el nombreKDE Frameworks,KDE PlasmayKDE Applications. Las aplicaciones KDE están traducidas a aproximadamente 75 idiomas1 y están construidas con los principios de facilidad de uso y de accesibilidad moderna en mente. Las aplicaciones deKDE Applicationsfuncionan de forma completamente nativa enGNU/Linux,BSD,Solaris,WindowsyMac OS X. La «K», originariamente, representaba la palabra «Kool»,2 pero su significado fue abandonado más tarde. Las otras dos siglas, «DE», describen su utilidad como entorno de escritorio (en inglés,Desktop Environment). Lamascotade la comunidad es un pequeñodragónllamadoKonqi. Índice [ocultar]
• 1Pilares • 1.1Filosofía y uso • 2Historia • 2.1KDE 1 • 2.2KDE 2 • 2.3KDE 3 • 2.4KDE Software Compilation 4 • 3Organización del proyecto • 4Arquitectura • 4.1General • 4.2Aplicaciones • 4.3Tecnologías • 5Lanzamientos
• 5.1Información general • 5.2Lanzamientos mayores • 5.3Lanzamientos menores • 6KDE y Wikipedia • 7Distribuciones • 8Críticas • 9Véase también • 10Referencias • 11Enlaces externos
Pilares Filosofía y uso
Kandalf, antigua mascota de KDE.
Konqi, antigua mascota de KDE.
El entorno KDE se basa en el principio de la personalización; todos los componentes de KDE pueden ser configurados en mayor o menor medida por el . Las opciones más comunes son accesibles en su mayoría desde menús y diálogos de configuración. Los s avanzados pueden optar por editar los archivos de configuración
manualmente, obteniendo en algunos casos un mayor control sobre el comportamiento del sistema. La apariencia del software de KDE es configurable en varios niveles. Tanto elgestor de ventanas(llamadoKWin) como los controles (botones, menúes, etc.) utilizan «estilos» intercambiables, que definen cada aspecto de su apariencia. Es por este motivo que el entorno de KDE no mantiene una única apariencia entre versiones, sino que se opta por aquella más ampliamente aceptada en el momento de cada nuevo lanzamiento.
Nueva mascota de KDE creada por Tyson Tan
Elentorno de escritoriode KDE no se comporta de un modo predefinido, sino que permite al adecuar el sistema a su gusto y comodidad. Esto no impide que el mismo resulte fácil de usar para nuevos s, detalle al que se le da mucha importancia.
Historia El proyecto KDE fue iniciado en octubre de1996por el programadoralemánMatthias Ettrich,3 quien buscaba crear unainterfaz gráficaunificada para sistemasUnix. En sus inicios imitó aCDE(Common Desktop Environment), unentorno de escritorioutilizado por variosUnix.
KDE 1
KDE 1.0.
El 12 de julio del1998se-publicó KDE 1.0. Esta versión contenía un (barra de tareas y lanzador de aplicaciones), un escritorio sobre el cual dejar iconos, un de archivos (Kfm) y un gran número de utilidades. En noviembre de 1998, al conjunto de herramientasQtse le licenció adicionalmente bajo la licencialibredecódigo abiertoQ Public License(QPL). El mismo año, la fundación KDE Free Qt fue creada4 para garantizar que Qt entrarían en una variante de la licencia liberal BSD en caso de que Trolltech dejara de existir o no liberase ninguna versión libre o de código abierto de Qt durante 12 meses. El debate continuó sobre la compatibilidad con laGNU General Public License(GPL), por lo que en septiembre de 2000, Trolltech liberó la versión Unix de las bibliotecas Qt bajo la GPL, además de la QPL, que eliminó las preocupaciones de laFree Software Foundation. Trolltech siguió exigiendo licencias para el desarrollo desoftware propietariocon Qt.
KDE 2
KDE 2.0.
KDE 2.0, lanzado el 23 de octubre del año2000, fue reescrito casi por completo[citarequerida], introduciendo importantes mejoras tecnológicas. Entre ellosDCOP(Protocolo de Comunicación de Escritorio), KIO, unabibliotecadeE/S,KParts, el cual es uncomponente de modelo de objetos, lo que permite una aplicación integrar a otra dentro de sí misma, yKHTML, un motor de renderizado de HTML usado por Konqueror, que además de ser unnavegador webes ungestor de archivos. Además, en esta versión se mejoró parcialmente el aspecto visual del escritorio.
KDE 3
KDE 3.5.
KDE 3.0 fue publicado en noviembre del año2002, y es la evolución de KDE 2. El desarrollo de esta serie fue mucho más largo que el de la anterior. Los cambios deAPIentre KDE 2 y KDE 3 son menores. El aspecto de la interfaz no varió hasta KDE 3.1, en el que consta una importante mejora referente al tema visual: Keramik fue incluido como nuevo tema por omisión junto con el conjunto de iconos Crystal GT y elantialisadodefuentes. En KDE 3.2 Crystal GT fue reemplazado por Crystal SVG. En KDE 3.4 Keramik fue reemplazado por Plastik. Todas las versiones de KDE 3 se basan en Qt 3, que solo fue liberado bajo la GPL para GNU/Linux y sistemas operativos tipoUnix, incluyendoMac OS X. Salvo algunas aplicaciones de terceros, el desarrollo de KDE 3 ha cesado y sus desarrolladores ya no aplican ningún tipo de mantenimiento sobre este.5 Sin embargo existe una bifurcación, llevada adelante por otros desarrolladores, llamada Trinity.6
KDE Software Compilation 4
KDE Plasma 4.10
KDE 4.0, lanzado en enero del año2008, fue reescrito por completo[citarequerida]basándose enQt4.3. KDE 4 incluye muchas nuevas tecnologías y cambios técnicos. El elemento central es un nuevo diseño del escritorio y el ,
colectivamente llamadoPlasmaque sustituye a Kicker, KDesktop, SuperKaramba y mediante la integración de su funcionalidad en una sola pieza tecnológica, estando destinada a ser más configurable para aquellos que quieran actualizar la viejametáfora de escritorio. Hay una serie de nuevos «frameworks», incluyendoPhonon, una nueva interfaz multimedia de KDE independiente de cualquier backend específico cualquiera que sea elSO;Solid, una API para redes y dispositivos portátiles; yDecibel, un nuevo framework de comunicación para integrar a todos los protocolos de comunicación en el escritorio. También se presentó un framework de búsqueda y metadatos, como la incorporación deStrigi, un servicio de indexación de archivos; y la integración deNEPOMUKcon KDE. A partir de la versión 4.4 se produjeron cambios en la nomenclatura para reflejar la nueva realidad del proyecto y de la comunidad.KDEpasó de hacer referencia al software (fundamentalmente el entorno de escritorio) a ser el nombre de la comunidad que lo desarrolla. Entre el software producido por la misma, ahora se distingue entreKDE Plasma Workspaces(la base del entorno de escritorio),KDE Applications(las aplicaciones) yKDE Developer Platform(las bibliotecas y demás herramientas de desarrollo). Los tres componentes se agrupan bajo el nombreKDE Software Compilationpara cada gran lanzamiento.7
Organización del proyecto Colaboradores destacados Función
Nombre
Origen
Diseñador gráfico
Everaldo Coelho
Brasil
Nuno Pinheiro
Portugal
Programador
Aaron Seigo
Canadá
David Faure Duncan Mac-Vicar Prett
Chile
Dirk Mueller Eva Brucherseifer George Staikos Lars Knoll Matthias Ettrich Mosfet Waldo Bastian
Alemania
Como otros muchos proyectos libres, KDE se construye principalmente con el esfuerzo de voluntarios. Ya que varios cientos de individuos contribuyen a KDE de diversas maneras (programando, traduciendo, produciendo arte, etc.), la organización de la comunidad resulta compleja. La mayoría de los problemas se discuten en las diferenteslistas de correode la misma. Contrariamente a lo que se podría pensar de una comunidad tan extensa, KDE no cuenta con un liderazgo centralizado; Matthias Ettrich, el fundador del proyecto KDE, no posee mayor peso sobre las decisiones y rumbo del proyecto KDE. Las decisiones importantes, tales como fechas de lanzamiento o inclusión de nuevas aplicaciones, se toman por los desarrolladores principales en una lista de correo restringida. Los desarrolladores principales son aquellos que han contribuido a KDE por un tiempo prolongado. Las decisiones no se toman en un proceso formal de votación, sino a través de discusiones en las listas de correo. Generalmente este método funciona muy bien. Cualquier es bienvenido a informar sobre errores que haya encontrado en el software («bug»). También es posible realizar peticiones acerca de nuevas funcionalidades («wish»). Basta con comunicarlo, eninglés, en el sitio web habilitado para ello: elKDE Bug Tracking System. En asuntos legales y financieros KDE es representado por laKDE e.V., organización alemana sin ánimo de lucro.
Arquitectura General Componente
Descripción
KDE Frameworks KIO: KDEInput/Output KJS:IntérpretedeJavaScript KParts:Arquitecturadecomponentes KWin
Gestor de ventanas
KDE Plasma
Escritorio
Qt
Bibliotecapara el desarrollo deGUIs
El software de KDE está escrito principalmente enC++, un lenguaje derivado dellenguaje de programación Ccon muchas funcionalidades añadidas, entre ellasprogramación orientada a objetos. A pesar de las críticas en contra de este (inicialmente menos maduro)lenguaje, su adopción por KDE ha resultado en un desarrollo más dinámico y ciclos de lanzamiento más breves a la vez que ha permitido producir programas eficientes en menor cantidad de líneas decódigo fuenteque las requeridas para iguales tareas empleandolenguajes de programación estructurados(por ejemplo: C). KDE está construido sobre labibliotecaQtpara programación de aplicaciones gráficas. Qt facilita laprogramación orientada a objetosy la creación de componentes, proporcionando sólidos cimientos para la construcción de cualquier tipo de aplicación gráfica. Tras la incorporación en Qt de la tecnologíaQt Quick, que facilita el desarrollo de interfaces de flexibles y modernas, cada vez más componentes de KDE están empezando a usar el lenguaje que la misma provee, llamadoQML(“Qt Markup Language”). QML, que es un superconjunto deECMAScript(JavaScript), se usa para definir las interfaces, mientras que para la lógica de los programas suele mantenerse C++ (sin embargo, también es posible implementar parte de la lógica usando QML). KDE cuenta además con su propio sistema deentrada/salidallamadoKIO, el cual puede acceder a un archivo local, un recurso de red (a través de protocolos comoHTTP,FTP,NFS,SMB, etc.), o protocolosvirtuales(cámara de fotos, archivo comprimido, etc.) con absoluta transparencia, beneficiándose de ello toda aplicación de KDE. La arquitectura modular de KIO permite a los desarrolladores agregar nuevos protocolos sin requerir modificaciones en la base del sistema. Por último,KPartspermite incluir aplicaciones dentro de otras, evitando así la redundancia de código a lo largo del sistema. Adicionalmente posee su propio motor HTML llamadoKHTML, el cual está siendo reutilizado y ampliado porApple(para crear su navegadorSafari), y porNokia. KDE 3 Usa la versión 3 de lasbibliotecasgráficasQt3, y su sistema de sonido es una nueva versión del criticadoaRts, ya presente en KDE 2.
El motorKHTML, utilizado porKonqueror, también proviene de KDE 2. Para intercomunicación de aplicaciones se diseñó el sistemaDCOP, aunque posteriormente se fue sustituyendo por su evoluciónD-BUS. KDE SC 4 KDE SC 4 está basado en la cuarta versión deQt, que, en principio, incrementa el rendimiento respecto a la versión anterior. La renovación de lasbibliotecasy las herramientas de compilación también facilitan la adaptación a plataformas no basadas en X11, incluyendo Microsoft Windows y Mac OS X, ya que uno de los objetivos de KDE SC 4 es que pueda ser adaptado más fácilmente a diferentes sistemas operativos. La primera revisión técnica de KDE 4 coincidió con la fecha del décimo cumpleaños del proyecto KDE. Gran parte del trabajo técnico se adelantó en elaKademy2006 que se celebró enDublín. Algunas de sus novedades se explican a continuación:8 • Más rápido y con un uso más eficiente de la memoria, gracias a la sustancial mejora en velocidad y eficiencia de Qt 4 y la mejora interna de las propias bibliotecas de KDE. • Unas guías de estilo yHIGreescritas. • Un nuevo tema de iconos y estilos visuales, desarrollados por elProyecto Oxygen, que hará extensivo el uso de losSVG. • Un escritorio y es completamente nuevos, colectivamente llamadosPlasmaque integrarán los actualesKicker,KDesktop, ySuperKaramba. • Una interfaz simplificada para elnavegadorKonqueror, que ya no será el de archivos por defecto en favor deDolphin. • Un sistema estándar para escribir «scripts» basado enECMAScript(JavaScript) o enKross, una solución independiente del lenguaje desarrollado y utilizado en la suiteKOffice. Actualmente permite usarPythonyRuby, pero nuevos lenguajes se incluirán pronto. • Una nueva interfaz multimedia llamadaPhonon, haciendo a KDE independiente de un sistema multimedia específico. • Una nueva API para redes y dispositivos portátiles, llamadoSolid. • Un nuevo sistema de comunicación llamadoDecibel. • Un nuevo sistema de búsqueda ymetadatos, probablemente se denomine Tenor. Podría incorporarStrigicomo servicio para indexar archivos, yNepomukpara suintegración en KDE.
• Facilitar laportabilidadde lasbibliotecasnecesarias para que las aplicaciones KDE puedan portarse y ejecutarse fácilmente enWindowsyMac OS X. • Un nuevo corrector ortográfico llamadoSonnet, con detección automática del idioma. Sustituirá a kspell para marcar los errores ortográficos que se comentan en cualquier aplicación de KDE. Una de las ventajas sobre kspell, es junto con un diseño más sencillo de mantener, la habilidad de detectar y corregir los errores en textos con varios idiomas diferentes mezclados dentro del texto. • ThreadWeavercomo software para aprovechar la potencia de las U de varios núcleos y hacer más sencillo paralelizar los procesos. • WebKitcomo motorHTMLopcional paraKonqueror. Durante elVerano de Código de Google, una caché de iconos fue implementada para optimizar la velocidad de inicio de las aplicaciones, especialmente diseñada para KDE 4. Los resultados fueron variados, pues una aplicación que usaba cientos de íconos como Kfinder, comenzó en al menos la cuarta parte del tiempo que le tomaba anteriormente. Mientras que otras aplicaciones y la sesión completa de KDE lograron iniciar un segundo más rápido lo cual es importante teniendo en cuenta que las nuevas versiones de software generalmente son más pesadas que sus antecesoras.
Aplicaciones Artículo principal:Aplicaciones
Qt y KDE
A continuación se muestra una lista con algunas aplicaciones que utilizan labiblioteca Qty otras que además usan las bibliotecas de KDE. Aunque funcionan bajo cualquierentorno de escritorioogestor de ventanas, su ejecución bajo KDE Plasma Workspaces es más eficiente. Así mismo, en KDE pueden cargarse todo tipo de aplicaciones además de las que figuran a continuación. Aplicaciones principales • Preferencias de Sistema (System Settings)- Gestor de las preferencias de Plasma • Amarok- Reproductor de audio. • Dolphin- Navegador de archivos. • K3b- Suite de grabación de medios ópticos. • Kate- Editor de texto.
• KDevelop- Entorno de desarrollo integrado. • Konsole- Emulador del terminal. • Kontact- de información personal, cuentas de correo electrónico, canalesRSS, calendario y demás. • Kopete- Cliente multiprotocolo de mensajería instantánea. • Konqueror- Navegador Web y de archivos. • DigiKam- Gestor de fotografías • Gwenview- Visor sencillo de imágenes • ShowPhoto- Visor de imágenes • Okular - Visor de documentos (pdf, djvu, etc)
Tecnologías
KDE 4.4 con el efecto de cubo de KWin.
InterfazNetbookde Plasma.
• KDE Frameworks- compilación de todas lasBibliotecas. • KIO- Permite a archivos, sitios web y a otras fuentes con un API simple y consistente. • Kiosk- Permite desactivar las características de KDE para crear un entorno más controlado. • KParts-Componenteframework. • KWin- Gestor de composición de ventanas. • Akonadi-Frameworkde gestión de información personal.
• Plasma- Motor de renderizado del escritorio y (GUI). • Phonon- Framework multimedia. • Decibel- Framework de comunicaciones. • Nepomuk- Escritorio semántico. • Solid- Framework de integración dedispositivos. • Sonnet- Corrector ortográfico. • ThreadWeaver- Biblioteca para usar multiprocesadores de forma más eficiente. • WebKit- Motor de renderizadoHTML.
Lanzamientos KDE Software Compilation kde.org
Desarrollador(es) Lanzamiento inicial Última versión estable Género Programado en Sistema operativo Licencia
Información general KDE 14 de octubrede1996 4.14 (info) 20 de agostode2014(2 años,11 mesesy16 días) Entorno de escritorio C++(Qt),QML Multiplataforma GPL,LGPL,BSDy otras9
Idiomas En español
Multilingüe (aproximadamente 75)1 Sí
[editar datos en Wikidata]
Información general Como muestra el historial del proyecto (debajo), el equipo de KDE libera nuevas versiones en períodos breves. Son reconocidos por apegarse a los planes de lanzamiento, y es extraño que un lanzamiento se retrase más de dos semanas. Una excepción fue KDE 3.1, el cual se demoró por más de un mes debido a un número de problemas relacionados con la seguridad en el código base. Mantener planes de lanzamiento estrictos en un proyecto voluntario de este tamaño es inusual.
Lanzamientos mayores Véase también:Anexo:Historial
de lanzamientos de KDE
Un lanzamiento mayor (en inglés, «major release») de KDE Plasma o Applications tiene dos números de versión (por ejemplo KDE Plasma 5.5). Todos los lanzamientos con el mismo número de versión mayor (KDE 1, KDE 2, KDE 3, etc) son compatibles tanto en código binario como en código fuente. Esto significa, por ejemplo, que cualquier software desarrollado en KDE SC 4.2 funcionará con todos los lanzamientos de KDE SC 4. Excepto durante cambios mayores de versión, nunca ocurren alteraciones con requisitos de recompilación o modificación de código fuente. Esto mantiene unaAPI(Application Programming Interfaceo interfaz de programación de aplicaciones) estable para los desarrolladores de aplicaciones KDE. Los cambios entre KDE 1 y KDE 2 fueron grandes y numerosos, mientras que los cambios en la API entre KDE SC 4 y KDE Plasma y Applications 5 fueron comparativamente menores. Esto significa que las aplicaciones pueden ser fácilmente transformadas a la nueva arquitectura. En cuanto un lanzamiento mayor se encuentra listo y es anunciado, se añade a la rama («branch») del repositorioSubversion, mientras que en la principal («trunk») comienza el trabajo sobre el siguiente lanzamiento mayor. Un lanzamiento mayor requiere varios meses para culminar, y muchos «bugs» encontrados durante esta etapa son eliminados también en la rama estable.
Lanzamientos menores Para lanzamientos menores se agendan fechas de lanzamiento menos separadas. Un lanzamiento menor de KDE tiene tres números de versión (por ejemplo KDE 1.1.1) y los desarrolladores se enfocan en reparar «bugs» y mejorar aspectos menores en los programas en vez de agregar funcionalidad.
KDE y Wikipedia
Kate usando el formato Wiki.
El 23 de junio de 2005 se supo que el proyecto KDE y laFundación Wikimediase unían en un esfuerzo cooperativo. Se prevé, en particular, poner a disposición el contenido de los proyectos deWikimediapor medio de una interfaz de servicios web para programas de KDE. Desde KDE 3.5 ya se han comenzado a integrar funciones de apoyo deWikipedia, como muestra de ello el editorKateya incluye la sintaxiswiki. Amarokmuestra información sobre los artistas de Wikipedia con la ayuda de un navegador web incorporado.
Distribuciones A continuación se muestra una lista (en forma de tabla) de distribuciones que incluyen el entorno de escritorio KDE Plasma por omisión.10 Nombre
Distribución base/Notas
ArtistX
Ubuntu
Aurox
Fedora
BackTrack
SLAX, usa KDE 3.5
Chakra
InicialmenteArch Linux, ahora no se basa en ninguna
Debian GNU/Linux
Debian GNU/Linux.Debian-KDE, desde la versión 4.0
DesktopBSD
FreeBSD
Edubuntu KDE
Edubuntu
Fedora-KDE
Red Hat Linux
Freespire
Linspire
Kanotix
Knoppix
KDE neon
Ubuntu
Kubuntu
Ubuntu
Kurumin
Knoppix
Linspire
Kubuntu
Linux Mint KDE
Kubuntu
Mandriva
Red Hat Linux
Manjaro
Arch Linux
MEPIS
Debian GNU/Linux
openSUSE
SUSE Linux
Pardus
Pardus
PC-BSD
FreeBSD
PCLinuxOS
Mandriva Linux
Sabayon Linux
Gentoo
Aptosid(antiguamente Sidux) Debian GNU/Linux, ramaunstable (sid) SLAX
Slackware
SUSE Linux
Slackware
VectorLinux
Slackware
Xandros
Debian GNU/Linux
Críticas • KDE fue criticado en sus inicios debido a que labibliotecasobre la que se desarrolló (Qt), a pesar de seguir un desarrollo basado en elcódigo abierto, no eralibre. El 4 de septiembre de 2000, la biblioteca se comenzó a distribuir bajo lalicenciaGPL2.1 y las críticas fueron cesando paulatinamente. Actualmente, y desde la versión 4.5, la biblioteca está disponible adicionalmente bajoLGPL2.1.11
• Algunas personas externas al proyecto critican la similitud de KDE con elentorno de escritoriodeWindows. Esta observación, sin embargo, recae sobre la selección de parámetros predefinidos del entorno; a menudo orientado a facilitar su uso a nuevos s, acostumbrados en su mayoría a trabajar con lossistemas operativosdeMicrosoft. No obstante, KDE tiene una alta capacidad de configuración y en su rama 4 dispone de efectos de escritorio integrados en Plasma y KWin, equiparables a los deCompiz.
Xfce
Xfce www.xfce.orgyxfce.org
Desarrollador(es) Autor(es) Última versión estable Género Programado en Sistema operativo Plataforma Licencia Estado actual
Captura de pantalla de Xfce 4.10 Información general Equipo de desarrolladores de Xfce1 Olivier Fourdan 4.12.3 19 de juliode2015(2 añosy16 días) Entorno de escritorio C(GTK+2) Unix-like Unix-like GNU GPL,GNU LGPLyLicencia BSD Activo
En español
Sí
[editar datos en Wikidata]
Xfce(pronunciado como cuatro letras por separado)2 es unentorno de escritoriolibrepara sistemas tipoUnixcomoGNU/Linux,BSD,Solarisy derivados. Su objetivo es ser rápido y ligero, sin dejar de ser visualmente atractivo y fácil de usar. Consiste en varios componentes empaquetados por separado que en conjunto proporcionan la funcionalidad completa del entorno de escritorio, pero se pueden seleccionar por separado para que el pueda adaptar el ambiente de trabajo a sus necesidades. Índice [ocultar]
• 1Características • 2Historia • 2.1Primeras versiones • 2.2Xfce moderno (Versión 4 - actualidad) • 3Aplicaciones principales de Xfce • 4Productos y distribuciones que utilizan Xfce • 5Véase también • 6Referencias • 7Enlaces externos
Características Xfce está basado en labibliotecaGTK+2, al igual queGNOME 2. Utiliza elgestor de ventanasXfwmy se puede configurar íntegramente con elratón, permaneciendo de esta forma los ficheros de configuración ocultos al no experimentado. Es posible ejecutar Xfce con tan solo 40MBdememoria RAMusandoAlpine Linux.3
Historia Olivier Fourdan comenzó el proyecto en 1996.4 El nombre "Xfce" originalmente significabaXFormsCommonEnviroment (entorno común de XForms), pero desde entonces Xfce ha sido reescrito dos veces y ya no utiliza el kit de herramientas de XForms. El nombre sobrevivió, pero ya no se capitaliza como "XFCE", sino más bien como "Xfce". La
postura actual de los desarrolladores es que la sigla ya no significa nada específico. Ha recibido el apodo deXFreeCholesterolEnvironment (Entorno de Escritorio Libre de Colesterol),56 incluso es llamado así en algunas de sus páginas enman.7
Primeras versiones
Escritorio de Xfce 3.
Xfce comenzó como un proyecto simple creado con XForms, destinado a ser un clon deCDElibre para Linux. Fourdan publicó el programa, una barra de herramientas sencilla, enibiblio(entonces "SunSITE").8 Fourdan continuó el desarrollo del proyecto y en 1998, Xfce 2 fue lanzado con la primera versión delgestor de ventanasde Xfce, Xfwm (Xfce's window manager). Fourdan pidió que el proyecto fuese incluido enRed Hat Linux, pero fue rechazado debido a que el proyecto estaba basado en XForms. Red Hat solo aceptaba software decódigo abiertoy liberado bajo una licencia compatible conBSDoGPL, pero en ese momento, XForms era de código cerrado y gratuito solo para uso personal.8 Por la misma razón, Xfce no estaba en losrepositoriosdeDebianantes de la versión 3. Xfce 2 solo se distribuyó en el componentecontribde Debian.9 En marzo de 1999, Fourdan comenzó una reescritura completa del proyecto basada enGTK+, un kit de herramientas no comercial cuya popularidad iba en aumento. El resultado fue Xfce 3.0, que fue liberado bajo la licencia GPL. Además de estar completamente basado ensoftware libre, el proyecto incluyó soporte paraarrastrar y soltarde GTK+, soporte nativo de idiomas y una configuración más fácil. Xfce fue subido aSourceForge.neten febrero de 2001, a partir de la versión 3.8.1.10
Xfce moderno (Versión 4 - actualidad)
Un escritorio Xfce 4.4 típico.
En la versión 4.0.0, lanzada el 25 de septiembre de 2003, Xfce fue actualizado para utilizar las bibliotecas GTK+ 2.11 Los cambios en 4.2.0 incluyen ungestor de composición de ventanaspara Xfwm que añadió soporte integrado para transparencias y las sombras al arrastrar, así como un nuevo conjunto de iconosSVG.12 En enero de 2007, Xfce 4.4.0 fue liberado. Este incluía el gestor de archivosThunar, un reemplazo para xffm. Se ha añadido soporte para los iconos del escritorio. Además, se hicieron varias mejoras en el inferior para evitar que los complementos (plugins) que tuvieran un comportamiento incorrecto echaran a perder la estabilidad de todo el .13 En febrero de 2009 fue liberado Xfce 4.6.0. Esta versión tiene un nuevobackendde configuración, un nuevo gestor de configuración y un nuevo mezclador de sonido, así como varias mejoras significativas en el gestor de sesiones y el resto de los componentes principales de Xfce.14 En enero de 2011, Xfce 4.8.0 fue liberado. Esta versión incluye cambios tales como la sustitución de ThunarVFS yHALconGIO,udev, ConsoleKit yPolicyKit, y nuevas utilidades para navegar por los recursos compartidos de red remotos utilizando varios protocolos, incluyendoSFTP,SMByFTP. El desorden de ventanas se redujo mediante la fusión de todos los cuadros de diálogo de progreso de copia de archivos en un solo cuadro de diálogo. La aplicación del inferior también se volvió a escribir para un mejor posicionamiento, transparencia y gestión de lanzadores. La versión 4.8 también introdujo un nuevoplugindel menú para ver los directorios. El cuadro de diálogo de configuración de pantalla en 4.8 soportaRandR1.2, detectando las pantallas de forma automática y permite a los s escoger laresolucióndeseada, lavelocidad de refrescoy larotación de pantalla. Las pantallas se pueden configurar para trabajar en modoclonadoo en modo multipantalla colocando una al lado de la otra. La selección del teclado se ha convertido
en más fácil y más amigable para el . Además, el editor de configuración manual se ha actualizado para ser más funcional.15 El ciclo de desarrollo de la versión 4.8 fue el primero en utilizar la nueva estrategia de lanzamientos, "modelo de lanzamiento y desarrollo de Xfce", desarrollada en la Cumbre de Escritorios deUbuntuen mayo de 2009. Se empleó una nueva aplicación web para facilitar la gestión del lanzamiento y se creó un servidor dedicadoTransifexpara los traductores de Xfce.16 El servidor del proyecto y la infraestructura de replicación también se actualizó, en parte para hacer frente a la demanda prevista tras el anuncio de liberación. Xfce 4.10 fue publicada el 28 de abril de 2012 e introdujo un modo de pantalla vertical para el de menús y se trasladó gran parte de la documentación a unawikien línea.17 El objetivo principal de este lanzamiento fue mejorar la experiencia del .18 La versión actual del entorno de escritorio Xfce es la 4.12, liberada el 28 de febrero de 2015 y reemplazando como versión estable a Xfce 4.10. Se introdujeron vistas previas de ventanas y modo de lista al pulsar la combinación de teclas Alt+Tab, acoplado de ventanas en las esquinas del escritorio, un nuevo diálogo para configurar el papel tapiz con soporte para diferentes fondos en cada área de trabajo, soporte para pestañas en el gestor de archivos Thunar, un nuevo complemento para la istración de energía y soporte para la grabación de Blu-Ray en xfBurn, entre otras.1920
Aplicaciones principales de Xfce Este artículo o sección se encuentra desactualizado. La información suministrada ha quedado obsoleta o es insuficiente.
• xfdesktop:Es el encargado de la imagen del fondo de escritorio, el color del fondo de escritorio, el menú y otras cosas más. • Mousepad:Es un editor de texto basado en Leafpad. La principal razón de ser de Mousepad ha sido dar soporte de impresión, lo cual habría sido difícil de implementar en Leafpad por diversos motivos. Desde 2009 no cuenta con nuevas versiones en el canal oficial por lo cual se recomienda usar la del repositoriogit. • Xfce4-terminal: Es un emulador de terminal moderno para el escritorio Unix/Linux. • Thunar: Es un moderno de archivos para el entorno de escritorio Xfce. Ha sido diseñado desde el principio para ser rápido y fácil de usar.
• Xfburn: Xfburn es una interfaz para la grabación de medios ópticos basada en la biblioteca libburnia para crear y grabar CD y DVD. • Orage: Una sencilla aplicación de calendario con recordatorios. • Buscador de aplicaciones: Le permite buscar, lanzar y encontrar información sobre aplicaciones instaladas en su sistema. • Xfmedia: Xfmedia es un reproductor multimedia simple y fácil de usar basado en el motor de xine. La GUI GTK+ se centra en la reproducción y gestión de archivos de audio aunque, al estar basada en xine, también soporta video. Actualmente se considera obsoleta y se recomienda usarParoleoVLCen su lugar. • Xarchiver: Es una interfaz GTK+2 para el manejo de archivos comprimidos en formatos 7z, zip, rar, tar, bzip2, gzip, arj y rpm, aunque actualmente ya no es un componente de Xfce como tal y sigue un desarrollo aparte, es el recomendado por Xfce a falta de otros con igual integración. • Mezclador: Un moderno mezclador basado en GStreamer. • Ristretto: Ristretto es un visor de imágenes ligero. • Navegador web: Xfce no cuenta con un navegador propio. Sin embargo, se recomienda el uso del navegador ligeroMidori. Thunares elgestor de archivospredeterminado para Xfce desde la versión 4.4. Es similar aNautilusoPCManFMy está diseñado para una máxima velocidad y un mínimo consumo de memoria. Xfce también posee un gestor de archivos comprimidos llamadoSqueeze/Xarchiver.
LXDE
LXDE lxde.org
Modelo de desarrollo
Información general Software libre Equipo de desarrollo de LXDE
Desarrollador(es) Lanzamiento inicial Género Programado en Sistema operativo Licencia Idiomas En español
(Creador: Hong Jen Yee) 2006 Entorno de escritorio C(GTK+) Multiplataforma GPL Multilingüe (más de 35) Sí
[editar datos en Wikidata]
LXDEes unentorno de escritoriolibre paraUnixy otras plataformasPOSIX, comoLinuxoBSD. El nombre corresponde a"Lightweight X11 Desktop Environment", que enespañolsignificaEntorno de escritorio X11 ligero. LXDE es un proyecto que apunta a entregar un nuevo entorno de escritorio ligero y rápido. No está diseñado para ser tan complejo comoKDEoGNOME, pero es bastante usable y ligero, y mantiene una baja utilización de recursos y energía. A diferencia de otros ambientes de escritorio, los componentes no se integran firmemente. Al contrario, los componentes son independientes, y cada uno de ellos se puede utilizar independientemente con muy pocas dependencias. LXDE usaOpenboxcomogestor de ventanas1 predeterminado y apunta a ofrecer un escritorio ligero y rápido basado en componentes independientes que pueden ser utilizados en otros entornos. Índice [ocultar]
• 1Historia
• 2Versiones • 2.1LXDE 0.1 • 2.2LXDE 0.2 • 2.3LXDE 0.3 • 2.4LXDE 0.4 • 2.5LXDE 0.5 • 3LXQt • 4Portado a Android • 5Componentes • 6Distribuciones GNU/Linux con LXDE • 7Galería de imágenes de LXDE • 8Referencias • 9Véase también • 10Enlaces externos
Historia LXDE fue comenzado a escribir en 2006 por el programador taiwanés Hong Jen Yee, cuando escribió PCManFM el primer modulo de el escritorio, que continuo hasta lanzar el escritorio completo LXDE, el cual permite el desarrollo de distribuciones con bajo consumo de energía y recursos con más de una década de antigüedad.
Versiones LXDE 0.1 Es lanzado en 2006, con algunos modulos como su de archivosPCMan,LeafpadyOpenBox.
LXDE 0.2 Su versión 0.2 llega en 2007 y con ellas algunas novedades como su nuevo visor de imágenes GPicView.
LXDE 0.3 En abril de 2008 se lanza su versión 0.3 y se expande hasta julio de 2009, algunas mejoras introducidas durante esta nueva versión son: Se lanza LXMusic, un reproductor de sonido basado en xmms2. Se desarrolla LXNM, el gestor de redes de LXDE.
LXDE 0.4 Funciona muy bien tanto en equipos nuevos y antiguos, fue lanzado en el 2006 la versión o.4.
LXDE 0.5 El 10 de diciembre de 2009 es lanzado LXDE 0.5 y ha evolucionado hasta su versión actual, la 0.5.6 de LXDE. En 2010 LXDE 0.5 fue el escritorio de menor consumo de memoria y energía entre los cuatro más populares escritorios (Gnome, KDE, XFCE y LXDE). Algunas mejoras que se han dado entre 2009 y 2014 resaltan las siguientes: LXMusic da soporte a arte de albums musicales. LXDM, el display manager de LXDE, se vuelve personalizable. En octubre de 2010 se renueva PCMan con su nueva librería LibFM, y se pueden mover los iconos de el escritorio, en septiembre de 2012 pasan a su versión 1.0.1 Se lanza PCMan 1.2.1 y LibFM 1.2.1. LXMusic 0.4.3, LX 0.5.10.
LXQt
LXDE-Qt
Insatisfecho con GTK 3, Hong Jen Yee experimentó conQta principios de 20132 y liberó la primera versión del manejador de archivosPCManFMbasada en Qt el 26 de marzo de 2013.3 Sin embargo, aclaró que esto no significa el abandono de GTK en LXDE, diciendo "las versiones Gtk+ y Qt coexistirán". Más tarde portó a Qt el front-end del LXDE,Xrandr4 El 3 de junio de 2013 Hong Jen Yee anunció un port a Qt de la suite completa de LXDE.5 Y el 21 de julio de 2013,Razor-qty LXDE anunciaron que fusionarían los dos proyectos.67 8 La primera versión producto de esta fusión fue LXQt 0.7.0, liberada el 7 de mayo de 2014.9 La versión 0.8 de LXQt se lanza el 14 de octubre de 2014. Esta versión traería consigo la compatibilidad completa con aplicaciones Qt 5, pero sin dejar aún Qt 4, un nuevo programa para la istración del sistema (lxqt-) y un tema de escritorio nuevo (Plasma Next, basado en el original de KDE Plasma 5), nuevas funciones en PCManFM como arrastrar y soltar (drag-and-drop), activación de iconos con un clic, integración con Ark y reordenamiento de botones en los es.10 El 8 de febrero de 2015 se libera la versión 0.9.0. Se dejó atrás Qt 4 para requerir como mínimo la versión 5.3 de la librería gráfica e inicia la migración a KDE Frameworks 5 en componentes como KWindowSystem, reemplazando las librerías originales de LXDE, fondos de es configurables y soporte para múltiples baterías en el de istración de energía, entre otras características.11 La versión actual de LXQt es la 0.10.0, lanzada el 2 de noviembre de 2015. Se incluyó una nueva función para escalar privilegios (lxqt-sudo) y se implementa la función de búsqueda en PCManFM.12
Portado a Android En 2009 LXDE fue portado a Android, para ser utilizado en teléfonos y tabletas.
Componentes • PCManFM, rápido y robusto gestor de ficheros. Ofrece funciones tan interesantes como la navegación con pestañas y todo con un mínimo uso de recursos. • LXLauncher, modo fácil de lanzar aplicaciones. • LX, de escritorio fácil de usar y con todas las funciones que pueden esperarse de un . La configuración se realiza a través de un GUI. • LXSession Edit, permite cambiar el gestor de ventanas usado en LXDE, y las aplicaciones ejecutadas al inicio. • LXSession, gestor de sesiones con las opciones Cerrar, Reiniciar y Suspender. La versión Lite ofrece menos tamaño y más estabilidad. • LXAppearance, gestor de temas GTK+ que permite cambiar tanto el aspecto como los iconos y las tipografías. • Leafpad, editor de texto. • Xarchiver, basado en archiver, este gestor de archivos tampoco depende de un entorno concreto. • GPicView, rápido, ligero y sencillo visor de imágenes. • LXTerminal, terminal que reduce al mínimo el uso de memoria. • LXTask, de tareas / monitor de sistema. • LXNM, asistente para la conexión a redes WiFi. Aún se encuentra en desarrollo. • Openbox, es el gestor de ventanas utilizado por ser ligero y altamente configurable pero puede ser sustituido por cualquier otro. • LXRandr, gestor de pantalla, gestiona la resolución de la pantalla y monitores externos. • LXShortCut, permite editar fácilmente lanzadores de aplicaciones. • LXMusic, reproductor de música minimalista basado en xmms2.
Distribuciones GNU/Linuxcon LXDE • CrunchBang Linux:basado en DebianEsta distribución declara ser una capa construida sobre Debian para generar una experiencia Openbox, y se instala con LXDE por default.13 • Debian GNU/Linux:DistribuciónDebiancon la opción de instalar LXDE. En uno de losCDde instalación de Debian se puede seleccionar si instalar la distribución con LXDE oXfce.14 • EdulibreOs: Distribución Educativa basada enUbuntu, con LXDE. • Fedora:[1] • gOS, distribuciónbasada en Ubuntucon LXDE como entorno de escritorio y con Google Gadget.15 • Knoppix: Live-cdbasado en Debian'Lenny' (draft), en su última versión (6.0) lleva este escritorio por defecto. • Greenie Linux:Distribución basada en Ubuntucon GNOME y LXDE como entornos de escritorio. • LinEx Colegios 2010:[2]Distribución Educativa Extremeña basada enDebian Squeeze, con LXDE. • Linux Mint:[3] • Lubuntu: Distribución basada enUbuntucon soporte oficial de los creadores de Ubuntu. Versión Actual 16.04. • Mandriva (distribución Linux): en su versión Mandriva Dual Arch el escritorio por defecto es LXDE. Además en los entornos KDE o GNOME también tiene la opción de instalar el entorno LXDE. • Mangaka Linux: CD-DVDbasada en Ubuntuutiliza este entorno de escritorio en su primera versión. • Minino:[4] • Myah OS3.0 Box edition: Myah OS con LXDE. • PUDGNU/Linux:LiveCDinstalable basada enUbuntu, con LXDE. • Raspbian: Pagina principal de la distribución:[5] • SliTaz_GNU/Linux: Pequeño live cd con componentes de LXDE.16 • TinyMe: Minidistribución basada en PCLinuxOS con componentes de LXDE. • Trisquel: Sistema operativo totalmente libre.
• Ubuntulite:Derivado de Ubuntucon LXDE.17 • VectorLinuxLITE: Versión reducida de VectorLinux. • Void Linux: distribución de origen español • wattOS:[6] • Xanadu-Linux:[7] • Zorin OS (version Lite)
Galería de imágenes de LXDE
Unity (entorno de escritorio)
Unity unity.ubuntu.com
Modelo de desarrollo Desarrollador(es) Lanzamiento inicial Última versión estable Género Programado en Sistema operativo Licencia
Unity en Ubuntu 12.04 LTS Información general Software libre Canonical 3 de juniode20101 7.0.02 (info) 3 de abrilde2013(4 años,4 mesesy1 día) Entorno de escritorio C,C++,Vala Linux GNU GPLv3,GNU LGPLv3
Idiomas En español
Multilingüe Sí
[editar datos en Wikidata]
Unityes unainterfaz de creada para elentorno de escritorioGNOME, y desarrollado porCanonicalpara la distribución deUbuntu. Su primer lanzamiento se realizó con la versión 10.10 deUbuntu Netbook Remix. Fue diseñado con el propósito de aprovechar el espacio en pantallas pequeñas de losnetbooks, especialmente el espacio vertical.3 Índice [ocultar]
• 1Historia • 2Interfaz de • 2.1Lanzador • 2.2Tablero de aplicaciones • 2.3Barra de menús • 3Referencias
Historia En mayo de 2010,Mark Shuttleworth, fundador de Canonical Limited, creadora de Ubuntu, anunció Unity, una interfaz de para el escritorio de Ubuntu.4 La interfaz Unity fue inicialmente creada debido a las diferencias que surgieron con el diseño y la experiencia de que ofrecía el escritorioGNOME Shell, pero Unity también es un shell o intefaz creada para el entorno de escritorio GNOME, por ende, ambos cumplen un mismo objetivo, pero poseen una filosofía de uso diferente. Tras el lanzamiento de Ubuntu Netbook Edition 10.10, se comprobó que era preciso un hardware gráfico (GPU) con un buen rendimiento para poder ejecutar Unity, y este hecho provocó críticas por parte de los s que poseían ordenadores de escritorio de gama baja.5 Uno de los causantes de la alta exigencia en hardware gráfico sería el gestor de ventanasMutter, que resultó ser muy lento en equipos de bajas prestaciones. Este problema sería solucionado rápidamente en el siguiente lanzamiento de Ubuntu, con la incorporación deCompiz, gracias a su amplio desarrollo y soporte en distintos tipos de
hardware, aportando una notable mejora de la velocidad en sus primeras etapas de incorporación al desarrollo de Unity.6 En abril de 2011, se anunció la utilización de Unity en la versión de Ubuntu para escritorio,7 debido a la fusión de la versión netbook con la de escritorio.8 En octubre de 2011, los elementos de la interfaz de Unity fueron pasados aGTK3y fue presentada la interfaz Unity 2D, que proveía la interfaz ya conocida entonces, pero orientada a computadoras de gama baja, y escrita usando la bibliotecaQt. Además de compartir código e interfaz, se utilizó como opción en la entrada de sesión de Ubuntu 11.10.9 En enero de 2012, se anunció que Unity 2D será utilizado enUbuntu TV, el cual fue presentado durante la feria tecnológicaCES.10 A partir de octubre de 2012, en el lanzamiento de Ubuntu 12.10, se abandonó el desarrollo de Unity 2D y Canonical concentró todo el desarrollo solo en la interfaz Unity 3D, que utiliza el conjunto de herramientas de interfaz Nux yOpenGL ESdebido a que el gestor de ventanasCompizserá portado a este. Con esto la interfaz de Ubuntu TV se pasaría a Unity 3D y solo existiría un entorno para Ubuntu, pero con nuevos controladores para computadores de gama baja.11 En marzo de 2013, se anunció su sucesor,Unity Next, a diferencia de su antecesor que utiliza Compiz y Nux. Para existir como interfaz en Ubuntu, Unity Next fue construida puramente en el lenguajeQMLy la biblioteca Qt, haciendo uso directo de la especificaciónOpenGLy se esperaba su disponibilidad para todos los dispositivos con Ubuntu (escritorio, teléfono, computadoras de tableta y televisores) en abril de 2014.12 Pero el proyecto para el teléfono inteligente Ubuntu Edge, que tendría dicha interfaz, no consiguió financiamiento suficiente.13Se esperaba la llegada de Unity Mir y Unity 8 como interfaces de escritorio para Ubuntu pero los planes fueron pospuestos.14Finalmente, el 5 de abril de 2014, Mark Shuttleworth anunció públicamente que Canonical, basándose en decisiones del mercado informático, concluía sus inversiones en Unity, dedicándolas a áreas que contribuyeran al desarrollo de esa empresa tales como el sistema operativo Ubuntu, los productos decomputación en la nubey elInternet de las cosas. El escritorio Unity desaparecerá de la versión futura de Ubuntu 18.04 que será presentada en abril de 2018, siendo reemplazado por GNOME.1516
Interfaz de Su interfaz está compuesta de tres importantes elementos.17
Lanzador Ubicado al lado izquierdo de la pantalla, se utiliza para albergar s directos a las aplicaciones que se deseen, y también como función de lista de ventanas. El lanzador también incluye menús rápidos de para aplicaciones, contadores numéricos de notificación, y barras de progreso dependiendo de la aplicación.18 El lanzador de Unity se muestra siempre, pero cuenta con opciones para auto-ocultar el lanzador. También se pueden arrastrar archivos al lanzador para que la aplicación predeterminada pueda abrirlos, y si la aplicación para abrir esos archivos no se encuentra en el lanzador, no los abrirá.19 En la versión de Ubuntu 16.04 y posteriores es posible ubicar el lanzador en la parte inferior de la pantalla instalando el programa Unity Tweak Tool20
Tablero de aplicaciones Despliega todos los s a aplicaciones, archivos, música y videos del , también brinda un buscador y categorías. Los s pueden hacer uso de funciones de búsqueda hacia el Centro de software de Ubuntu o buscar videos en Internet.
Barra de menús Ubicado en la parte superior de la pantalla, se utiliza para desplegar los menús e indicadores. Los menús de aplicaciones se auto-ocultan al igual que los botones de control de ventana. Al extremo derecho se encuentran los indicadores que brindan s a opciones de sistema, hora, sonido, red y mensajería.
MATE
Para otros usos de este término, véaseMate (desambiguación).
MATE mate-desktop.orgymate-desktop.org
Modelo de desarrollo Desarrollador(es) Lanzamiento inicial Última versión estable Género Programado en Sistema operativo Licencia En español
Captura de MATE 1.8 Información general Software libre MATE Developers 19 de agostode2011 1.18.0 13 de marzode2017(4 mesesy21 días) Entorno de escritorio C,C++,Python Multiplataforma LGPL,GPL Sí
[editar datos en Wikidata]
MATEes unentorno de escritorioderivadodelcódigo basedeGNOME2. El nombre proviene de layerba mate, una especie deacebo, una planta nativa de Sudamérica subtropical que se utiliza para preparar una bebida muy popular y energizante llamadamate.1 El nuevo nombre fue necesario para evitar conflictos con componentes de GNOME 3. Índice [ocultar]
• 1Historia • 2Aplicaciones • 3Desarrollo posterior • 4Adopción
• 5Véase también • 6Referencias • 7Enlaces externos
Historia Véase también:Controversia
sobre GNOME 3
El lanzamiento de GNOME 3 remplazando la clásicametáfora de escritoriode versiones anteriores con una nuevainterfazconstruida sobre elShell de GNOME, condujo a algunas críticas de la comunidadLinux. Muchos s se negaron a aceptar la nueva interfaz de GNOME, pidiendo que alguien continuara el desarrollo de GNOME 2.2 El proyecto MATE fue iniciado por un 3 argentino4 deArch Linuxllamado Germán Perugorría (conocido en la comunidad del software libre por su alias "Perberos"), para satisfacer esta demanda.5
Aplicaciones Numerosasaplicacionesde Gnome fueron derivadas y renombradas: • Caja - de archivos(a partir deNautilus) • Pluma -Editor de texto(a partir deGedit) • Eye of Mate - Visor de imágenes (a partir deEye of GNOME) • Atril - Visor de documentos (a partir deEvince) • Engrampa - Gestor de archivadores (a partir deFile Roller) • MATE Terminal -Emulador de terminal(a partir deGnome Terminal) • Marco -Gestor de ventanas(a partir deMetacity) • Mozo - Editor de menú (a partir deAlacarte)
Desarrollo posterior En sus inicios, MATE sólo era compatible con GTK+2. A partir de la versión 1.12 es compatible tanto con GTK+2 como con GTK+3.6 El proyecto es sostenido por los desarrolladores deLinux MintyUbuntu:
Nosotros aún consideramos a MATE como otro escritorio, al igual que KDE, GNOME 3, Xfce, etc… y basado en la popularidad de GNOME 2 en lanzamientos previos de Linux Mint, hemos decidido sostenerlo y ayudar a mejorarlo. The Linux Mint Blog7
Adopción La versión 1.2 de MATE fue lanzada el 16 de abril de 2012. Es uno de los ambientes de escritorio por defecto despachados con las últimas versiones deLinux Mintdesde la versión 12, "Lisa".89 MATE también está disponible en los repositorios oficiales de varias distribuciones de Linux, incluyendoArch Linux,Debian,Mageia,Gentoo,Huayra GNU/Linux,Fedora,Ubuntu MATE, yopenSUSE. Además, MATE está disponible a través de repositorios no oficiales enSlackware.10 La versión 3.5 deGhostBSDincluye a MATE como el entorno de escritorio por defecto, lo que la convierte en la primera incorporación de MATE como el entorno de escritorio por defecto fuera de Linux Mint.11 En octubre de 2014, Ubuntu 14.10 (Utopic Unicorn) ha lanzado Ubuntu Mate como sabor oficial, incluyendo la versión MATE 1.8.1.
Cinnamon
Cinnamon cinnamon.linuxmint.com,github.com/linuxmint/Cinnamonycinnamon-spices.linuxmint.com
Cinnamon 1.8 ejecutándose en Linux Mint 15 «Olivia» Información general Modelo de desarrollo Software libre Desarrollador(es) Equipo Linux Mint Autor(es) Equipo Linux Mint 20 de Lanzamiento inicial diciembrede2011(info) 3.4.4 (info) Última versión estable 6 de juliode2017(30 días) Género Entorno de escritorio Programado en CyJavaScript Sistema operativo Unix-like Licencia GPLv2 Estado actual Activo Idiomas 30 En español Sí [editar datos en Wikidata]
Unainterfaz gráfica de debe ser diseñada conforme a las características delperiférico.GNOME Shellestá principalmente dirigido a usarse con teclado y undispositivo apuntador, como por ejemplo unRatón; el uso conTouchscreenes posible también. En contraste conKDE Plasma Workspaces, sólo hay una interfaz.
Cinnamones unentorno de escritoriopara el sistema operativoGNU/Linux, desarrollado inicialmente por el proyectoLinux Mintcomo unabifurcacióndeGNOME Shell. Intenta ofrecer un entorno de escritorio más tradicional basado en lametáfora de escritorio, comoGNOME2. Cinnamon usa Muffin, una bifurcación del gestor de ventanas de GNOME 3Mutter, como su gestor de ventanas desde la versión 1.2.1
Índice [ocultar]
• 1Historia • 2Características • 3Adopción • 4Recepción • 5Referencias • 6Véase también • 7Enlaces externos
Historia Al principio, el equipo de desarrollo de Linux Mint no estaba seguro sobre el futuro de su distribución, después del lanzamiento de GNOME 3. Su nueva interfaz,GNOME Shell, no satisfacía los objetivos de diseño que el equipo tenía en mente para Linux Mint, pero no había alternativas disponibles. Linux Mint 11 «Katya» se lanzó con la última versión de GNOME 2, pero estaba claro que se necesitaba una solución más satisfactoria, pues GNOME 2 ya no estaba en desarrollo. Por consiguiente, el equipo se propuso mejorar GNOME Shell de tal forma que se adaptara a Linux Mint, dando como resultado a las «Extensiones Mint para GNOME Shell» (eninglés,Mint GNOME Shell Extensions, MGSE). Entretanto, el equipo de desarrollo decidió incorporar el entorno de escritorioMATE, que se bifurcó desde GNOME 2, a Linux Mint 12 «Lisa» junto a MGSE, para darle a los s la posibilidad de usar el escritorio tradicional de GNOME 2 o las MGSE. Debido a que no dio el resultado esperado y en la dirección hacia la que GNOME 3 se dirigía, estaba claro que MGSE no era viable a largo plazo. En respuesta, se creó el proyecto Cinnamon para darle a los desarrolladores mejor control al proceso de desarrollo e implementar su propia visión de la interfaz GNOME para uso de las futuras versiones de Linux Mint. El proyecto se anunció públicamente el 2 de enero de 2012 en el blog de Linux Mint.2
Características Cinnamon proporciona las siguientes características, incluyendo:1
Opciones en Cinnamon 1.3
• Efectos de escritorio, incluyendo animaciones y efectos de transición. • Un móvil con menú principal, lanzadores, una lista de ventanas y la bandeja de sistema. • Varias extensiones importadas desde GNOME 3. • Appletsen el . • Actividadescon función similar a la de GNOME Shell. • Editor de opciones para fácil personalización. Permite modificar: • El . • El calendario. • Temas. • Efectos de escritorio. • Applets. • Extensiones.
Adopción Cinnamon está disponible en losrepositoriosde Linux Mint 12.2 También está disponible paraDebian,Ubuntu,Fedora,OpenSUSE,Arch Linux,GentooyVoid Linux.
Recepción Desde su lanzamiento, Cinnamon ha tenido una buena recepción. Es percibido por la comunidad como más flexible que GNOME Shell, a la vez que ofrece opciones más avanzadas.