2012-08-28 16 views
5

Il displayno è parte di X11 display name.Quanto sono alti i numeri di display X11?

Ho visto diverse definizioni che spiegano che è un numero da 0 in su, ma non ho visto nessun documento che spieghi se c'è un numero massimo di visualizzazione.

Qual è il numero più alto del display? Dove è definito?


Lo sfondo per questa domanda è che sto cercando di capire l'algoritmo di allocazione Mostra il numero di PyVirtualDisplay. Non ho ancora capito il ruolo dei file /tmp/.X*lock, ma sembra che la routine di allocazione sceglierà sempre numeri di visualizzazione crescenti, suggerendo a un certo punto di essere ripetutamente invocato che potrebbe raggiungere il limite e cadere, soprattutto se è piccolo.

risposta

9

Risposta breve: non è ben definito.

Risposta più lunga: dipende dal protocollo del flusso che si sta utilizzando. In TCP succede semplicemente di essere aggiunto al numero di porta di base di 6000, il che significa che il server non riuscirà a lanciare da qualche parte intorno al display numero 59535. Su socket di dominio unix è solo un numero intero aggiunto al nome socket sotto /tmp/.X11-unix (quindi se si ' lanciando il server con -nolisten tcp puoi avere qualche miliardo circa). In DECnet ... beh, non lo so, ma se ti trovi in ​​una situazione di cui preoccuparti, mi dispiace molto.

forse meglio risposta per i posteri: se si sta utilizzando un sufficientemente nuovo server X, è possibile utilizzare l'argomento -displayfd <n> per dire al server di semplicemente raccogliere un numero di visualizzazione disponibile, e scrivere di nuovo a voi su quel file descrittore. Pensa che è nuovo in xserver 1.13, che dovrebbe essere disponibile fino alla fine del 2012.

Problemi correlati