Appplication lancée dans le serveur X à partir de la console


#1

Encore un ptit problème et j’aimerai savoir si il est possible de lancer une application graphique (du genre mon IHM ^^) dans un serveur X déjà lancé, et ceci depuis une console sans pour autant devoir relancer le serveur X.

J’aimerai faire ceci dans le but de pouvoir démarrer grâce à une connexion ssh provenant d’un ordinateur distant l’application que j’ai créé sur le serveur X qui est déja lancé sur l’ordinateur cible.


#2

C’est pas trés clair:
tu veux, depuis une machine distante, te connecter en ssh, et lancer une appli qui s’execute et s’affiche sur le serveur, c’est ça ?
tu es sur que tu ne veux pas qu’elle s’execute sur le serveur, mais que son affichage soit sur le client, parceque ça, c’est trivial…
Ce n’est pas que l’accés distant au serveur X soit difficile, mais ca oblige à baisser la sécurité du serveur X, et donc à ouvrir des failles potentielles.
PS: tu es sûr que le sujet relève de la programmation ?


#3

Hum je pense que le sujet relève de la programmation puisqu’il s’agit de lancer une IHM. Enfin à vrai dire je ne sais pas si j’aurais poster ici (si le sujet te semble mieu approprié à un autre forum n’hésite pas à le déplacer.

Je viens de me rendre compte aussi que je n’est pas été très clair en exposant mon problème, je ne souhaite pas du tout afficher l’ihm sur une machine client. Ce que j’aimerai faire, c’est de pouvoir lancer à partir du mode console de mon linux l’ihm que j’ai développé sur un environnement graphique déjà en cours d’exécution.

Le truc concernant le ssh… en fait je voulais vous dire que en faisant ceci, je pourrais lancer cette ihm sur cet ordinateur depuis un autre ordinateur connecté à celui-ci en ssh (j’espère que j’ai paumé tout le monde ^^).

Voilà voilà.


#4

Donc en fait, tu as une commande qui lance X ET ton IHM, et tu voudrais, en te connectant à distance, la lancer sur le serveur puis te déconnecter en la laissant tourner, c’est ça ?
Bon, ca doit être possible, mais je ne sais pas comment configurer X pour se lancer.
En fait, moi, je verrais plutot une tâche cron qui verifie régulièrement la présence d’un fichier témoin, et s’il est présent, qui (re)lance ton interface, et s’il est absent, là kille.
Comme ça, ca te permettrait que cette interface se relance d’elle même, même si tu n’as plus accés à la machine.
Le lancement se ferait avec un bête “touch tonfichier”.
L’arret avec un rm.
PS: ton sujet aura plus de réponses dans le forum généraliste, je pense… Je le bascule.


#5

En fait j’ai mon serveur X (lancé avec un bête startx) qui tourne, ce que j’aimerai faire c’est de lancé une application graphique dedans, mais comme mon serveur X est presque vierge, bah je peux rien lancer à l’intérieur. J’aimerai donc lancer une application dans l’univers graphique mais à partir du mode console de linux.


#6

Lancer une appli X depuis l’exterieur du serveur (aussi bien depuis la console que depuis une session ssh) est super compliqué.
Déjà, as tu réussi à lancer automatiquement ton appli en même temps que X ?
C’est parceque tu n’y arrive pas, que tu souhaites lancer à distance ?

AMHA, si ce que tu veux, c’est une machine blindée qui ne lance que ton IHM, elle doit forcément se lancer avec X, mais tu va te galèrer la tête si tu essayes de la lancer APRES, crois moi…


#7

J’y arrive très bien à lancer mon IHM en même temps que X, mais je voulais savoir si il y avait possibilité de la lancer après histoire d’avoir un certain confort pour le développement et pour ne pas avoir à relancer tout le temps mon Linux à chaque modification de mon IHM ou chaque fois que je veux la relancer pour faire du débuggage.

Je voulais savoir si c’était possible et pas trop compliqué c’est tout.


#8

Je ne sais pas si c’est ça que tu veux mais

sous tty1
$ export DISPLAY=localhost:0.0 ; xmessage “Salut toto”

par exemple affiche bien une boite avec le message salut toto dans le X tournant.


#9

:open_mouth: Je suis pas bien très sûr d’avoir pigé la question… mais je connais un outil qui permet de lancer une une nouvelle session X à l’intérieur d’une session X existante:

[code]burp:/home/jeannot# apt-cache show xnest
Package: xnest
Priority: optional
Section: x11
Installed-Size: 3632
Maintainer: Debian X Strike Force debian-x@lists.debian.org
Architecture: i386
Source: xfree86
Version: 4.3.0.dfsg.1-14sarge1
Replaces: xbase (<< 3.3.2.1-1)
Depends: xfree86-common, xserver-common, libc6 (>= 2.3.2.ds1-21), libfreetype6 (>= 2.1.5-1), libxext6 | xlibs (>> 4.1.0), zlib1g (>= 1:1.2.1)
Filename: pool/main/x/xfree86/xnest_4.3.0.dfsg.1-14sarge1_i386.deb
Size: 1466030
MD5sum: dc522f7bf073f13c269fce3c22d03226
Description: nested X server
Xnest is an X server that is itself an X client. This allows you to run a
server within a server; this is occasionally useful for testing new window
managers and other X clients.
.
Xnest relies upon its parent X server for font services.

burp:/home/jeannot#[/code]

Mais bon, je ne suis pas sûr que ce soit ce que veux notre ami … :question:


#10

[quote=“Gengis”]J’y arrive très bien à lancer mon IHM en même temps que X, mais je voulais savoir si il y avait possibilité de la lancer après histoire d’avoir un certain confort pour le développement et pour ne pas avoir à relancer tout le temps mon Linux à chaque modification de mon IHM ou chaque fois que je veux la relancer pour faire du débuggage.

Je voulais savoir si c’était possible et pas trop compliqué c’est tout.[/quote]
Tu verra en essayant le “truc” de fran.b que ce n’est pas si facile de lancer une appli de l’exterieur de ton serveur X, essayes…

Sinon, si ton IHM démarre en même temps que X, il suffit de la relancer.

Si tu as bien mis quelquechose en “respawn” dans ton inittab, il suffit de killer ce quelquechose (ça peut se faire à distance), et ça redémarrera ton X et ton IHM, normalement, sans redémarrer toute la machine.

De toutes les manières, en killant tout, et en réexecutant le script qui lance ton startx toi même, ça ne peut que fonctionner.


#11

Peut-etre peux-tu installé un mini programme déja lancé sous X qui lit un pipe, et qui lance ton IHM à chaque fois que le pipe contient quelquechos. Un genre de passeur console-X quoi.

Salutation


#12

Salut,

Les gens qui développent un window manager utilisent un outli appelé xnest qui permet de lancer un serveur X à partir d’une station sur laquelle tu travailles sous X.

+++