回答:
画面のFAQから:
(暗黙の質問は、「どのように分割ウィンドウをデタッチ上に保持するのですか?」)
短い答えはあなたができないということです。より長い答えは、あなたがそれを偽造できるということです。
スプリットはディスプレイのプロパティです。スクリーンセッションを管理するプロセスは、実際にはそれらを知りません。セッションを表示している単一のプロセスのみが行います。したがって、画面セッションは分割を認識できないため、分割を記憶できません。一度切り離すと、分割を認識したプロセスは終了します。
ハックは、ネストされたスクリーンセッションを使用することです。1つのセッションを開始し、あまり使用しないエスケープシーケンスを指定します(または、エスケープキャラクターを完全に無効にします)。通常のデタッチキーシーケンスをこの画面セッションにバインドします。次に、メイン画面セッションを開始または接続します。すべての作業は内部セッションで行われ、表示を分割できます。ただし、デタッチすると、デタッチするのは外部セッションになるため、内部セッションでの分割は保持されます。
デフォルトのエスケープ文字Caを使用すると仮定すると、代替screenrcには以下が含まれます。
escape "" bindkey ^ad detach
layout
はこの答えを無効にします!
既にいくつかのウィンドウが設定されていて、それらを保存したい場合、これを行うことができることがわかりました:
Ctrl-a
:
layout save default
その後、セッションをデタッチして再アタッチすると、レイアウトが復元されます。
Screenバージョン4.00.03jw4(FAU)2-May-06(Ubuntu 12.04および12.10)で動作します
また、次のようなデーモンセッションを作成することもできます。
$> screen -dmSU mysession
呼び出して、常に利用できるようにします。
$> screen -r mysession
screen 4.00.03 (FAU) 23-Oct-06
はこの機能がないようです。しかし、そうすべきです!
.screenrc
。その答えに賛成票を投じる
gitバージョンでは、新しい機能layout
が導入されました。
screen(1)から:
新しいレイアウト[タイトル]
新しいレイアウトを作成します。画面は1つのリージョン全体に変わり、空白のウィンドウに切り替わります。ここから、必要に応じて表示するリージョンとウィンドウを作成します。新しいレイアウトには、ゼロから始まる最小の使用可能な整数で番号が付けられます。オプションで、新しいレイアウトにタイトルを付けることができます。それ以外の場合、デフォルトのタイトルは「レイアウト」になります。コマンドレイアウトタイトルを使用して、後からいつでもタイトルを変更できます。
画面セッションを切り離しても、レイアウトには領域の分割方法が記憶されています。
たとえば、画面構成はフォロー構成で始まります。
layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach
このセッションを再接続すると、3つの分割された領域を持つ(最後に選択した)レイアウトに戻ることができます。
以下にこの行を追加するだけ~/.screenrc
です:
# This line makes Detach and Re-attach without losing the regions/windows layout
layout save default