私はそれを使用しています画面Debian lennyではこのオプションを使用したいと思います-R
。からman screen
:
-R attempts to resume the youngest (in terms of creation time)
detached screen session it finds. If successful, all other com‐
mand-line options are ignored. If no detached session exists,
starts a new session using the specified options, just as if -R
had not been specified.
ただし、実行すると、screen -R
実際には最後に分離されたセッションに接続できません。代わりに、「適切な画面が複数ある」と、そのうちの1つを選択する必要があると文句を言いました。
私は何を逃したことがありませんか?どうすれば広告として機能させることができますか?
答え1
を試してくださいscreen -RR
。
例:
$ screen -ls
There are screens on:
5958.pts-3.sys01 (08/26/2010 11:40:43 PM) (Detached)
5850.pts-1.sys01 (08/26/2010 11:40:35 PM) (Detached)
2 Sockets in /var/run/screen/S-sdn.
画面5958が最も若いです。screen -RR
画面5958に接続を使用してください。これらの-RR
オプションはマニュアルで詳しく説明されています-d -RR
。
-d -RR Reattach a session and if necessary detach or create it. Use
the first session if more than one session is available.
私がよく使用するもう一つのトリックは、-S
画面にラベルを付けることです。その後、リストを管理できなくなったら、各画面で何が起こったのかを覚えなくても、ラベルを使用して再リンクできます。
はい(vimとカールのようこそ):
$ screen -dm -S curl
$ screen -dm -S vim
$ screen -list
There are screens on:
11292.vim (08/27/2010 12:02:53 AM) (Detached)
11273.curl (08/27/2010 12:01:42 AM) (Detached)
注:この-dm
オプションは分割画面を実行するためにのみ使用されます。
その後、後でタグを使用して簡単に再接続できますcurl
。
# screen -R curl
答え2
私は、gnome-terminalでscreen -Rを使用し、私が言ったように2つのセッションが同時に実行されている場合、gnome-terminalはすぐに終了します。
私は実行して問題を解決しました。
sh -c "screen -R || screen -D -RR"
これは期待どおりに機能します。