Tout d'abord, clarifions quelques points importants:
- Combien de machines sont impliquées? En d'autres termes, vous connectez-vous à une machine distante ou tout est sur votre machine locale?
- Si une machine distante est impliquée, quelle machine redémarre: est-ce le serveur ou le client?
Si une machine est impliquée ou si le serveur est en cours de redémarrage, vous n'avez généralement pas de chance.
Si vous vous connectez à une machine distante, mais que vous devez redémarrer votre machine locale, cela ne pose aucun problème tant que vous exécutez l'écran sur la machine distante au lieu de votre machine locale. Je sais que cela est assez évident pour tout utilisateur d'écran expérimenté (même légèrement expérimenté), mais je le mentionne juste au cas où cela pourrait être utile.
Encore une autre possibilité (encore une fois, si cela vous est utile dépend de votre situation) est d'exécuter la machine avec écran sur une machine virtuelle. Supposons qu'il s'agisse d'un serveur physique distant et qu'il doit être redémarré, mais qu'il dispose d'un système d'exploitation invité sur (par exemple) VMware. Vous pouvez suspendre le système d'exploitation invité et le redémarrer après le redémarrage du matériel. Tout dépend de la raison pour laquelle vous devez redémarrer, ce qui n'a pas été spécifié, du degré de contrôle que vous avez sur la machine et de votre volonté à vous lancer dans tous ces problèmes.
Il n'y a pas de solution FACILE et il est possible qu'aucune des solutions ne fonctionne pour vous. Mais bonne chance.
Si vous vous connectez à de nombreuses machines, il peut sembler trop difficile d'exécuter l'écran séparément sur toutes les machines distantes, et c'est le cas. Dans ce cas, il est utile d'avoir une machine intermédiaire exécutant l'écran, qui peut avoir de nombreuses fenêtres d'écran, chacune étant connectée à une autre machine distante. Tant que la machine intermédiaire reste en place, vous pouvez redémarrer votre propre machine locale (ou l'emballer dans votre sac et la ramener à la maison pour la nuit, ou autre) et l'écran continue de fonctionner sur la machine intermédiaire. (Et évidemment, si l'une des machines distantes tombe en panne, vous perdez la connexion à cette machine, mais le reste de vos sessions d'écran va bien.)
Mais selon toute vraisemblance, vous faites référence à la machine distante ou à la seule machine à redémarrer, auquel cas il n'y a pas de moyen simple de le faire. CryoPID semble prometteur au début, mais son site Web indique qu'il ne fonctionne pas pour l'écran.
Mais il existe une autre option quelque peu prometteuse qui mérite d'être explorée. (Si cela fonctionnera pour vous dépend dans une large mesure exactement de ce que vous essayez de faire.) Vérifiez cela sur github.com: https://github.com/skoneka/screen-session/tree/master/ScreenSession/