8 votes

Est-ce qu'il existe une commande de déconnexion du terminal qui fait quelque chose de similaire à ce que fait GNU Screen ?

Comme la plupart d'entre vous le savent, GNU Screen est un outil pratique qui vous permet de faire quelque chose comme :

Un autre bon usage de la détachement et réattachement est en tant que fonctionnalité "bureau à distance" en mode console. Vous pouvez vous détacher d'une session Screen au travail, ouvrir un shell sur la machine depuis chez vous, et vous réattacher. Très, très utile. Avec un peu de travail supplémentaire, vous pouvez même avoir plusieurs terminaux tous attachés à la même session - idéal pour les efforts collaboratifs et les réunions.

Maintenant, je suis curieux de savoir s'il est possible de faire cela sans Screen. À savoir, au lieu de se déconnecter, je tape magiclogout et la prochaine fois que je me connecte, je retrouve ma session précédente (si le système d'exploitation n'a pas redémarré, bien sûr).

6voto

Hackworth Points 45816

Byobu est basé sur screen ; il a une option de menu pour le définir comme shell par défaut.

Vous pouvez soit exit normalement, soit vous détacher avec alt-A, D comme vous le feriez avec screen simple, et votre session attendra lorsque vous vous connecterez à nouveau.

En outre, il ajoute un certain nombre de touches pour la gestion du terminal, F2 pour créer un nouveau terminal, et F3 et F4 pour naviguer entre les fenêtres, ainsi qu'une barre d'état avec plusieurs indicateurs utiles comme les mises à jour de paquets en attente.

Il est installé par défaut sur les versions serveur d'Ubuntu, et devient rapidement mon terminal par défaut sur la plupart des serveurs que je gère.

Comme je l'ai dit, byobu dépend de screen pour fonctionner cependant... Je ne connais pas de moyen de reprendre une session autre que d'avoir un processus qui reste en cours d'exécution sur la machine cible.

Éditer : byobu enveloppera également tmux (qui est le terminal multiplexer par défaut sur les versions plus récentes d'Ubuntu). Vous n'avez généralement rien à faire - il utilisera simplement le multiplexeur de terminaux par défaut.

2voto

artful_dodger Points 63

Vous voudrez peut-être jeter un coup d'œil à tmux

1voto

enzotib Points 86709

Vous pourriez avoir quelque chose comme ça avec un logiciel de bureau à distance qui crée sa propre session, comme par exemple FreeNX sur le serveur et le client NoMachine sur le client.

Vous pouvez également utiliser cela avec le serveur et le client étant la même machine, afin de simuler ce que vous demandez.

1voto

Jan Points 3433

Cela n'est pas possible sans utiliser screen, byobu (comme mentionné par Adrian) ou des outils similaires.

Un shell interactif doit être connecté à un tty. Si vous vous déconnectez, le shell perd la connexion au tty et se ferme.

Screen et ses amis évitent cela en créant un ou plusieurs ttys virtuels persistants. Lorsque vous vous déconnectez, le shell reste connecté au tty virtuel et ne remarque pas que l'utilisateur a été déconnecté.

Pour les programmes non interactifs, un tty n'est pas nécessaire et au lieu de screen, vous pourriez utiliser nohup.

Comme le souligne Adrian, il est possible d'utiliser byobu par défaut et, comme vous le savez, de nombreux utilisateurs expérimentés commenceront simplement par lancer screen dès leur première connexion. Y a-t-il une raison spécifique pour laquelle vous souhaitez éviter screen?

0voto

Vous pouvez démarrer une commande via nohup:

nohup commande &

Si vous souhaitez enregistrer la sortie quelque part, faites:

nohup commande > sortie.txt &

Maintenant, vous devez détacher le logiciel en cours d'exécution en

  1. appuyant sur CTRL-Z
  2. en entrant bg
  3. disown %1

Plus d'astuces pour nohup peuvent être trouvées dans sa page de manuel (http://ss64.com/osx/nohup.html), de même pour disown (http://ss64.com/osx/disown.html).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X