Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son las diferencias entre Linux GTK, KDE, Gnome y XWindows?

¿Cuáles son las diferencias entre Linux GTK, KDE, Gnome y XWindows?

Linux hereda la filosofía de diseño centrada en la red de Unix y es un sistema operativo de red multiusuario con un rendimiento estable. La interfaz gráfica de Linux es la visualización e implementación de muchas aplicaciones. Este artículo presenta principalmente las interfaces gráficas de GTK, KDE, Gnome y XWindows. Los amigos que lo necesiten pueden consultarlo.

Introducción detallada

Primero, la implementación de la interfaz gráfica de Linux es solo la implementación de la aplicación en Linux.

La interfaz gráfica (GUI) no forma parte de Linux. Linux es sólo un sistema operativo basado en línea de comandos. La relación entre Linux y Xfree es equivalente a la relación entre DOS y Windows 3.0. Windows 3.0 no es un sistema operativo independiente, sino una extensión de DOS. Es un sistema de nivel de aplicación (GUI) en DOS, no un sistema operativo independiente. De manera similar, XFree es solo una aplicación en Linux y no forma parte del sistema, pero la existencia de X puede facilitar a los usuarios el uso de sus computadoras. Windows 95 y posteriores son diferentes. Su interfaz gráfica es parte del sistema operativo y la interfaz gráfica está implementada en el núcleo del sistema. Sin una interfaz gráfica, Windows no se convertiría en Windows, pero Linux es diferente. Sin la interfaz gráfica, Linux sigue siendo Linux. Muchos servidores WEB con Linux no instalarán el servidor X en absoluto. Esta es también una de las diferencias importantes entre WINDOWS y Linux.

En segundo lugar, X es un protocolo, no un software específico.

x es un protocolo, al igual que el protocolo HTTP y el protocolo IP. Debido a que el dispositivo de entrada y el dispositivo de visualización no son el mismo dispositivo y necesitan cooperar entre sí para mostrar la pantalla, se necesita un protocolo interactivo para establecer un puente de comunicación directa entre los dos.

El protocolo X se compone principalmente de aplicaciones X y servidores X. Por ejemplo, necesito dibujar un círculo. La aplicación X le dice al servidor X que dibuje un círculo grande de qué color se encuentra en la pantalla. Las acciones de "dibujo" específicas, como cómo generar el círculo y qué controlador de tarjeta gráfica usar para ordenarle que complete la tarjeta gráfica. todo completado por el servidor X.

El servidor X también se encarga de capturar los movimientos del teclado y el ratón. Supongamos que el servidor X captura que se presiona el botón izquierdo del mouse y le dice a la aplicación X: Estimado Sr. Aplicación, noté que se presionó el botón del mouse. ¿Tiene alguna instrucción? Si la aplicación X está diseñada para dibujar un cuadrado en la pantalla después de presionar el botón izquierdo del mouse, entonces la aplicación X le dirá al servidor X: Dibuja otro cuadrado. Claro, le dice al servidor dónde y de qué color dibujar un cuadrado grande, pero no le importa cómo. Eso es cosa del servidor.

3. La relación entre el orden del tráfico. Xfree86 es un "policía de tránsito" que implementa los acuerdos de acuerdo con las regulaciones. Completa las tareas que se muestran en la pantalla enviada por la aplicación X de acuerdo con las disposiciones del Acuerdo X. Por supuesto, no sólo la policía de tránsito específica puede mantener y hacer cumplir esta regla. Por ejemplo, los guardias de tránsito también pueden hacer cumplir las leyes de tránsito y la policía puede intervenir cuando sea necesario. Por supuesto, si todos comprenden las leyes de tránsito, deben comprender el protocolo, por lo que el software que implementa el protocolo X no es solo XFree86. MOTIF se usa comúnmente en los negocios, y ahora existe XORG, y hay muchos pequeños programas de servidor X escritos por entusiastas. Incluso el servidor X puede ejecutarse en Windows, por lo que puede ejecutar una aplicación X en un sistema Linux y otro sistema Windows. . mostrado en. ¡Qué asombroso! Puede utilizar Google para encontrar dicho software de servidor X, pero el más utilizado en Linux es XFree86 (la distribución actual de LINUX utiliza Xorg). Por cierto, la interfaz gráfica de las computadoras Apple también utiliza el protocolo X, que se considera la mejor interfaz gráfica, y su implementación es la razón por la cual todo el software está en la plataforma Apple.

Para facilitar la comprensión, compare el protocolo HTTP:

1) El protocolo es HTTP (Protocolo de transferencia de hipertexto).

Los servidores comúnmente utilizados que implementan este protocolo incluyen apacheIIS, etc.

Los clientes que solicitan estos servidores para transferir archivos incluyen: IE, MOZILLA, NETSCAPE, etc.

2) El protocolo es x.

Los servidores comúnmente utilizados que implementan este protocolo incluyen: Xfree86, Xorg, Xnest, etc.

