J'ai ssh-ed à une machine distante. J'ai activé X11 Transfert (SSHX) et j'ai lancé un programme d'interface graphique. p>
Le programme prend 5 minutes pour mettre en place un certain traitement, mais le traitement réel prend 1-2 heures. Je ne veux pas diffuser de données pendant que le programme fonctionne. Je ne veux même pas voir à nouveau le programme car il produit des fichiers sous forme de sortie lorsqu'elle se termine et je peux simplement les scp. P>
Alors, comment puis-je quitter la session SSH, mais laisser le programme en cours d'exécution sur la machine? CRTL + C dans le terminal? P>
Edit: Pour la réponse, veuillez consulter mon commentaire juste ci-dessous. P>
5 Réponses :
exécuté ssh -x -f login @ machine Votreprogram code> devrait faire le tour. p>
Mais cela ne fera pas de session SSH Quitter, il sera ouvert à l'arrière-plan, ou ..?
Oui, ce sera actif à l'arrière-plan. Sans cela, vous ne seriez pas en mesure de communiquer avec l'application que vous avez démarrée.
Démarrage de votre programme avec Vous ne pourrez pas voir l'interface utilisateur après avoir terminé la session SSH, mais puisque vous n'en avez pas besoin de toute façon - ça va faire le travail. P> NOHUP Program & CODE> permettra de fermer uniquement votre terminal - le programme sera toujours en cours d'exécution. P>
Longue histoire courte - Vous ne pouvez pas faire cela sans faire des modifications à la façon dont vous exécutez des choses. Une application d'interface graphique nécessite une cible de serveur X d'accepter les mises à jour de l'interface GUI - si vous utilisez votre serveur X local pour le faire, cela nécessitera (1) la connexion à ouvrir (2) que vous gérez réellement la mises à jour. P>
Un moyen d'utiliser quelque chose comme XVFB - qui est une manière sans tête d'hébergement un
On peut utiliser xpra code> de la même manière: Démarrer X Programmes sous IT, le détachement / RateTach. - en.wikipedia.org/wiki/Xpra
N'avait pas entendu parler de Xpra, très cool - c'est comme l'écran pour les applications x. Cela semble semblable à la facture pour l'OP.
génial, je suis à la recherche d'une réponse acceptable à mon problème pendant des heures, et enfin une apparition. SSH -X -F Login @ Machine Yourprogram a parfaitement fonctionné pour moi. Bien que j'utilise SSH -Y -F Login @ Machine Yourprogram. Cela m'a conduit noix. P>
Vous pouvez écrire un commentaire au lieu de dire tout cela dans une réponse.
Comme certaines personnes ont dit, SSHX utilise votre serveur X local. Il a donc besoin de la connexion. J'ai eu le même problème, je voulais quitter ssh mais laisser des applications de l'interface graphique en cours d'exécution. Pour ce faire, j'ai installé X Server et VNC Server sur l'hôte distant. Avec un client VNC sur votre ordinateur local, vous pouvez facilement vous connecter au serveur VNC et déconnecter les applications GUI en cours d'exécution. P>
Au fait, vous aurez de meilleures performances avec VNC ou X2GO. Dans mon cas, Firefox était très lent et certains sites ne se chargeaient pas du tout avec SSHX, même avec des optimisations ou -c. P>
Ok alors j'ai trébuché à travers ce que je pense est le moyen le plus simple de le faire. Je lisais sur l'écran et je me suis produit que vous pouvez utiliser l'utilitaire d'écran pour détacher et vous déconnecter en laissant les processus exécutés sur l'ordinateur distant. Après cela, vous pouvez vous connecter et réapprocher.
On peut utiliser
Xpra code> pour X Programmes de la même manière vers
Écran Code> pour les programmes Terminal: Démarrez X Programmes sous IT, le détacher / réaménagement. - en.wikipedia.org/wiki/Xpra