2011-10-28 3 views
0

J'ai une application (Java, mais pourrait être autre chose) qui a besoin de lancer une autre application. Ce n'est pas sur la même machine.Comment ouvrir ssh et lancer une commande en même temps?

manuellement, je lancer l'application de cette manière:

ssh [email protected] -X 
/..../myapplication 

J'ai essayé de mettre les deux commandes dans un fichier texte appelé mycommand et

source mycommand 

... mais la deuxième commande sera exécuté sur la machine locale juste après avoir fermé la section SSH. Savez-vous s'il existe un moyen d'ouvrir un SSH et de lancer une application depuis l'autre machine en même temps sans l'intervention de l'utilisateur?

+0

A noter également que '-X' n'est nécessaire que si l'application utilise le transfert X11 (c'est-à-dire une interface graphique). –

Répondre

3

Si après la commande que vous n'avez pas besoin d'exécuter une autre commande dans le shell SSH, vous pouvez utiliser la commande suivante

ssh [email protected] -X myapplication 

Le shell exécutera la commande puis fermer la connexion ssh

+1

Autre indice: vous devriez utiliser -t pour les commandes interactives. Par exemple: "ssh home -t vim" fonctionne très bien mais juste "ssh home vim" ne se comporte pas comme prévu. Vous pouvez faire des trucs sympas avec "ssh $ host -t screen ..." – cdleonard

Questions connexes