Clientes que solicitan a estos servidores completar tareas de visualización: todas las aplicaciones X.

Es solo que el servidor y el cliente del protocolo HTTP generalmente se implementan entre dos computadoras diferentes (servidor y cliente), por lo que es más fácil para la gente común entender esto. Sin embargo, los programas servidor y cliente del protocolo X suelen estar en la misma computadora, por lo que a muchos usuarios les resulta difícil entender esto. Dado que es un protocolo, debe ser independiente de la plataforma, por lo que la aplicación X se puede mostrar en cualquier computadora remota equipada con un servidor X, o incluso en un sistema Windows equipado con un servidor Xnest. Pero en la mayoría de los casos, las aplicaciones X utilizan el servidor X local y luego el servidor X envía los resultados de la visualización al monitor local. Es por eso que muchas personas no entienden que X es un protocolo.

4.X, ¿cuál es la relación entre X11 y X11R6?

No sé si los principiantes se han dado cuenta del directorio /usr/X11R6, que es el directorio de instalación predeterminado de XFree.

X11R6 en realidad se refiere a Xprotocol versión 11 versión 6 (la sexta versión del protocolo X versión 11), lo que significa que el protocolo X actualmente en uso es la versión 11, que ha sido revisada seis veces. Las diferentes versiones del protocolo X no pueden interoperar, al igual que ahora no podemos interoperar con IPV4 e IPV6, pero no se preocupe, el software del servidor X actual y las aplicaciones X siguen X11R6.

Además, XFree86 3.3.6, XFree86 4.3.6 y otras versiones son todos números de versión de XFree86, que es un concepto que los principiantes suelen confundir.

¿Has distinguido claramente entre dos conceptos: versión del protocolo y versión del software que implementa el protocolo?

Administrador de ventanas Verb (abreviatura de verbo)

Las funciones del administrador de ventanas son maximizar, minimizar, mover y cerrar ventanas, que no son completadas por el servidor X. Si no tiene un administrador de ventanas, la aplicación X aún se puede iniciar, pero está en el medio de la pantalla y no se puede mover, minimizar, maximizar ni dejar bordes.

Xfree86 viene con un sencillo gestor de ventanas: twm, y también existen gestores de ventanas como GNOME y KDE. Para comprender más convenientemente las funciones del administrador de ventanas, podemos realizar las siguientes pruebas (debido a que estoy usando Ubuntu, no puedo confirmar la exactitud de las siguientes operaciones y comandos, así que pídale a amigos calificados que prueben lo siguiente y me brinden correcciones). ).

1. Después de que se inicie el sistema (Linux con interfaz), ingrese a la interfaz gráfica. Abrimos un XTERM y escribimos init3 para volver de forma segura a la interfaz de caracteres.

2. Ingrese #startx para regresar a la interfaz gráfica. Lo que ves es un entorno operativo de interfaz gráfica completo, todo es como de costumbre. Puede maximizar, minimizar, mover y cerrar la ventana.

3. Ingresemos nuevamente a la interfaz de caracteres, presione ctrl+alt+retroceso para regresar a la interfaz de caracteres, ingrese: #xinit (nota: diferente del comando startx en el segundo paso) y comencemos. la interfaz gráfica nuevamente. ¿Qué viste? Verá un XTERM. No puedes moverlo. Pero puedes ingresar comandos en este XTERM para abrir aplicaciones X. Si escribo: #mozilla. Cuando abres tu navegador, ¿ves algo diferente al respecto? Está en el medio de la pantalla, no se puede mover, minimizar, maximizar y no tiene bordes.

¿Por qué las mismas aplicaciones X son tan diferentes? Porque cuando usamos startx para iniciar la interfaz gráfica, también iniciamos un WM predeterminado (es decir, el administrador de ventanas). Si usas KDE, inicias KDE, si usas GNOME, inicias GNOME, pero cuando usas xinit para iniciar la interfaz gráfica, no inicias WM.

4. Si usas xinit para iniciar la interfaz gráfica e ingresas twm en xterm, ¿qué pasará? Xterm agrega un borde a través del cual puede mover, maximizar y minimizar xterm. twm es el administrador de ventanas que viene con XFree86. Es un administrador de ventanas relativamente simple y simple, pero tiene todas las características de un administrador de ventanas.

5. Si ingresa GNOME-session en lugar de twm, puede iniciar GNOME o startkde.

A través de los experimentos anteriores, puede comprender claramente la relación entre ellos. Otros administradores de ventanas pequeñas incluyen:

Windowmaker, after step, blackbox, fvwm, fvwm2, etc. son excelentes administradores de ventanas comúnmente utilizados. Hay un creador de ventanas en REDHAT9, pero no está instalado de forma predeterminada. Puedes probarlo. Siempre que xinit y w maker & puedan usar windowmaker.

6. ¿Quién implementa en ocasiones clientes del protocolo X?

