16 votes

Comment empêcher Mac terminal ssh de se déconnecter lorsque l'écran s'éteint automatiquement ?

J'utilise fréquemment ssh sur mon MacBook pour me connecter à d'autres serveurs et y exécuter des commandes de longue durée. Lorsque je fais cela, je laisse le couvercle ouvert pour le laisser fonctionner, mais si je ne vais pas faire du café ou autre chose, l'écran s'éteint automatiquement, ce qui entraîne également la déconnexion de ssh.

J'ai essayé de trouver comment empêcher cela automatiquement dans les paramètres du terminal et dans les paramètres d'économie d'énergie, mais je n'ai rien trouvé de pertinent. Pour éviter cette déconnexion, je joue une vidéo en silence, et cela ne permet pas à l'économie d'énergie d'éteindre l'écran, mais c'est bizarre et boiteux pour commencer, et si j'oublie de le faire, alors ma session est perdue. Existe-t-il quelque chose de mieux et de plus automatique ?

11voto

ParanoidGeek Points 366

Comme l'a mentionné Jakuje dans les commentaires ci-dessus, je recommande vivement d'utiliser screen (ou tmux ) pour les commandes ou les sessions de longue durée que vous souhaitez reprendre en cas de déconnexion pour quelque raison que ce soit.

Une autre approche consisterait à installer mosh ( https://mosh.org/ ) pour établir la connexion. Vous pouvez l'utiliser comme SSH, mais il prend en charge la connectivité intermittente (par exemple, lorsque votre ordinateur portable se met en veille) afin que vous puissiez reprendre la connexion sans interruption du point de vue de l'utilisateur.

Cependant, je pense que votre problème n'est pas nécessairement dû à l'extinction de l'écran, mais à l'interruption de la session SSH en raison d'une connexion inactive. Vous pouvez éditer votre fichier ~/.ssh/config et ajouter une entrée similaire à la suivante

host your.remote.host
     ServerAliveInterval 180

qui fera en sorte que votre client envoie un paquet au serveur toutes les 180 secondes s'il ne reçoit pas de paquet du serveur.

5voto

StrawHara Points 4305

Gardez votre ordinateur éveillé pendant une heure :

caffeinate -t 3600 &

Empêchez votre ordinateur de tourner au ralenti jusqu'à la fin d'une commande Terminal.

caffeinate -i long_running_script.sh

  • -d empêche simplement l'écran de se mettre en veille
  • -m empêche simplement les disques de dormir lorsqu'ils sont inactifs
  • -s maintient l'ensemble du système en éveil

http://brettterpstra.com/2014/02/20/quick-tip-caffeinate-your-terminal/

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X