¿Dónde hay pantallas que no sean ": 0"?

11

X Power Tools -book tiene una oración sobre ": 0":

Pantalla 0 en la computadora local, conectada por un esquema de conexión local

Intenté abrir un reloj con "xclock -display: 2", pero recibí un error:

No se puede abrir la pantalla: 2

¿Cómo se supone que debo programar si no puedo hacer que las pantallas funcionen? ¿Realmente puedes hacer todo al respecto? ¿Cómo puede ejecutar programas, como Vim y gcc, en las pantallas 3 y 999? ¿Dónde están?

Léo Léopold Hertz 준영
fuente

Respuestas:

5

Además de todas las referencias a: 1,: 2, etc. También puede especificar un nombre de red o una dirección IP antes de los dos puntos, por ejemplo 192.168.0.1:0: esto se conectará a una máquina a través de la red. La mayoría de los servidores X modernos tienen autenticación ("MIT-MAGIC-COOKIE"), tendrá que resolver eso antes de conectarse: vea xhosty xauth.

Además, si lo usa ssh -X <remotehost>, cualquier comando X que ejecute en esa sesión ssh se conectará a un puerto diferente (se muestra una prueba rápida en mi cuadro :10), que luego se empuja a través de su conexión ssh al cuadro de donde viene, y aparecerá en tu pantalla allí.

AMADANON Inc.
fuente
10

Tiene que ver con el servidor X Window. Definen qué números de pantalla hay.

No debería preocuparse por admitir explícitamente un número de pantalla; a lo sumo, simplemente entrega la referencia a la biblioteca del Cliente X Window y deja que se dé cuenta.

Los servidores modernos pueden hacer múltiples pantallas disponibles con adaptadores de múltiples cabezales y con múltiples adaptadores. La gran mayoría de las veces, :0será su única pantalla. Esto se debe a que realmente solo hay uno, y ese es el número predeterminado cuando solo hay uno. Es posible hacer que comience como :2, lo cual es inusual, pero todo funcionaría bien.

Con pantallas de múltiples cabezales y / o tarjetas múltiples, es posible que un servidor X administre múltiples pantallas como pantallas discretas (es decir, con cosas como Xinerama apagadas). Entonces puede obtener números de pantalla como :0.0y :0.1. Solía ​​ejecutar un escritorio como este durante mucho tiempo. Nada se rompió porque todo tomó el número de pantalla y simplemente lo entregó a la biblioteca de X Client. Una ventaja inusual es que cada pantalla tiene su propia lista de escritorios virtuales. En una pantalla Xinerama, no puedes hacer eso. Pero tiene la desventaja de no poder mover ventanas entre pantallas, porque tienen números de pantalla diferentes.

Incluso puede hacer cosas como ejecutar múltiples servidores X. Ahí es cuando obtienes :0y :1etc. El problema con eso es quién obtiene el teclado y el mouse.


fuente
vnc también usa: 1,: 2, etc.
Iba a mencionar eso, pero no encajaba cuando lo pensé por primera vez y luego lo olvidé.
En algún momento, ejecuté un servidor X11 en un emulador de Mac ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) en una estación de trabajo Sun. Podría poner un xterm en el espacio de trabajo nativo de Sun con: 0 y otro en el emulador de Mac con: 1.
mouviciel
4

Por defecto, una máquina normalmente solo ejecutará una pantalla -: 0, que normalmente está en VT 7.

Si ejecuta un segundo servidor X, será: 1. Puede hacerlo desde la línea de comandos, pero la forma más fácil es elegir "iniciar nueva sesión" en KDE (supongo que GNOME tiene algún equivalente, pero no estoy familiarizado con él). Eso le permite iniciar sesión nuevamente en un segundo servidor X, que se ejecutará en VT 8 (es decir, puede cambiar entre ellos con Ctrl-Alt-F7 y Ctrl-Alt-F8).

Debería poder ejecutar aplicaciones utilizando "DISPLAY =: 1 xterm" o lo que sea.

Peter
fuente
2

Solo puede acceder a las pantallas que existen en su computadora (generalmente solo un 0 ). Sin embargo, hay programas que pueden crear nuevas pantallas como ventanas como xnest .

Pero lacqui y staticsan tienen razón, la mayoría de las veces no te interesan las pantallas.

Para obtener más información, vaya y lea sobre el sistema X Window .


fuente
1

No se preocupe por usar otras pantallas al principio. Probablemente, la única vez que tendrá que preocuparse por las pantallas es cuando se conecta a una computadora remota y conecta sus aplicaciones remotas a la pantalla.

Sus aplicaciones que escriba no tendrán que preocuparse directamente por la pantalla; la biblioteca X se encargará de ti.

Kevin Lacquement
fuente
1

El usuario staticsan habló sobre un problema:

Incluso puede hacer cosas como ejecutar múltiples servidores X. Ahí es cuando obtienes: 0 y: 1 etc. El problema con eso es quién obtiene el teclado y el mouse.

Me interesaba por qué exactamente se convierte en un problema "quién obtiene el teclado y el mouse". Encontré la respuesta en el artículo, recomendado por el usuario Charlie Martin, en mi otra pregunta en [1]:

la documentación de X11 define una pantalla individual que tiene exactamente un teclado y un puntero (es decir, un mouse), pero potencialmente múltiples CPU, monitores, etc.

[1] /programming/746263/how-do-the-server-extensions-work-in-x/746286#746286

Léo Léopold Hertz 준영
fuente
0

De hecho, ejecuto dos servidores X (algunos programas X que uso no me gustan los gestores de ventanas modernos).

En mi configuración, cada uno recibe un VTERM y el activo tiene teclado y mouse.

Joshua
fuente