2009-05-31 8 views

Répondre

1

Je suis un peu claires sur la question, mais voici une configuration hypothétique:

Je suis assis sur mon ordinateur (nous appellerons que la session root) et j'ai une coquille. Dans ce cas, il existe une variable d'environnement DISPLAY avec la valeur "127.0.0.1:0.0".

Une deuxième session est démarrée. Vous aurez besoin de savoir quelle est la variable d'affichage sur cette machine. Si c'est aussi sur le localhost il peut être quelque chose comme "127.0.0.1:1.0". Si vous faites un "echo $ DISPLAY" sur l'autre hôte, il vous le dira. S'il signale ": 1.0" ou quelque chose sans le "127.0.0.1" c'est correct. L'hôte local est implicite si une adresse n'est pas spécifiée.

Ensuite, avant de revenir à la session racine, vous devrez exécuter "xhost" pour permettre à d'autres sources d'afficher des fenêtres sur cet hôte. (Disclaimer: Ce que je vais vous dire de faire est horriblement incertain, donc vous pouvez lire la page de manuel pour xhost si vous êtes sur un réseau non sécurisé). Tapez "xhost +" dans un xterm sur l'autre affichage. Cette commande (en particulier l'option "+") permet à n'importe quel hôte de faire apparaître des fenêtres sur cet affichage. Donc, tout ce que vous avez à faire est de retourner à votre shell de session racine et (je suppose que bash) exécutez "export DISPLAY =" 127.0.0.1:1.0 ", puis exécutez" xterm ", qui devrait avoir la fenêtre popping dans l'autre session.

J'espère que cette aide.

vous pourriez faire une recherche pour « X windows affichage variable » si tout cela est peu claire.

+0

S'il vous plaît ne pas recommander des choses "horriblement insécurité". – andrewdotn

1

cela dépend à quel niveau vous êtes programmation - si vous appelez directement dans Xlib, j'imagine que vous savez que le premier argument à XCreateWindow est un Display * et bien sûr C'est comme ça que vous dites à X11 où créer la fenêtre. http://tronche.com/gui/x/xlib/window/XCreateWindow.html pour plus de détails au cas où cela vous aiderait.

Si vous utilisez d'autres langages/frameworks/etc, il serait utile que vous les mentionniez.

1

Vous devez définir la variable d'environnement DISPLAY comme ceci:

DISPLAY=host:0.0 

Voir la X manpage pour plus de détails.

Questions connexes