Forum Clubic

Lancer des processus en SSH, mais qui ne se ferment pas

salut

je voudrai pouvoir lancer a distance certains prrocessus sur mon pc.

le probleme c’est que je me connecte en ssh, donc ca m’ouvre une session, je lance tout ce que je veux mais quand je quitte ma connectino ssh, forcement ca ferme la session donc ca interompt tous les processus que j’avais lancé depuis cette session…

y’a t’il moyen de lancer des processus qui ne se fermeront pas lorsque je quiterai la connection ssh. Peut etre en les faisant lancer par la session deja ouverte sur le pc? enfin je sais pas trop…

merci

nohup

:jap:
j’ai commencé a essayer mais comme je suis pas chez moi, je suis pas sur de si ca marche bien.
si je lance une application graphique comme ca, l’interface va se lancer?

non ca n’a strictement rien a voire.
Lorsque tu ferme ta session, shhd envoie un signal pour tuer le processus.

Avec la commande nohup, tu demandes à sshd de ne pas envoyer de signal à son processus fils.

Pour lancer une application graphique, il faut que tu active le X fowarding dans le fichier de conf de sshd et il faut 2-3 autre truc je crois.

ssh ip
nohup appli &
exit

tu as aussi screen qui est bien pratique :

screen
tu fais ce que tu as à faire
ctrl+A ctrl+D pour détacher le screen
tu te deloggue fait ce que tu veux…
screen -r
te permet de rattacher le screen.
Si tu lance qqch de long, tu peux voir ou ca en est à partir de plusieurs endroits différents :slight_smile:

humm bizzare maintenant j’arrive a me rattacher.

Je pensais qu’il fallait mettre le pid mais meme pas apparrement
screen -r (sans pid)

oui ca ca y est j’arive a le faire, lancer une apli graphique avec le X forwarding.

mais je n’ai pas besoin d’avoir l’interface graphique, c’est juste que certaines applications se lance forcement avec, et donc je voudrai quelle se lance sur le pc sur lequel je me conecte sans se fermer apres.

alors merci pour vos reponses j’essaye ca des que je suis chez moi.

EDIT :
j’ai regardé le fichier “nohup.out” apres avoir lancé une appli graphique
a la fin j’ai :
“RuntimeError: could not open display”
normal car je n’avais pas redirigé X.

mais si je le redirige vers mon pc alors quand je vais quité la session ca va fermé l’appli…

EDIT 2 :stuck_out_tongue: :
apparement le screen -r serai niquel pour ce que je veux faire, faudra que je le teste :jap:

tu peux lancer plusieurs screen en meme temps.
C’est dans ce cas la ou il te faut un
screen -r pid
s’il y en a qu’un , il le retrouve comme grand.

ok
par conte ca marche pas totalement cette methode.

en effet, si je fais par exemple un screen xchat
ca mrche bien, je peut faire ctrl+a ctrl+d
puis revenir.
mais si je ferme putty alors ca me ferme la session et ca me ferme le programme qui etait sous screen…
j’ai fais une erreure quelque part?

en fait je crois que le probleme viens du fait que quand je ferme putty, le serveur X ferme la fenetre graphique de xchat, donc quand je reviens sur mon screen xchat est fermé avec le message, “X broken” enfin un truc du genre

je sais pas di j’ai été bien clair :smiley: alors je vais resumer le probleme :
je voudrai lancer une application graphique a distance de mon pc, en la laissant tourner quand je ferme la session distante.
comme conseillé j’utilise la commande screen :
alors je fais :

screen
xchat
jusque la tout va bien, j’ai mon programme qui se lance et que je peut utiliser a distance (grace au X forwarding de SSH).

là je fais ctrl+a ctrl+d

ca me “detache” mon screen.
je peux tout a fais faire en screen-r et je reviens dans la session ou est lancé mon xchat.

par contre, apres avoir detaché mon screen, j’ai toujours ma fentre xchat d’ouverte que je peux utiliser. Or si je ferme ma session ssh d’ou j’ai lancé le screen ca me ferme egalement ma fenetre graphique.
donc quand je veux “réatacher” mon screen (screen -r), je reviens bien dans ma session mais le programme xchat s’est terminé pour cause de :
“the X server was shut down”

comment faire donc pour detacher un screen tout en ayant l’interface graphique qui ne tourne plus sous la session depuis laquelle je l’ai ouverte?

je ne pense pas que screen gere tout ce qui est graphique

sinon peut etre rediriger X non pas vers soi, c’est a dire la session qui se connecte en ssh, mais vers la session qui est deja ouverte sur le pc.
comme ca a la fermeture de la session d’ou est executé le screen pas de fermeture de l’interface graphique…
mais je ne sias pas comment il faut faire

up

c’est pas possible :’( ?

je ne pense pas non :(, le serveur X est fait pour se connecter au materiel, donc en restant en console strict ça ne peut pas se faire, mais regarde du coté du serveur X de vncserver (tightVNC par exemple), il doit faire ce que tu veux

ha oui c’est vrai que par VNC ca marchera bien, le principe n’etant pas le meme que le SSH.
mais le SSH est plus simple a mettre en place et plus pratique a utiliser d’un peu n’importe ou c’est pour ca que j’aurai preferé

merci quand meme

à moins que tu sois sous linux sur ton client, tu as simple exe comme vncviewer, ce qui necessite pas d’installe et tres tres rapide à utiliser …

Apres rien ne t’empeche de creer un tunnel ssh et de tunneliser ensuite vnc

ok
en fait je suis sous windows ou linux comme client ca depent…

je savais pas que y’avais un vncviewer qui necessite pas d’install sous linux.
ca peut etre bien.

je voulai en ssh aussi pcq j’ai un sshd qui tourne tout le temps sur mon pc, ca m’aurai evité d’installer en plus le serveur vnc…