linux seulement: Je veux ouvrir deux fenêtres pour mon application, une sur l'écran principal de l'ordinateur, et une sur une session X11 virtuelle accessible uniquement par le bureau à distance. Un expert X11 peut-il me dire comment cela est fait?Comment ouvrir une fenêtre dans une session X11 différente?
Répondre
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.
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.
Vous devez définir la variable d'environnement DISPLAY comme ceci:
DISPLAY=host:0.0
Voir la X manpage pour plus de détails.
Le programmatic interface to this $DISPLAY
functionality in xlib
appears to be called XOpenDisplay()
. Vous devrez gérer deux (ou plus) objets Display
.
Il est possible que les différents outils d'interface de niveau supérieur (qt, ...) fournissent une interface plus abstraite. Cela vous épargnerait une douleur considérable.
Bonne chance.
- 1. Comment ouvrir une autre fenêtre
- 2. Comment ouvrir une nouvelle fenêtre dans aspnet
- 3. X11: déclencher une fenêtre existante via une ligne de commande?
- 4. Comment ouvrir une nouvelle fenêtre du navigateur
- 5. bibliothèque d'entrée Linux/X11 sans créer une fenêtre
- 6. Ouvrir une URL dans une nouvelle fenêtre Java
- 7. System.Windows.Forms.WebBrowser ouvrir des liens dans la même fenêtre ou dans une nouvelle fenêtre avec la même session
- 8. Comment ouvrir une nouvelle fenêtre dans Google Gadget?
- 9. Rediriger pour ouvrir une session stratégie page
- 10. Truncate Slow Query Ouvrir une session MySQL
- 11. Ouvrir une nouvelle fenêtre avec asp.net
- 12. ouvrir un fichier * .bat dans une fenêtre contextuelle dans IE
- 13. Ouvrir dans une nouvelle fenêtre link dans un iframe
- 14. Actionscript pour ouvrir l'URL dans une nouvelle fenêtre ouvrir une nouvelle fenêtre, mais pas en plein écran
- 15. X11: attendre qu'une fenêtre soit visible?
- 16. Utiliser Javascript pour ouvrir une fenêtre "maximisée" dans IE6?
- 17. Trouver les dimensions de la fenêtre X11?
- 18. Comment définir un objet flash pour ouvrir une URL dans une nouvelle fenêtre?
- 19. php - comment ouvrir une fenêtre d'impression alors qu'un fichier pdf est ouvert dans une page Web?
- 20. enregistrer la sortie de python pour ouvrir une session
- 21. Comment suivre les fenêtres associées dans X11?
- 22. Comment puis-je démarrer la fenêtre X11 sans affichage associé
- 23. Windows.Forms Visual Studio, Comment ouvrir une seconde fenêtre directement sur la première fenêtre?
- 24. ouvrir une nouvelle page html par php
- 25. ne souhaite pas ouvrir une nouvelle fenêtre en flash
- 26. comment ouvrir une nouvelle fenêtre via javascript lorsque pop-up est bloqué
- 27. Comment puis-je ouvrir une fenêtre IE et exécuter un fichier Batch une fois l'onglet chargé?
- 28. Comment ouvrir un lien dans un fichier PDF dans une nouvelle fenêtre?
- 29. ASP Net - Comment ouvrir un formulaire dans une nouvelle fenêtre dans ASP.NET
- 30. Comment ouvrir un document dans une nouvelle fenêtre dans Visual Studio 2008?
S'il vous plaît ne pas recommander des choses "horriblement insécurité". – andrewdotn