Che cos'è esattamente X11?


14

Sto leggendo Wikipedia su X11 e dice che:

Nella sua distribuzione standard è una soluzione di visualizzazione e interfaccia completa, sebbene semplice, che offre un set di strumenti standard e stack di protocolli per la creazione di interfacce utente grafiche sulla maggior parte dei sistemi operativi simili a Unix ...

Ma più tardi dice che:

X definisce principalmente i protocolli e le primitive grafiche - non contiene deliberatamente alcuna specifica per la progettazione dell'interfaccia utente dell'applicazione, come stili di barra dei titoli di pulsanti, menu o finestre.

Quindi, X11 fornisce widget come un pulsante o un pannello / cornice di una finestra, ecc. Oppure no? Che cos'è una primitiva grafica? Cosa fornisce esattamente X11?

Si afferma inoltre che:

X non impone l'interfaccia utente; i singoli programmi client gestiscono questo. I programmi possono usare le capacità grafiche di X senza interfaccia utente.

Cosa significa questo?


4
Penso che dovresti probabilmente andare alla pagina di conversazione corrispondente a quella pagina in Wikipedia e iniziare una conversazione mirando agli autori a chiarire il loro articolo.
RealSkeptic,

Risposte:


18

Come molte parole, "X11" può avere più significati.

"X11" è, in senso stretto, un protocollo di comunicazione. Nelle frasi "X definisce principalmente protocolli e primitive grafiche ..." e "X non impone l'interfaccia utente ...", questo è ciò a cui X fa riferimento. X è una famiglia di protocolli, X11 è l'undicesima versione e l'unica che è stata in uso negli ultimi 25 anni circa.

La prima frase nella tua domanda si riferisce a una distribuzione software che è l'implementazione di riferimento del protocollo X11. Il nome completo di questa distribuzione di software è "il sistema X Window". Questa distribuzione include programmi che fungono da server nel protocollo X11, programmi che fungono da client nel protocollo X11, librerie di codici che contengono codice che utilizza il protocollo X11, documentazione associata, risorse come caratteri e layout di tastiera che possono essere utilizzati con i suddetti programmi e librerie, ecc. Storicamente , questa distribuzione di software è stata effettuata dal MIT; oggi è gestito dalla X.Org Foundation .

Il protocollo X11 consente alle applicazioni di creare oggetti come finestre e utilizzare primitive di disegno di base (ad esempio riempire un rettangolo, visualizzare del testo). Widget come pulsanti, menu, ecc. Sono creati dalle librerie client. Il sistema X Window include una libreria di base (il set di widget Athena ) ma la maggior parte delle applicazioni utilizza librerie più elaborate come GTK + , Qt , Motif , ecc.

Alcuni programmi X11 non hanno affatto un'interfaccia utente grafica, ad esempio strumenti da riga di comando come xset , xsel e xdotool , programmi di associazione tasti come xbindkeys , ecc. La maggior parte dei programmi X11 ha ovviamente una GUI.


2

X11, noto anche come X.org Foundation Windowing, è sostanzialmente utilizzato da altri ambienti desktop come KDE e GNOME, tra molti altri, per fornire l'interfaccia astratta alla gestione di una GUI. Senza fare affidamento su X, KDE / GNOME / altri dovrebbero scrivere il codice per fare da soli cose di codifica di basso livello. Invece, KDE / GNOME comunicano avanti e indietro con X (funziona come un processo server al quale si connettono i "client").


2
Anche questo aiuto lo spiega, oltre a fornire alcuni spunti sul perché Wayland e altri sostituti di X sono in fase di costruzione: art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
crajun

Questo è un rant.
Stefan Skoglund,

E spiega anche in un altro modo la caratterizzazione di Ken Olsen di UNIX come prodotti per venditori ambulanti di olio di serpente, ma questo è capitalismo! L'affermazione è il design per MOTIF e funziona ovunque, al giorno d'oggi è più simile al design per Windows MS e funziona ovunque (questo è un monopolio non un mercato.) Ken Olsen sapeva benissimo che il design per MOTIF e run-on-tutto non è in l'interesse dei produttori - ergo non succederà davvero.
Stefan Skoglund,

1

Alcuni concetti:
- X Sistema Windows Sistema Windows . (rendere possibile lo spostamento di finestre sul dispositivo di visualizzazione e l'interazione con mouse e tastiera)
- X.Org Server Un'implementazione open source di X Windows System da parte di X.Org Foundation.
- emulatore di terminale xterm per il sistema X Windows.
- X Client : un'applicazione viene eseguita su un server X. Il sistema X windows richiede che i client e il server funzionino separatamente. Le applicazioni come QT, GTK e altri client X necessitano della collaborazione del server X per funzionare correttamente.

In precedenza, mi sento anche molto confuso su questo problema. Inizialmente, ho installato il sistema Linux a parte Windows, per molte volte ho riscontrato problemi con errori Xorg.
Di recente, utilizzo xclipsul server remoto. Il software ha bisogno DISPLAYdi impostare una variabile d'ambiente , che non è il caso nel mio server remoto. Non ci sono monitor, mouse o tastiera e la variabile è gestita da X server.


1

Il sistema di finestre X11 aveva il supporto (con supporto speciale dei produttori) per un discreto numero di costruzioni / progetti piuttosto complicati.

L'uso di DisplayPostscript in NeWS (Sun / Sony) significava che nel server era integrato un supporto Postscript completo e piuttosto piacevole (Display). Questo supporto era impiegato in remoto dall'applicazione, ad esempio un programma in esecuzione su un cray x-mp poteva con gli stessi vincoli / interfaccia / abilità mostrano una carta sismica sul computer nello stesso modo in cui la stessa carta veniva stampata su una stampante / fotocopiatrice laser di fascia alta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.