Fondamentalement, j'ai une session d'écran à distance, à laquelle je souhaite me reconnecter automatiquement. Actuellement, je le fais avec la commande suivante (comme un signet iTerm ou un alias)
ssh host -t screen -x thesessionname
Cela fonctionne bien, mais si la session se termine pour une raison quelconque, j'aimerais qu'elle soit recréée lors de ma prochaine connexion. Le -R
drapeau pour screen
est presque parfait:
ssh host -t screen -R -S thesessionname
..mais si la session est déjà attachée, une deuxième session est faite (comme -R
simple recherche la première session détachée, si aucune n'est trouvée, elle en crée une nouvelle)
Existe-t-il un moyen de faire en sorte que l' -R
indicateur recherche les sessions jointes et d'en créer une nouvelle uniquement s'il thesessionname
n'existe pas?
Si cela n'est pas facilement réalisable, comment pourrais-je recréer automatiquement la session d'écran lorsqu'elle s'éteint? Peut-être un script exécuté via cron qui recherche la session nommée, la créant si elle n'existe pas?
la source
screen -x -R -S main
c'est ce que j'ai fini par utiliser (fonctionne de la même manière sans le détachement forcé), merci!sceen -r <yoursession>
, donnera une erreur quand il est déjà attaché (au lieu de créer une nouvelle session).Quelques bonnes options. Tout d'abord, mon préféré:
Cela se rattachera à la première session d'écran disponible (partage si une autre connexion est connectée), et s'il n'y a aucune session d'écran, commencez-en une nouvelle.
Les documents pour cela indiquent "Rattacher une session et si nécessaire la détacher ou la créer. Utilisez la première session si plusieurs sessions sont disponibles." Fondamentalement, le double-R permet de rechercher la première session à attacher.
"Attachez ici et maintenant. Quoi que cela signifie, faites-le." Détachera et déconnectera à distance toutes les autres sessions attachées et s'attachera à la première session possible. Fondamentalement, fait tout ce qu'il doit faire pour s'attacher à une session existante et en crée une nouvelle s'il n'y a rien.
Le tout premier (-x -R) est le moins susceptible de causer des problèmes (ne détachera pas votre autre connexion), mais se joint toujours à quelque chose s'il y a quelque chose à attacher et crée quelque chose s'il n'y a rien à attacher.
la source
j'utilise
Je ne veux pas que ma connexion complète sur l'autre shell soit supprimée, comme le
-D
fait, et je ne veux certainement pas le mode multi-attach-x
.la source