Où sont les affichages autres que «: 0»?

11

X Power Tools -book contient une phrase sur ": 0":

Afficher 0 sur l'ordinateur local, connecté par un schéma de connexion local

J'ai essayé d'ouvrir une horloge par "xclock -display: 2", mais j'ai eu une erreur:

Impossible d'ouvrir l'affichage:: 2

Comment dois-je programmer si je ne parviens pas à faire fonctionner les écrans? Pouvez-vous vraiment tout faire là-dessus? Comment pouvez-vous exécuter des programmes, tels que Vim et gcc, sur les écrans 3 et 999? Où sont-ils?

Léo Léopold Hertz 준영
la source

Réponses:

5

En plus de toutes les références à: 1,: 2, etc; vous pouvez également spécifier un nom de réseau ou une adresse IP avant les deux-points, par exemple 192.168.0.1:0 - cela se connectera à une machine via le réseau. La plupart des serveurs X modernes ont une authentification ("MIT-MAGIC-COOKIE"), vous devrez trier cela avant de vous connecter - voir xhostet xauth.

De plus, si vous utilisez ssh -X <remotehost>, toutes les commandes X que vous exécutez dans cette session ssh se connecteront à un autre port (un test rapide sur ma boîte montre :10), qui est ensuite poussé via votre connexion ssh vers la boîte dont vous venez, et apparaîtra sur votre écran là-bas.

AMADANON Inc.
la source
10

Cela a à voir avec le serveur X Window. Ils définissent les numéros d'affichage disponibles.

Vous ne devriez pas avoir à vous soucier de la prise en charge explicite d'un numéro d'affichage; tout au plus, vous remettez simplement la référence à la bibliothèque du client X Window et vous la laissez comprendre.

Les serveurs modernes peuvent rendre plusieurs écrans disponibles avec des adaptateurs multi-têtes et avec plusieurs adaptateurs. La grande majorité du temps, :0sera votre seul affichage. C'est parce qu'il n'y en a vraiment qu'un, et c'est le nombre par défaut quand il n'y en a qu'un. Il est possible de le faire démarrer comme :2, ce qui est inhabituel, mais tout fonctionnerait toujours bien.

Avec des écrans à têtes multiples et / ou plusieurs cartes, il est possible qu'un serveur X gère plusieurs écrans comme des écrans discrets (c'est-à-dire avec des choses comme Xinerama éteintes). Ensuite, vous pouvez obtenir des numéros d'affichage comme :0.0et :0.1. J'ai utilisé un bureau comme celui-ci pendant longtemps. Rien ne s'est cassé car tout a pris le numéro d'affichage et vient de le remettre à la bibliothèque X Client. Un avantage inhabituel était que chaque écran obtient sa propre liste de bureaux virtuels. Dans un écran Xinerama, vous ne pouvez pas faire ça. Mais vous avez l'inconvénient de ne pas pouvoir déplacer les fenêtres entre les écrans, car ils ont des numéros d'affichage différents.

Vous pouvez même faire des choses comme exécuter plusieurs serveurs X. C'est à ce moment-là que vous obtenez :0et :1etc. Le problème est de savoir qui obtient le clavier et la souris.


la source
vnc utilise également: 1,: 2, etc.
J'allais le mentionner, mais cela ne convenait pas lorsque j'y ai pensé pour la première fois, puis j'ai oublié plus tard.
Une fois que j'ai exécuté un serveur X11 dans un émulateur Mac ( en.wikipedia.org/wiki/Macintosh_Application_Environment ) sur une station de travail Sun. Je pourrais mettre un xterm dans l'espace de travail natif de Sun avec: 0 et un autre dans l'émulateur Mac avec: 1.
mouviciel
4

Par défaut, une machine n'utilisera normalement qu'un seul écran -: 0, qui est normalement sur VT 7.

Si vous exécutez un deuxième serveur X, ce sera: 1. Vous pouvez le faire à partir de la ligne de commande, mais le moyen le plus simple est de choisir "démarrer une nouvelle session" dans KDE (je suppose que GNOME a un équivalent, mais je ne le connais pas). Cela vous permet de vous reconnecter sur un deuxième serveur X, qui s'exécutera sur VT 8 (c'est-à-dire que vous pouvez échanger entre eux avec Ctrl-Alt-F7 et Ctrl-Alt-F8).

Vous devriez alors être en mesure d'exécuter des applications sur en utilisant "DISPLAY =: 1 xterm" ou autre chose.

Peter
la source
2

Vous ne pouvez accéder qu'aux affichages qui existent sur votre ordinateur (généralement un seul 0 ). Cependant, il existe des programmes qui peuvent créer de nouveaux affichages sous forme de fenêtres comme xnest .

Mais laque et staticsan ont raison, la plupart du temps, vous ne vous souciez pas des écrans.

Pour plus d'informations, consultez le système X Window .


la source
1

Ne vous inquiétez pas d'utiliser d'autres écrans au début. La seule fois où vous devrez vous soucier des écrans est probablement lorsque vous vous connectez à un ordinateur distant et connectez vos applications distantes à l'écran.

Vos applications que vous écrivez n'auront pas à se soucier directement de l'affichage; la bibliothèque X s'en chargera pour vous.

Kevin Lacquement
la source
1

L'utilisateur staticsan a parlé d'un problème:

Vous pouvez même faire des choses comme exécuter plusieurs serveurs X. C'est à ce moment que vous obtenez: 0 et: 1 etc. Le problème est de savoir qui obtient le clavier et la souris.

J'étais intéressé pourquoi exactement cela devient un problème "qui obtient le clavier et la souris". J'ai trouvé la réponse dans l'article, recommandé par l'utilisateur Charlie Martin, dans mon autre question à [1]:

un affichage individuel est défini par la documentation X11 comme ayant exactement un clavier et un pointeur (c'est-à-dire une souris), mais potentiellement plusieurs processeurs, moniteurs, etc.

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

Léo Léopold Hertz 준영
la source
0

En fait, je gère deux serveurs X (certains programmes X que j'utilise n'aiment pas les gestionnaires de fenêtres modernes).

Dans ma configuration, ils obtiennent chacun un VTERM et celui actif a un clavier et une souris.

Joshua
la source