Riconciliazione terminologica: display manager vs. session manager, sistema Windowing vs. window manager


23

Sto seguendo il corso Introduzione a Linux della Linux Foundation . Parte della terminologia sembra sovrapporsi o contraddirsi, specialmente quando provo a integrare il materiale del corso con altre fonti, come TLDP e Wikipedia .

Un "Display Manager" è la stessa cosa di un "Session Manager"?

Display manager: programma che avvia una sessione del sistema di finestre avviando il sistema di finestre e di solito chiedendo un nome utente e una password.

Gestore sessioni: avvia e mantiene i componenti della sessione grafica.

Allo stesso modo, un "sistema a finestre" è la stessa cosa di un "gestore di finestre"?

Sistema di finestre: software che fornisce gli elementi chiave della GUI per l'utilizzo di software di alto livello. Fornisce alle applicazioni una superficie (di solito) rettangolare, ridimensionabile per presentare la sua GUI all'utente.

Gestione finestre: controlla il posizionamento e lo spostamento di finestre, finestre cromate e controlli.

E solo per essere sicuri di X: da quello che ho raccolto sembra che "X Window System" sia un sistema di finestre per display bitmap, "X11" è la versione corrente del protocollo per X Window System e "X.Org Server" è l'implementazione di riferimento del protocollo X11. È corretto?


Anche in quei fili, c'è confusione e contraddizione. Ad esempio nel thread SuperUser, Ignacio Vazquez-Abrams menziona: "X11 è un protocollo di rete", tuttavia l'utente113907 menziona: "X11 è il sistema di finestre (la cosa che disegna le finestre sullo schermo)".
dotancohen,

Grazie. Inizierò a lanciare alcuni doni in giro per risposte complete. Devo aspettare due giorni se metto la taglia su questo.
dotancohen,

Risposte:


7
Is a "Display Manager" the same thing as a "Session Manager"?

Risposta: No, non sono uguali. La session managergestisce la sessione, e il display managerè responsabile per la fornitura di voi con un interfaccia di login.

Likewise, is a "Windowing system" the same thing as a "Window manager"?

Risposta: No, sono diversi. Il si window mangagersiede in cima al Window system.

A Window system: Ad ogni applicazione attualmente in esecuzione viene assegnata una superficie del display di solito ridimensionabile e di solito rettangolare per presentare all'utente l'interfaccia grafica dell'utente; queste finestre possono sovrapporsi, a differenza di un'interfaccia di piastrellatura in cui non sono autorizzati a sovrapporsi.

Il window manager: Quando un gestore di finestre è in esecuzione, alcuni tipi di interazione tra il server X e i suoi client vengono reindirizzati tramite il gestore di finestre. In particolare, ogni volta che viene effettuato un tentativo di mostrare una nuova finestra, questa richiesta viene reindirizzata al gestore della finestra, che decide la posizione iniziale della finestra


Sorgente Gestione sessioni

Nel X Window System, un X session manager è un programma di gestione delle sessioni, un programma che può salvare e ripristinare lo stato corrente di un set di applicazioni in esecuzione.


Sorgente X window manager

Un gestore di finestre X è un gestore di finestre che gira su X Window System, un sistema di finestre utilizzato principalmente su sistemi simili a Unix.

Tipi di window managers

  1. Stacking window manager
  2. Gestori di finestre di piastrellatura
  3. Compositori di finestre composte
  4. Gestori di finestre virtuali
  5. Gestori di finestre estensibili

L'utente può scegliere tra vari third-party window managers, che differiscono l'uno dall'altro in diversi modi, tra cui:

personalizzazione dell'aspetto e della funzionalità:

  • menu testuali utilizzati per avviare programmi e / o modificare opzioni

  • dock e altri modi grafici per avviare i programmi

  • più desktop e desktop virtuali (desktop più grandi delle dimensioni del monitor fisico) e cercapersone 1 per passare da uno all'altro

  • consumo di memoria e altre risorse di sistema

  • grado di integrazione con un ambiente desktop, che fornisce un'interfaccia più completa al sistema operativo e offre una gamma di utilità e applicazioni integrate.

Mentre l'obiettivo principale di un gestore di finestre è gestire le finestre, molti gestori di finestre hanno funzionalità aggiuntive come la gestione dei clic del mouse nella finestra principale, la presentazione di riquadri e altri elementi visivi, la gestione di alcuni tasti (ad esempio, Alt-F4 potrebbe chiudere una finestra ), decidendo quale applicazione eseguire all'avvio, ecc.


Sorgente del gestore display (è presente un elenco di gestori display nel sito Web di origine)

A display manager, o gestore degli accessi, è in genere un'interfaccia utente grafica che viene visualizzata al termine del processo di avvio al posto della shell predefinita. Esistono varie implementazioni di gestori display, così come esistono vari tipi di gestori finestre e ambienti desktop. Di solito c'è una certa quantità di personalizzazione e tematizzazione disponibili con ognuno.

X sorgente del display manager

