75 votes

Comment spécifier un affichage?

Quand je lance certains programmes via SSH, tels que "firefox &", j'obtiens une erreur

Erreur: pas d'affichage spécifié

Je voudrais ouvrir de nombreuses affiche, affiche toujours la sortie standard (stdout) de chaque programme.

Question de départ: Comment puis-je pouvez spécifier l'affichage pour obtenir un programme affiché?

Pablo de Santa Cruz me donne le code suivant comme une solution. Je ne comprends pas.

$ export DISPLAY=yourmachine.votredomaine.com:0.0

$ firefox &

Que sont les "yourmachine" et "yourdomain.com" dans la commande?

80voto

paxdiablo Points 341644

La façon dont X est la même que la façon dont tout le programme du réseau des œuvres. Vous disposez d'un serveur d'une description (dans ce cas, le serveur d'affichage X) qui s'exécute sur une machine spécifique, et vous avez des clients X (comme firefox), qui tentent de se connecter à ce serveur pour obtenir leurs informations affichées.

Souvent (sur "accueil" machines"), le client et le serveur s'exécuter sur la même zone et il n'y a qu'un seul serveur, mais X est assez puissant pour que ceci ne doit pas arriver. Il a été construit avec le client/serveur de séparation construite dès le départ.

Cela permet de faire de telles choses merveilleuses comme le connecter à votre box (en mode texte) à mi-chemin autour de la planète, de lui dire que le serveur d'affichage est de la boîte, vous êtes actuellement sur et, voila, la windows soudainement commencer à apparaître localement.

Pour qu'un client d'interagir avec un utilisateur, il doit savoir comment trouver le serveur. Il y a un certain nombre de façons de le faire. De nombreux clients permettent à l' "-display" option pour spécifier:

xeyes -display paxbox1.paxco.com:0.0

Beaucoup utilisent l' DISPLAY variable d'environnement si l'affichage n'est pas spécifiquement donnée. Vous pouvez définir cette variable comme les autres:

DISPLAY=paxbox1.paxco.com:0.0; export DISPLAY # in .profile
export DISPLAY=paxbox1.paxco.com:0.0 # in your shell
DISPLAY=paxbox1.paxco.com:0.0 firefox & # for that command (shell permitting)

La première partie de l' DISPLAY variable est juste l'adresse d'un serveur d'affichage de la machine. Il suit la même règle que pour toute autre adresse IP; il peut être résolu de nom DNS (y compris localhost) ou une adresse IP spécifique (comme 192.168.10.55).

La deuxième partie est X-spécifique. Il donne le X "affichage" (serveur X) le nombre et le numéro de l'écran à utiliser. Le premier affichage (nombre) renvoie généralement à un groupe de dispositifs contenant un ou plusieurs écrans, mais avec un seul clavier et une souris (c'est à dire, un flux d'entrée). Le numéro de l'écran donne généralement de l'écran spécifique au sein de ce groupe.

Un exemple serait:

+----------------------------------------+
|paxbox1.paxco.com|                      |
+-----------------+                      |
|                                        |
|  +----------+----+  +----------+----+  |
|  |Display :0|    |  |Display :1|    |  |
|  +----------+    |  +----------+    |  |
|  |               |  |               |  |
|  | +-----------+ |  |               |  |
|  | |Screen :0.0| |  |               |  |
|  | +-----------+ |  |               |  |
|  | +-----------+ |  |               |  |
|  | |Screen :0.1| |  |               |  |
|  | +-----------+ |  |               |  |
|  | +-----------+ |  | +-----------+ |  |
|  | |Screen :0.2| |  | |Screen :1.0| |  |
|  | +-----------+ |  | +-----------+ |  |
|  | +-----------+ |  | +-----------+ |  |
|  | |Screen :0.3| |  | |Screen :1.1| |  |
|  | +-----------+ |  | +-----------+ |  |
|  | +-----------+ |  | +-----------+ |  |
|  | | Keyboard  | |  | |  Keyboard | |  |
|  | +-----------+ |  | +-----------+ |  |
|  | +-----------+ |  | +-----------+ |  |
|  | |   Mouse   | |  | |   Mouse   | |  |
|  | +-----------+ |  | +-----------+ |  |
|  +---------------+  +---------------+  |
|                                        |
+----------------------------------------+

Ici vous avez une seule machine (paxbox1.paxco.com) avec deux afficher les serveurs. La première a quatre écrans et le second de deux. Les possibilités sont alors:

DISPLAY=paxbox1.paxco.com:0.0
DISPLAY=paxbox1.paxco.com:0.1
DISPLAY=paxbox1.paxco.com:0.2
DISPLAY=paxbox1.paxco.com:0.3
DISPLAY=paxbox1.paxco.com:1.0
DISPLAY=paxbox1.paxco.com:1.1

selon l'endroit où vous voulez que votre windows à comparaître et qui les périphériques d'entrée que vous souhaitez utiliser.

24voto

Pablo Santa Cruz Points 73944
$ export DISPLAY=yourmachine.yourdomain.com:0.0
$ firefox &

19voto

TobiX Points 651

Lorsque vous vous connectez à une autre machine via SSH, vous pouvez activer le transfert X dans SSH, afin que les fenêtres X soient transférées cryptées via le tunnel SSH vers votre machine. Vous pouvez activer le transfert X en ajoutant -X à la ligne de commande ssh ou en définissant ForwardX11 yes dans votre fichier de configuration SSH.

Pour vérifier si le transfert X a été configuré avec succès (le serveur peut ne pas l'autoriser), essayez simplement si echo $DISPLAY affiche quelque chose comme localhost:10.0 .

15voto

sreenath Points 101

Essayer

 export DISPLAY=localhost:0.0
 

6voto

thegriglat Points 21

Essayez d'installer le package xorg-x11-xauth .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X