XFree86 es el software de servidor del protocolo X (tenga en cuenta que se implementa en forma de software), pero es más conveniente para los programadores utilizar el contenido del acuerdo X para el cliente. Si aún cree que es inconveniente usar Xlib directamente, se generan QT y GTK, que encapsulan aún más Xlib y proporcionan muchos controles, que pueden usar intuitivamente el protocolo X y facilitar el desarrollo del programador.

La relación directa entre Xlib, QT y GTK es la siguiente:

QT usa directamente la biblioteca xlib, mientras que GTK no puede usar xlib directamente, sino que usa las bibliotecas de funciones de nivel inferior GDK y simplista. Esta estructura facilita la portabilidad de Gtk a otros sistemas o el uso de bibliotecas de gráficos independientes de los sistemas XWindows.

7. KDE, Gnome, QT y GTK están directamente relacionados.

KDE y GNOME son gestores de ventanas. Luego de iniciarlos, ingresamos a la operación visual (interfaz gráfica). Dado que es necesario mostrar gráficos, es natural tratar con el software de servidor del protocolo X. Dado que QT y GTK encapsulan aún más el protocolo X, proporcionan ventanas y mecanismos de control más ricos, por lo que el administrador de ventanas basado en QT se llama KDE y el administrador de ventanas basado en GTK se llama GNOME.

Nuevamente: KDE y GNOME no son sólo administradores de ventanas, también proporcionan escritorios, menús, etc.

KDE y Gnome son ambos entornos de escritorio que utilizan diferentes bibliotecas, como KDE, Gnome, XFCE, LXDE, etc.

Kde usa la biblioteca qt, pero la biblioteca qt no es gratuita y existen algunos problemas de derechos de autor con el software basado en qt. Entonces alguien desarrolló gnome y usó la biblioteca gtk. No hubo problemas de derechos de autor con la biblioteca qt.

(La biblioteca qt y la biblioteca gtk son equivalentes a la biblioteca MFC en Windows)

Suplemento: comandos básicos de Linux

Comando 1.ls:

format::ls[opción][directorio o documento]

Función: para un directorio, enumere todos los subdirectorios y archivos bajo el directorio, para los archivos, enumere el nombre del archivo y otra información.

Opciones comunes:

-a: enumera todos los archivos en el directorio, incluidos los archivos implícitos que comienzan con...

-d: cambia el directorio como se muestra un archivo, no otro archivo.

-i: genera la información del índice del nodo I del archivo.

-k: Representa el tamaño del archivo en k bytes.

-l: Listar detalles del archivo.

-n: Reemplaza nombres con UID y GID numéricos.

-F: Añade un carácter a cada nombre de archivo para indicar el tipo de archivo. *? representa un documento ordinario ejecutable;? /?Representa un directorio;? @? representa un enlace simbólico;? ¿yo? significa FIFOS? =? significa enchufe.

Comando 2.cd

Formato: CD[nombre del directorio]

Opciones comunes:

Cadmio..Volver al directorio anterior .

Cd../ ..Mueve el directorio actual dos niveles arriba.

Volver a directorios visitados recientemente.

Comando 3.pwd

Formato: pwd

Función: muestra la ruta absoluta del directorio de trabajo actual.

Lectura relacionada: Principales características de Linux

Totalmente compatible con el estándar POSIX1.0.

Esto hace posible ejecutar programas DOS y Windows de uso común en Linux a través de los emuladores correspondientes. Esto sienta las bases para que los usuarios cambien de Windows a Linux. Cuando muchos usuarios consideran usar Linux, piensan si los programas comunes en Windows pueden ejecutarse normalmente, lo que elimina sus dudas.

Multiusuario, multitarea

Linux admite múltiples usuarios. Cada usuario tiene sus propios permisos especiales en sus propios dispositivos de archivos, lo que garantiza que cada usuario no se afecte entre sí. La multitarea es una de las características más importantes de las computadoras actuales. Linux permite que varios programas se ejecuten de forma independiente al mismo tiempo.

Buena interfaz

Linux tiene tanto una interfaz de caracteres como una interfaz gráfica. En la interfaz de caracteres, los usuarios pueden ingresar las instrucciones correspondientes a través del teclado para realizar operaciones. Al mismo tiempo, también proporciona un sistema X-Window similar a la interfaz gráfica de Windows, que los usuarios pueden operar con el mouse. En el entorno X-Window, es similar a Windows y se puede decir que es la versión Linux de Windows.

Soporta múltiples plataformas

Linux puede ejecutarse en una variedad de plataformas de hardware, como plataformas que utilizan x86, 680x0, SPARC, Alpha y otros procesadores. Además, Linux es un sistema operativo integrado que puede ejecutarse en PDA, decodificadores o consolas de juegos. 2006 54 38+0 El kernel de Linux lanzado en junio es totalmente compatible con la arquitectura de chip Intel de 64 bits. Linux también admite la tecnología multiprocesador. Varios procesadores funcionan simultáneamente, lo que mejora enormemente el rendimiento del sistema.