Nel X Window System, un display manager X viene eseguito come un programma che consente l'avvio di una sessione su un server X dallo stesso o da un altro computer.

A display managerpresenta all'utente una schermata di accesso che richiede nome utente e password. Una sessione inizia quando l'utente inserisce correttamente una combinazione valida di nome utente e password.


La fonte del sistema X Window

Manuale Debian per il sistema x window

sito xorg

L' X Window System(X11, X, e, talvolta, in modo informale X-Windows) è un sistema a finestre per display bitmap, comune in UNIX-like sistemi operativi del computer.

X fornisce il framework di base per un ambiente GUI: disegnare e spostare finestre sul dispositivo di visualizzazione e interagire con mouse e tastiera. X non impone l'interfaccia utente - questo è gestito da singoli programmi. Pertanto, lo stile visivo degli ambienti basati su X varia notevolmente; programmi diversi possono presentare interfacce radicalmente diverse.


14

Ecco una caratterizzazione approssimativa molto breve:

Display manager: il programma che ti fornisce un accesso grafico e quindi avvia la sessione. Funziona come utente root o dedicato.

Gestore sessioni: il programma che controlla effettivamente la sessione. Funziona con il tuo account.

Sistema di finestre: il sistema completo di disegno / controllo della GUI. Descrive non un componente in sé, ma tutti i componenti insieme.

Window manager: il programma che determina dove vengono posizionate le finestre, quali decorazioni (cornice, pulsanti chiudi / iconizza / menu, ecc.) Ottengono e come ottengono / perdono lo stato attivo.


Quindi un ambiente desktop richiede tutto questo?
sabato

13

Un sistema a finestre è un componente software che fornisce finestre alle quali le applicazioni possono disegnare e possono visualizzare queste finestre sullo schermo. Il sistema X Window è il sistema a finestre standard su sistemi Unix; al di fuori di Mac OS X, in realtà non ha concorrenza (questo può cambiare se Wayland o Mir diventano vitali). Il sistema X Window ha un'architettura client-server, in cui il server (noto come server X o server X11) gestisce l'hardware di visualizzazione e i client sono applicazioni. Le applicazioni che visualizzano finestre su un server X sono note come client X o applicazioni X (o client X11 o applicazioni X11).

Per quanto riguarda le applicazioni, ciò che conta è il protocollo di comunicazione tra le applicazioni e il sistema di finestre. Questo protocollo è noto come X11 (11a versione del protocollo, la versione attuale dal 1987), con diverse estensioni comuni.

X.Org è un'implementazione del sistema X Window. È stata l'implementazione standard di fatto dall'inizio del progetto nel 2004, prendendo il posto di XFree86 . X.Org include parti generiche e specifiche dell'hardware del server X, nonché una serie di librerie e utilità client.

Un display manager è un'applicazione X11 il cui scopo è autenticare un utente (in genere richiedendo un nome utente e una password) e, in caso di autenticazione riuscita, avviare una sessione come tale utente. Il display manager funziona come root (almeno in parte) e termina o almeno lascia il primo piano mentre un utente è connesso. Il display manager si occupa dell'avvio di un server X che serve sia il prompt di accesso che la successiva sessione utente.

Un gestore sessioni è un programma il cui compito è avviare altri programmi. È il primo programma avviato come parte della sessione interattiva di un utente. Può essere avviato dal display manager (dopo che ha lasciato cadere i privilegi). Può anche essere avviato da un programma in esecuzione come utente se l'utente ha effettuato l'accesso in qualche modo diverso da un display manager, in genere con un prompt di accesso in modalità testo; questo di solito viene fatto tramitestartxscript che si occupa dell'avvio di un server X, dell'esecuzione del gestore sessioni e dell'uccisione del server X al termine. Il gestore della sessione può essere qualsiasi cosa, da un semplice emulatore di terminale in cui l'utente può digitare comandi, a uno script che avvia diversi programmi predefiniti, a un programma sofisticato che ricorda le applicazioni e le posizioni delle finestre da una sessione alla successiva. La sessione termina alla chiusura del gestore sessioni.

Un gestore di finestre è un client X con un ruolo speciale. Riceve notifiche quando vengono create nuove finestre e in genere intercetta una serie di eventi utente (associazioni di tasti e mouse). Il suo compito è scegliere dove visualizzare le finestre e a quali dimensioni, mostrare e nascondere le finestre, visualizzare le decorazioni delle finestre (bordi, barra del titolo, ...), ecc. Praticamente ogni gestore di finestre può fungere da gestore di sessioni - il gestore di finestre deve comunque funzionare per l'intera sessione. La maggior parte dei gestori di finestre offre agli utenti un modo per avviare nuovi programmi tramite menu o combinazioni di tasti, sebbene a rigor di termini ciò non faccia parte del ruolo di gestore di finestre.

Un altro termine che non hai menzionato è un ambiente desktop . Un ambiente desktop è una raccolta di client X che comprende almeno un gestore di sessioni, un gestore di finestre e una shell grafica , nonché una raccolta di utilità come menu, dock, gestore di appunti, funzionalità macro, ecc.


