分離できない画面を復元する方法は?

分離できない画面を復元する方法は?

画面を使う画面ビジュアルコンソール。画面を切り離すにはCtrl+を押しAてから+を押す必要がありますDが、時々切り離さずにセッションが閉じられることがあります。次(Attached)のように表示されます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)

復元しようとすると、画面に復元する画面がないと応答します。

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.

正しく分離されていない画面を復元できますか?

答え1

もちろん、

screen -d -r

あなたは選ぶことができますどのscreen .screenでpid(またはフルネーム)を見つけて、通常どおり分離して再接続しますscreen -list

screen -d -r 12345

答え2

名前の画面を作成する必要があります。

$ 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)

その後、画面を再接続できます

$ screen -dr foo

(16994.fooに追加され、他のプロセスが分離されました)または

$ screen -x i

(他のプロセスと画面を共有する1999.ircに追加されます)

画面ネーミングが大事だと思います。

答え3

私が使用した投稿に提案されたコメントに基づいて:

screen -x <session id>

マニュアルページから:スクリーン-x

-x 分離されていない画面セッションに接続します。 (マルチディスプレイモード)。画面はそれ自体の内部から取り付けることを拒否します。 ただし、複数の画面がカスケード接続されている場合、ループは検出されませんので注意してください。

また、少し調査しながらこのオプションの他の用途を見つけました。画面を使用してリモートで対話する 複数の端末で接続が可能であると説明すると、共有環境でリモートで実際に見て入力できるリモートコンソール共有システムである。

学生を教えたり、同僚との会合をするときに使用できます。

同じ画面IDを使用する2つの異なる端末で同じ画面に接続してみることができます。 (screen -x 4329)。ある項目に入力した内容が別の項目に表示される場合があり、その逆も同様です。

関連情報