Lancer une appli graphique par SSH distant

Hello !

EDIT : Titre renommé pour cadrer le sujet dans son vrai problème

Il se pose à moi un petit problème par rapport à mon serveur que j’ai à la maison. Je suis entrain de “développer” un pannel permettant d’executer des commandes SSH à travers PHP grâce à la libssh2.

Tout fonctionne très bien. Cependant, dans un de mes scripts, je souhaite lancer une application graphique. Je sais qu’en console on peut lancer le X11 forwarding en faisant ssh -X toto@toto.

Seulement dans mon cas, je suis connecté en SSH normal et je n’ai pas la possibilité d’activer le X11 forwarding (à moins qu’il existe une commande avec l’extension ssh de php que je ne connais pas).

En effet la syntaxe de mes scripts est :

<?php
$connection = ssh2_connect('IP', 22);
ssh2_auth_password($connection, 'root', 'mot de passe');
$stream = ssh2_exec($connection, 'MA COMMANDE QUE JENVOIE');
?>

Je souhaite faire en sorte qu’avec MA COMMANDE QUE J’ENVOIE je puisse lancer une application graphique sur le serveur. Je doute que ce soit possible, mais ne sait-on jamais.

Merci de votre aide.
Edité le 14/07/2007 à 22:43

nul besoins de forwarder dans ce cas, il suffit de renseigner la variable DIPLAY (DISPLAY=:0 ./mon_appli_graphique qui s’affichera sur le serveur en cours d’execution sur :0)

Merci beaucoup, je teste cela.

Malheuresement cela ne fonctionne pas. Je m’explique.

Je teste la commande par SSH normal pour commencer puis voilà ce que je marque :

DISPLAY=:0 ./azureus 

Il me répond :

Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
        at org.eclipse.swt.SWT.error(SWT.java:3476)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:801)
        at org.eclipse.swt.widgets.Display.create(Display.java:789)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:152)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:460)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:451)
        at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.<init>(SWTThread.java:91)
        at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.createInstance(SWTThread.java:68)
        at org.gudy.azureus2.ui.swt.mainwindow.Initializer.<init>(Initializer.java:106)
        at org.gudy.azureus2.ui.swt.Main.<init>(Main.java:80)
        at org.gudy.azureus2.ui.swt.Main.main(Main.java:180)
[Azureus](http://www.clubic.com/telecharger-fiche11926-azureus.html) TERMINATED.

Et rien ne se lance.
Edité le 13/07/2007 à 18:45

Ce message n’était pas conforme aux règles d’utilisation du nouveau forum :

UP :slight_smile:

www.google.fr…

Alors j’ai suivi les solutions données et j’ai testé :

xhost +localhost (en user et en root) et voilà ce qui m’est retourné :

xhost:  unable to open display ""

J’ai aussi tenté de mettre disallowtcp=false (j’ai trouvé ça sur google aussi) et après reboot, rien à faire j’ai toujours :

server@server:~$ DISPLAY=:0 gedit
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

cannot open display: (null)

(gedit n’est qu’un exemple pour par exemple le lancer sur le bureau 0 du serveur).

Et en root j’ai :

root@server:~# DISPLAY=:0 gedit
Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
cannot open display: (null)
Exécuter « gedit --help » pour obtenir la liste complète des options en ligne de commande.