GNU/Linux >> Linux Esercitazione >  >> Linux

Xorg, X11, Wayland? Spiegazione di protocolli e server di visualizzazione Linux

Ti sei mai chiesto cosa fanno X server, Xorg, X11, Wayland e cose del genere? Wayland contro Xorg, cosa c'è di meglio? Questa guida è per te !

Ti imbatti sempre in quei termini e sai che hanno a che fare con la grafica, ma vorresti saperne di più.

Cos'è un server di visualizzazione in Linux?

Un server di visualizzazione è un programma il cui compito principale è coordinare l'input e l'output dei suoi client da e verso il resto del sistema operativo, l'hardware e l'altro. Il server di visualizzazione comunica con i suoi client tramite il protocollo del server di visualizzazione.

Il server di visualizzazione è fondamentale in qualsiasi interfaccia utente grafica, in particolare nel sistema a finestre. Il componente di base dell'interfaccia utente grafica (GUI) si trova tra l'interfaccia grafica e il kernel.

Quindi, grazie a un server di visualizzazione, puoi utilizzare il tuo computer con la GUI. Senza di esso, saresti limitato solo a un'interfaccia a riga di comando.

È fondamentale non confondere il server di visualizzazione con un ambiente desktop. Gli ambienti desktop (Gnome, KDE, Xfce, MATE e così via) utilizzano server di visualizzazione.

Il server di visualizzazione comunica con i suoi client tramite il protocollo del server di visualizzazione. Esistono tre protocolli di visualizzazione server disponibili in Linux. X11 e Wayland sono due di loro. Il terzo, Mir, va oltre lo scopo di questo tutorial.

X Window System, Xorg, X11, spiegato

Sistema X Window

X Window System, spesso indicato semplicemente come X, è vecchio. Originato per la prima volta nel 1984, era il sistema a finestre predefinito per la maggior parte dei sistemi operativi simili a UNIX, incluso Linux.

X.Org

Il server X.Org è l'implementazione gratuita e open source del server di visualizzazione X Window System gestito dalla X.Org Foundation. È un'applicazione che interagisce con le applicazioni client tramite il protocollo X11 per disegnare elementi sul display e inviare eventi di input come movimenti del mouse, clic e sequenze di tasti.

In genere, si avvia un server X che attende che le applicazioni del client si connettano ad esso. Tuttavia, Xorg si basa su un modello client/server e quindi consente ai client di essere eseguiti in locale o in remoto su una macchina diversa.

Se non è ovvio, è implicito nel design di X11 che l'applicazione e il display non devono trovarsi sullo stesso computer. Quando X è stato sviluppato, era diffuso che il server X funzionasse su una workstation e gli utenti eseguissero le applicazioni su un computer remoto con maggiore potenza di elaborazione.

X11

X11 è un protocollo di rete. Descrive come vengono scambiati i messaggi tra un client (applicazione) e il display (server). Questi messaggi in genere contengono comandi di disegno primitivi come "disegna una scatola", "scrivi questi caratteri in questa posizione", "è stato cliccato il pulsante sinistro del mouse", ecc.

Ma X11 è vecchio ed era ancora un mucchio di hack seduti sopra un protocollo non revisionato da oltre 30 anni. La maggior parte delle funzionalità del protocollo X Server non venivano più utilizzate.

Tutto il lavoro svolto da X11 è stato relegato alle singole applicazioni e al window manager. Eppure tutte quelle vecchie funzionalità sono ancora lì, a gravare su tutte queste applicazioni, danneggiando le prestazioni e la sicurezza.

Wayland, il server di visualizzazione di prossima generazione

Wayland è stato avviato da Kristian Hogsberg, uno sviluppatore di X.Org, come progetto personale nel 2008. Si tratta di un protocollo di comunicazione che specifica la comunicazione tra un server di visualizzazione e i suoi client.

Wayland è stato sviluppato come un progetto gratuito e open source guidato dalla community per sostituire l'X Window System (noto anche come X11 o Xorg) con un sistema di finestre moderno, sicuro e più semplice.

In Wayland, il compositore è il server di visualizzazione. Il compositore è un gestore di finestre che fornisce alle applicazioni un buffer fuori schermo per ogni finestra. Il window manager compone i buffer della finestra in un'immagine che rappresenta lo schermo e scrive il risultato nella memoria del display.

Il protocollo Wayland consente al compositore di inviare gli eventi di input direttamente ai client e consente al client di inviare l'evento di danno direttamente al compositore.

Come nel caso X, quando il client riceve l'evento, aggiorna l'interfaccia utente (UI). Ma in Wayland il rendering avviene nel client, quindi il client invia una richiesta al compositore per indicare la regione che è stata aggiornata.

Il principale vantaggio di Wayland rispetto a X è che parte da zero. Uno dei motivi principali della complessità di X è che, nel corso degli anni, il suo ruolo è cambiato. Di conseguenza, oggi X11 agisce in gran parte come un protocollo di comunicazione "davvero terribile" tra il client e il window manager.

Wayland è anche superiore quando si tratta di sicurezza. Con X11, è possibile fare qualcosa noto come "keylogging" consentendo a qualsiasi programma di esistere in background e leggere cosa sta succedendo con altre finestre aperte nell'area X11.

Questo semplicemente non accadrà con Wayland, poiché ogni programma funziona in modo indipendente.

Conclusione

Tuttavia, il sistema X Window ha ancora molti vantaggi rispetto a Wayland. Anche se Wayland elimina la maggior parte dei difetti di progettazione di Xorg, ha i suoi problemi. Anche se il progetto Wayland è attivo da più di dieci anni, le cose non sono stabili al 100%.

A partire dal 2022, la maggior parte dei videogiochi e delle applicazioni ad alta intensità grafica per Linux sono ancora scritti per X11. Inoltre, molti driver grafici closed-source, come quelli per GPU NVIDIA, non offrono ancora il supporto completo per Wayland.

X non può durare e Wayland, per molti versi, è un miglioramento. Ma per ora, la stragrande maggioranza delle applicazioni native è stata scritta per Xorg. Fino a quando tutte le app non saranno trasferite, Xorg deve essere mantenuto. Wayland non è ancora molto stabile rispetto a Xorg.


Linux
  1. Comunicazione tra processi in Linux:socket e segnali

  2. Comandi Head and Tail in Linux spiegati con esempi

  3. Registrazione dello schermo in Linux con OBS e Wayland

  4. Aggiungi e rimuovi i server GlusterFS

  5. Come installare RabbitMQ Server ed Erlang su Linux

Linux:come funziona il display di Linux?

Jenkins Server su Linux:un server di automazione gratuito e open source

30 strumenti e servizi interessanti per monitorare i tuoi server Linux

Utilizzo di Ajenti nella gestione dei server Linux

Come installare e configurare il server DNS in Linux

Come funziona il display di Linux?