Puoi avere un WM senza un DE? Un DE è un WM con alcuni extra essenziali? Quali aspetti creano la differenziazione?
Vass

@Vass Un WM è uno dei componenti di un DE. Vedere l'ultimo paragrafo della mia risposta e seguire i collegamenti per ulteriori informazioni.
Gilles 'SO- smetti di essere cattivo' il

10

Un "Display Manager" è la stessa cosa di un "Session Manager"?

Non del tutto, ma spesso si sovrappongono nell'attuazione.

Un Display Manager accede semplicemente l'utente e avvia una sessione, che comprende tutti i programmi eseguiti dal momento in cui accedi quando esci di nuovo dal computer. Comunemente il display manager avvia un ambiente desktop e spesso anche un gestore sessioni per l'utente.

Un ambiente desktop è costituito principalmente da un gestore di finestre ma comprende anche molti altri programmi che l'utente si aspetta su un computer desktop, ad esempio l'ambiente desktop GNOME ha un browser Web chiamato Web e un file manager chiamato File (precedentemente noto come Nautilus).

Un Session Manager, d'altra parte, è responsabile della memorizzazione delle applicazioni attualmente in esecuzione quando l'utente si disconnette, avviandole di nuovo quando l'utente accede di nuovo e avviando automaticamente una serie di programmi e demoni in background per un ambiente desktop. Ad esempio, quando ti disconnetti, potresti salvare che stavi eseguendo Chromium e quindi riavviarlo quando esegui l'accesso o avviare automaticamente cose come il portachiavi GNOME che può memorizzare password e chiavi per vari programmi.

Quindi puoi avere un Display Manager senza un Session Manager, allo stesso modo puoi avere un Session Manager senza un Display Manager, o entrambi allo stesso timer, o addirittura nessuno dei due.

Allo stesso modo, un "sistema a finestre" è la stessa cosa di un "gestore di finestre"?

No, sono termini abbastanza diversi ma comprensibilmente facili da confondere. X Window System è un sistema a finestre che consiste in un server X, il protocollo X11 e i client X che parlano al server. (I client sono i programmi che esegui sul tuo computer.)

Nel sistema X Window hai X client che parlano a un'istanza in esecuzione di X Server usando il protocollo X11. I client X inviano messaggi al server X che gli dice cosa disegnare sullo schermo, e il server X è ciò che effettivamente parla con la scheda grafica e mostra ciò che è stato detto di disegnare sullo schermo.

È importante notare che lo stesso sistema X Window non gestisce Windows. Il gestore delle finestre che viene avviato quando accedi dice al server X dove sono le finestre sullo schermo, disegna decorazioni delle finestre come bordi e una barra del titolo ed è ciò che ti consente di spostare le finestre sullo schermo, chiuderle, ecc. .. Senza un gestore di finestre che esegue tutto ciò che vedi sono i client X che avvii senza decorazioni di finestre e non sarai in grado di spostare le finestre.

Il server di implementazione di riferimento di X Window System è X.Org Server , alcuni esempi di Window Manager sono KWin di KDE, Mutter di GNOME e Window Manager di piastrellatura come i3 e dwm. I client X includono cose come browser web (come Chromium e Firefox), client di posta (come Thunderbird), emulatori di terminali (come GNOME Terminal e termite) e ogni altra applicazione X che ti viene in mente.

E solo per essere sicuri di X: da quello che ho raccolto sembra che "X Window System" sia un sistema di finestre per display bitmap, "X11" è la versione corrente del protocollo per X Window System e "X.Org Server" è l'implementazione di riferimento del protocollo X11. È corretto?

Corretta.


Citando la manpage di XDM del gestore desktop predefinito di X Window System:

Xdm offre servizi simili a quelli forniti da init, getty e login sui terminali dei caratteri: richiesta di nome e password di accesso, autenticazione dell'utente ed esecuzione di una '' sessione ''.

Una "sessione" è definita dalla durata di un determinato processo; nel tradizionale mondo terminale basato sui caratteri, è la shell di accesso dell'utente. Nel contesto xdm, è un session manager arbitrario. ... Quando un vero gestore di sessioni non è disponibile, un gestore di finestre o un emulatore di terminale viene generalmente utilizzato come "gestore di sessioni", il che significa che l'interruzione di questo processo termina la sessione dell'utente.

- XDM (1)


Chiarimento: il tuo "corretto". nell'ultimo paragrafo si riferisce alla seconda domanda nella citazione è sotto, non la prima, giusto?
Izkata,

Ah, sì, non ci ho nemmeno pensato. Lo cambierà.
kyrias,

Puoi avere più finestre senza un gestore di finestre. Non avranno decorazioni, non sarai in grado di trascinarle o ridimensionarle, ecc. Ma saranno comunque tutte sullo schermo nella configurazione che dai loro quando le crei.
Barmar,

@Barmar Ah, grazie, non eseguire mai più applicazioni X senza una WM prima, ma immagino che non avrebbe molto senso se tu potessi averne solo una in esecuzione.
kyrias,
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.