Cosa significa effettivamente DISPLAY =: 0.0?


45

Cosa significa :0.0effettivamente? So che :0è il primo server X che viene avviato su un computer locale, :1il secondo, ecc. Ma che cosa è quella .0parte dopo :0? Esistono altre combinazioni? (ad es. :0.0-something)

Antefatto: sto cercando di migliorare l'initscript del calabrone che attualmente presuppone che :0sia il display attivo. Questo non è il caso se cambio utente. Quindi volevo validare la $DISPLAYvariabile prima di passarla a vglclient.


2
FWIW, en.wikipedia.org/wiki/X_Window_System#Nomenclature mi ha aiutato a capire alcuni di questi termini. Questa risposta ha anche informazioni utili.
caloroso

Risposte:


52

Il formato della variabile di visualizzazione è [host]:<display>[.screen].

host fa riferimento a un nome host di rete e, se assente, significa connettersi al computer locale tramite un socket di dominio unix.

Ogni host può avere più schermi e ogni schermo può avere più schermi. Gli schermi non vengono più utilizzati molto, con xinerama e ora xrandr che combina più schermi in un unico schermo logico.


4
Grazie, ho appena trovato anche la pagina di manuale corretta, Xserver(1)riferita alla DISPLAY NAMESsezione di X(7). Fare riferimento a quella pagina di manuale per i dettagli.
Lekensteyn,

5
E come posso ottenere un elenco di display disponibili per un determinato host? Idealmente all'interno di una sessione ssh in cui sono connesso all'host da un PC client.
con-f-use

3
La parte di visualizzazione viene utilizzata anche su X su SSH. A ogni nuova connessione SSH con l'inoltro X abilitato viene assegnato un display diverso, poiché queste schermate corrispondono internamente a un offset del numero di porta TCP, ad esempio DISPLAY=localhost:10.0indurrà il client a indirizzare l'output grafico alla localhostporta 6010 host . Ciò è necessario per l'inoltro SSH X, perché se hai più connessioni allo stesso computer, il tuo programma deve inviare output diversi a porte diverse in modo che il server SSH possa inoltrare l'output X alla destinazione corretta.
RAKK,

4
@Raza: i numeri di porta TCP da aprire sono 6000 + display_number. Per l'host di visualizzazione: 0.0 è la porta 6000. Per l'host di visualizzazione: 10.0 è la porta 6010. Notare che l'inoltro SSH X11 viene eseguito sulla porta 22 e non sulle porte X11.
Camh,

1
@Claudiu: DISPLAY =: 0 utilizzerà un socket di dominio unix, DISPLAY = localhost: 0 utilizzerà un socket di dominio Internet (IP). È probabile che il tuo server X non sia in ascolto su un endpoint TCP / IP. Non conosco il socket di dominio unix predefinito.
Camh,
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.