¿Puedo instalar una app para GNOME en KDE Plasma o viceversa?

Me alegra recibir una de las primeras preguntas o dudas en la zona de contacto. Concretamente ha sido de Alfredo que contacta desde Ecuador. Y pregunta si son compatibles los programas que funcionan en GNOME para un entorno de escritorio KDE Plasma, y me sirve para dejar claro también la situación inversa, es decir, si un programa que funciona en KDE Plasma funcionaría en GNOME, etc.

La respuesta simple es sí. Así que todos aquellos que tengan pensado instalar un nuevo entorno de escritorio o pasar a una distro que por defecto usa otro diferente al que están usando actualmente, deben saber que no hay problema de compaitiblidad siempre y cuando satisfagas las dependencias. Y esas dependencias pasan por tener instaladas las bibliotecas gráficas de las que haga uso la aplicación o software en cuestión.

¿Qué entornos de escritorio usan Qt y cuales GTK?

logos qt y gtk

Esas dependencias a las que me refiero son las bibliotecas de Qt y GTK. Aquí tienes un listado de los entornos que usan una y otra, por tanto, todo lo dicho aquí también es válido para otros entornos basados en los citados:

  • Qt: KDE Plasma, Deepin Desktop Environment, LXQt, Trinity DE, etc.
  • GTK: GNOME, Cinnamon, LXDE, MATE, Pantheon, Xfce, Budgie, etc.

Ya deberías saber que Qt es un toolkit o entorno de trabajo de código abierto y libre. Qt fue desarrollado inicialmente por Haavard Nord y Eirik Chambe-Eng de la compañía noruega Trolltech (propiedad de Nokia). Aporta una serie de recursos a los desarrolladores, por ejemplo, para  dibujar elementos de una interfaz gráfica de usuario o GUI, proveer de una serie de herramientas necesarias, etc..

En el caso de GTK, también es otro toolkit de código abierto y libre para desarrollar GUIs. Fue desarrollada inicialmente para el programa GIMP, de hecho, las iniciales son de GIMP ToolKit. Al igual que Qt, prevee de herramientas, bibliotecas,… a los desarrolladores.

Cuestiones de compatibilidad:

Sin entrar en guerras absurdas sobre cuál es mejor, cuando tú instalas un programa que por defecto trabaja con Qt en un entorno con GTK o viceversa, el gestor de paquetes resolverá automáticamente las dependencias y entre ellas se encuentra instalar la biblioteca que falta. Por tanto, cero problemas de compatibilidad. Eso sí, siempre una app diseñada con la misma biblioteca nativa que usa el entorno se adaptará mejor, es decir, la integración será más buena…

Dicho de otro modo, tanto GTK (libgdk y libgtk) como Qt (libQtCore y libQtGui) solo son kits de herramientas para interfaces gráficas y mientras las tengas instaladas pueden funcionar perfectamente todo tipo de software, y sí…incluso tener ambas sin problema. Ellas serán los encargados de hacer uso de los comandos y protocolos del servidor X Window (o Wayland…) para crear las ventanas, dibujar objetos, recibir eventos de entrada del ratón, teclado, etc.

Más adelante hablaremos de la pila gráfica de Linux, que no es nada simple y entenderéis todo esto un poco mejor, ya que podréis comprobar que es como un gran pastel multicapa y podemos ir cambiando las capas (servidores gráficos, gestores de ventanas, entornos de escritorio, APIs gráficas, …) a gusto… e incluso cosas «tan aparentemente disparatadas» como ejecutar un programa X en un equipo diferente sin X permitiendo a dicha app cliente comunicarse con el servidor a través de una conexión de red entre ambas máquinas. Pero por el momento lo dejo aquí y espero haber resuelto la duda y que lleguen más.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar