Comment reprendre un écran que je n'ai pas réussi à détacher?

8

J'utilise l'écran Consoles visuelles d'écran . Pour détacher un écran, je dois appuyer sur Ctrl+ Asuivi de Dmais quelque temps une session est fermée sans le détacher. Il apparaît comme (Attached)sur screen -list:

eduard@eduard-X:~$ screen -list
There are screens on:
        4561.pts-46.eduard-X   (30.03.2015 14:48:51)   (Attached)
        4547.pts-46.eduard-X   (30.03.2015 14:48:33)   (Detached)
        4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
        3995.pts-30.eduard-X   (30.03.2015 14:30:01)   (Detached)

Si j'essaye de le restaurer, l'écran répond qu'il n'y a pas d'écran à reprendre:

eduard@eduard-X:~$ screen -r 4329
There is a screen on:
        4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
There is no screen to be resumed matching 4329.

Puis-je toujours reprendre un écran que je n'ai pas détaché correctement?

Eduard Florinescu
la source
2
Veuillez copier et coller du texte au lieu d'utiliser des graphiques.
Celada
@Celada J'ai ajouté du texte au lieu de captures d'écran
Eduard Florinescu

Réponses:

12

Bien sûr, avec

screen -d -r

Vous pouvez choisir quel écran détacher et rattacher comme d'habitude en trouvant le pid (ou le nom complet) avec screen -list.

screen -d -r 12345
Celada
la source
8

Vous devez créer des écrans avec des noms.

$ screen -S foo

$ screen -list
There are screens on:
        16994.foo       (03/30/15 14:05:13)     (Detached)
        20082.q (12/17/14 18:06:44)     (Detached)
        11008.w (11/12/14 10:52:43)     (Detached)
        1199.irc        (11/12/14 01:34:40)     (Detached)

Ensuite, vous pouvez rattacher les écrans avec

$ screen -dr foo

(qui s'attachera à 16994.foo, détachant tout autre processus) ou

$ screen -x i

(qui sera attaché à 1999.irc, qui PARTAGERA l'écran avec un autre processus)

Je pense que nommer les écrans est important.

oPless
la source
6

Suite à un commentaire suggéré dans le post que j'ai utilisé:

screen -x <session id>

Depuis la page de manuel : screen -x

-x Attacher à une session d'écran non détachée. (Mode d'affichage multiple). L'écran refuse de se joindre de lui-même. Mais lors de la cascade de plusieurs écrans, les boucles ne sont pas détectées; prends soin de toi.

En recherchant également un peu, j'ai découvert d'autres utilisations de cette option.Utiliser l'écran pour l'interaction à distance explique que vous pouvez vous connecter à partir de plusieurs terminaux, une sorte de système de partage de console à distance, pratiquement vous pouvez voir et taper à distance dans un environnement partagé.

Cela peut être utilisé pour enseigner aux étudiants ou organiser des choses avec un collègue.

Vous pouvez essayer de vous connecter au même écran à partir de deux terminaux différents avec le même identifiant d'écran. ( screen -x 4329). Ce que vous tapez dans l'un peut être vu dans l'autre et vice-versa.

Eduard Florinescu
la source