Lancement d'appli graphique a distance
bacchuss
-
asevere Messages postés 13095 Date d'inscription Statut Webmaster Dernière intervention -
asevere Messages postés 13095 Date d'inscription Statut Webmaster Dernière intervention -
Je me connecte à distance par ssh avec un outil non graphique à un serveur Linux Mandrake. J'aimerai lancer sur la console de ce serveur une application graphique (par ex: xclock).
Quelle est la syntaxe de la commande à passer ??
Quelle est la syntaxe de la commande à passer ??
A voir également:
- Lancement d'appli graphique a distance
- Allumer pc à distance - Guide
- Changer carte graphique - Guide
- Appli miroir - Guide
- Comment desinstaller une appli sur pc - Guide
- Appli horloge - Télécharger - Guide Android
4 réponses
Salux,
Avant il faut que tu installe un serveur X sur ta becane. Xfree ou mix par exemple.
Ensuite dans une console tu lances
xterm -display @ipmachinedistante:0
ou
xterm -display @ipmachinedistante:0.0
Ensuite "normalement" tout se que tu lances ds la console qui apparaitra sur ta machine distante utilisera le serveur X de la machine distante.
J'ai reussi a faire marche mix (de Micro Images) mais j'ai pas encore eu le temps d'essayer Xfree.
A++
Linux dominera le monde !!!! Mais po facile de tt comprendre
Avant il faut que tu installe un serveur X sur ta becane. Xfree ou mix par exemple.
Ensuite dans une console tu lances
xterm -display @ipmachinedistante:0
ou
xterm -display @ipmachinedistante:0.0
Ensuite "normalement" tout se que tu lances ds la console qui apparaitra sur ta machine distante utilisera le serveur X de la machine distante.
J'ai reussi a faire marche mix (de Micro Images) mais j'ai pas encore eu le temps d'essayer Xfree.
A++
Linux dominera le monde !!!! Mais po facile de tt comprendre
Salut,
pour tout ce qui concerne X, il faut regarder du coté de Xhost, X c'est déjà un bon début.
Ensuite ca dépend des programmes utilisés, la plupart des programmes sous X on une option -display, ou --display qui permet de donner l'adresse du serveur X, ainsi que l'ecran associé.
Un coup d'oeil dans les pages man de ces programmes peut s'averrer utile, bien que l'option en question n'y soit pas systematiquement référencée.
Dans ton cas, une fois ssh ou telnet lancé, tu est en 'local' sur le serveur, soit tu lances l'interface graphique de cette console, ( "startx &" pour recuperer la main sur la console) soit X est déjà lancé.
Dans les deux cas, tu as ensuite deux solutions:
1)
xclock --display 127.0.0.1:0 (127.0.0.1 c'est normal vu que tu te trouve sur le serveur!)
2)
export DISPLAY=127.0.0.1:0
xclock
La deuxieme solution me parait la plus souhaitable dans ce cas précis, car tu es, via telnet ou ssh, sur le serveur (pas physiquement hein!).
Tu peux ainsi lancer toute tes apllications sur le serveur par defaut aprés avoir fait une fois le "export", et quand tu as besoin de lancer un prog sur le client (la machine sur laquelle tu es physiquement) à ce moment là tu peux utiliser l'option -display (ou --display).
En gros, il parait plus logique de n'utiliser l'option -display que ponctuellement.
Sinon... je ne sais pas ce que tu fais ou attend de ça réellement, mais cette façon de faire, ne me parait pas la meilleure.
( j'aurai plutot tendance à me connecter via ssh que qaund je n'ai pas d'accés physique à la machine, qui dit pas d'accés physique dit pas d'accés à son ecran non-plus!)
En général, ces histoires de display sont utilisés pour lancer un application qui se trouve sur un autre PC que celui sur lequel tu travailles, et dont tu ne disposes pas localement.
Dans ce cas là, soit sur le serveur tu tapes
xclock --display ip.client:0
soit à partir du client tu te connectes en ssh sur le serveur puis tu fais
xclock --display ip.client:0
en ayant pris soin tout d'abord d'autoriser le serveur à interagir avec ton serveur X
(sur le client, "xhost +ip.serveur")
C'est utilisation est plus 'classique', mais encore une fois ça dépend totalement de ce que tu souhaites faire ;)
@++
pour tout ce qui concerne X, il faut regarder du coté de Xhost, X c'est déjà un bon début.
Ensuite ca dépend des programmes utilisés, la plupart des programmes sous X on une option -display, ou --display qui permet de donner l'adresse du serveur X, ainsi que l'ecran associé.
Un coup d'oeil dans les pages man de ces programmes peut s'averrer utile, bien que l'option en question n'y soit pas systematiquement référencée.
Dans ton cas, une fois ssh ou telnet lancé, tu est en 'local' sur le serveur, soit tu lances l'interface graphique de cette console, ( "startx &" pour recuperer la main sur la console) soit X est déjà lancé.
Dans les deux cas, tu as ensuite deux solutions:
1)
xclock --display 127.0.0.1:0 (127.0.0.1 c'est normal vu que tu te trouve sur le serveur!)
2)
export DISPLAY=127.0.0.1:0
xclock
La deuxieme solution me parait la plus souhaitable dans ce cas précis, car tu es, via telnet ou ssh, sur le serveur (pas physiquement hein!).
Tu peux ainsi lancer toute tes apllications sur le serveur par defaut aprés avoir fait une fois le "export", et quand tu as besoin de lancer un prog sur le client (la machine sur laquelle tu es physiquement) à ce moment là tu peux utiliser l'option -display (ou --display).
En gros, il parait plus logique de n'utiliser l'option -display que ponctuellement.
Sinon... je ne sais pas ce que tu fais ou attend de ça réellement, mais cette façon de faire, ne me parait pas la meilleure.
( j'aurai plutot tendance à me connecter via ssh que qaund je n'ai pas d'accés physique à la machine, qui dit pas d'accés physique dit pas d'accés à son ecran non-plus!)
En général, ces histoires de display sont utilisés pour lancer un application qui se trouve sur un autre PC que celui sur lequel tu travailles, et dont tu ne disposes pas localement.
Dans ce cas là, soit sur le serveur tu tapes
xclock --display ip.client:0
soit à partir du client tu te connectes en ssh sur le serveur puis tu fais
xclock --display ip.client:0
en ayant pris soin tout d'abord d'autoriser le serveur à interagir avec ton serveur X
(sur le client, "xhost +ip.serveur")
C'est utilisation est plus 'classique', mais encore une fois ça dépend totalement de ce que tu souhaites faire ;)
@++
"Si c'est stupide et que ça marche, alors ce n'est pas stupide"
Effectivement, c'est un besoin qui sort de l'ordinaire.
C'est sur que là, maintenant, j'ai un accès physique à la machine (pour faire des tests c'est mieux) mais une fois en exploitation, ca ne sera plus la même chanson...
Cependant, d'après les spécifications que j'ai, ce serait l'idéal.
Comme serveur X, je me sers de VNC, qui était déjà installé. Pas moyen de lui faire lancer une appli sur la console distante...
Je cherche toujours (et encore)
Le principal est de garder espoir
C'est sur que là, maintenant, j'ai un accès physique à la machine (pour faire des tests c'est mieux) mais une fois en exploitation, ca ne sera plus la même chanson...
Cependant, d'après les spécifications que j'ai, ce serait l'idéal.
Comme serveur X, je me sers de VNC, qui était déjà installé. Pas moyen de lui faire lancer une appli sur la console distante...
Je cherche toujours (et encore)
Le principal est de garder espoir
avec vnc (connecté en tant que display 1), quand je fais:
xclock -display 127.0.0.1:1
ca marche dans ma fenetre cliente.
Par contre, pour faire ca sur le serveur ( xclock -display 127.0.0.1:0), j'ai une erreur du type:
Xlib: connection to "127.0.0.1:0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
Error: Can't open display 127.0.0.1:0
J'avoue que je n'y comprend pas tout...
xclock -display 127.0.0.1:1
ca marche dans ma fenetre cliente.
Par contre, pour faire ca sur le serveur ( xclock -display 127.0.0.1:0), j'ai une erreur du type:
Xlib: connection to "127.0.0.1:0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
Error: Can't open display 127.0.0.1:0
J'avoue que je n'y comprend pas tout...
Arf,
Bon il va faloir qu'on parle de noms, plus que d'adresses IP.
Clt la machine a la quelle tu as accés, Srv la machine a la quelle tu n'auras plus accés quand tout sera dans l'ordre.
quand tu dis VNC connecté en tant que display 1, c'est le display 1 de la machine Clt?
Plutot que 127.0.0.1 utilises les IP de tes machines (ça depend de VNC je ne connais pas trop) 127.0.0.1 peut représenter soit la machine Clt, soit la machine Srv.
De plus, dans le cas ou 127.0.0.1 représente Clt et que l'affichage doit se faire sur Svr, il faudra que Srv autorise Clt à afficher (on est plus en local donc on ne peut pas pardéfaut interagir avec X) sur Srv, xhost +ip.de.Clt.
Bon il va faloir qu'on parle de noms, plus que d'adresses IP.
Clt la machine a la quelle tu as accés, Srv la machine a la quelle tu n'auras plus accés quand tout sera dans l'ordre.
quand tu dis VNC connecté en tant que display 1, c'est le display 1 de la machine Clt?
Plutot que 127.0.0.1 utilises les IP de tes machines (ça depend de VNC je ne connais pas trop) 127.0.0.1 peut représenter soit la machine Clt, soit la machine Srv.
De plus, dans le cas ou 127.0.0.1 représente Clt et que l'affichage doit se faire sur Svr, il faudra que Srv autorise Clt à afficher (on est plus en local donc on ne peut pas pardéfaut interagir avec X) sur Srv, xhost +ip.de.Clt.
"Si c'est stupide et que ça marche, alors ce n'est pas stupide"