2012-08-28 16 views
5

El displayno es parte del X11 display name.¿Qué tan alto van los números de la pantalla X11?

He visto varias definiciones que explican que es un número de 0 en adelante, pero no he visto ningún documento que explique si hay un número de pantalla máximo.

¿Cuál es el número de pantalla más alto? ¿Dónde está definido?


El trasfondo de esta pregunta es que yo estoy tratando de entender el número de visualización algoritmo de asignación de PyVirtualDisplay. Todavía no he entendido el papel de los archivos /tmp/.X*lock, pero parece que la rutina de asignación elegirá siempre aumentar los números de pantalla, lo que sugiere que en algún momento de invocación repetida podría llegar al límite y caerse, especialmente si es pequeño

Respuesta

9

Respuesta corta: no está bien definido.

Respuesta más larga: depende del protocolo de transmisión que esté utilizando. En TCP simplemente se agrega al número de puerto base de 6000, lo que significa que el servidor no podrá iniciarse en algún lugar alrededor del número de pantalla 59535. En los sockets de dominio de Unix, es solo un entero adjunto al nombre del socket bajo /tmp/.X11-unix (por lo tanto, si re lanzando el servidor con -nolisten tcp puede tener algunos miles de millones más o menos). En DECnet ... bueno, no sé, pero si alguna vez te encuentras en una situación que te importe, lo siento mucho.

posiblemente mejor respuesta para la posteridad: si está utilizando suficientemente nuevo servidor X, puede utilizar el argumento -displayfd <n> para indicar al servidor que simplemente recoger un número de visualización disponible, y escribir de nuevo a usted en ese archivo descriptor. Piensa que es nuevo en xserver 1.13, que debería estar fuera de finales de 2012.

Cuestiones relacionadas