追加:この質問は今、これに含まれていると私は信じています:GNUScreenを 完全に透過的かつ自動的に使用する
この関連する質問も参照してください:
https ://superuser.com/questions/147873/ssh-sessions-in-xterms-freeze-for-many-minutes-whenever-they-disconnect
元の質問:
マシンにSSHで接続し、すぐに特定の画面セッションに再接続する方法があれば便利です。あなたはこれを行うことができます:
laptop> ssh server.com screen -ls
そしてそれは次のようにserver.comで利用可能な画面のリストを表示します[1]:
123.pts-1
456.pts-2
そして、あなたはこれをやろうとするかもしれません:
laptop> ssh server.com screen -dr pts-2
しかし、「端末に接続する必要があります」と言って失敗します。最初にSSHで接続してから、server.comで「screen-dr pts-2」を実行する必要があります。これは、接続が不安定で接続が頻繁に切断される場合は適切ではありません。ラップトップで単純な「上矢印入力」で再開できるようにする必要があります。(または、さらに自動化することもできます。)
私はこの問題に対する巧妙な解決策を持っており、それを答えとして投稿し、これに対処する正しい方法を支持して忘却に反対することを願っています。
脚注:
screen -S foo
[1]または、「 」や「」などの名前でスクリーンセッションを作成した場合は、次のようなわかりやすいscreen -S bar
リストが表示されます。
123.foo
456.bar
そして、例えば、" screen -dr foo
"と再接続することができます。
この質問への回答を組み込んだミニスクリーンチュートリアル:
server.comにログインして実行します
screen -S foo
その後、そのセッションから再度ログアウトすることはありません。他の場所から再接続するには、
ssh -t server.com screen -dr foo
再接続するために使用可能な画面を一覧表示するには:
screen -ls
または、もちろん、
ssh server.com screen -ls
server.comの利用可能な画面をリモートで確認します。
以下のJasonの回答に基づいて、次のエイリアス(tcsh)を使用して、名前付き画面が存在する場合はそれに接続するか、そうでない場合は作成して接続します。
alias ssc 'ssh -t \!:1 "screen -S \!:2 -dr || screen -S \!:2"'