GNU画面-分割された画面でセッションを復元する


9

の分割セッションを復元するとscreen、印刷セッションが1つしかなく、表示セッションの数を再設定する必要があります。

元のscreen構成にする別の方法はありますか?

回答:


9

現在、これはハックなしでは不可能です(次の段落を参照)。ただし、これを実行するために必要な機能は、画面の現在のgitツリーにすでに追加されています。将来のバージョンでは、「layout save」および「layout load」コマンドは、最後のレイアウトだけでなく、他の名前付きレイアウトもロードできるようになります。レイアウトの循環もサポートされていると思います。

現在のトリックは、画面内で画面を使用することです。作業とレイアウトの変更はすべて内部画面で行われますが、切り離すと、実際には最も外側の画面から切り離されます。内部画面のレイアウトは保持されます。すべての詳細については、以下を参照してください。

ディスプレイを分割してから切り離すと、画面が分割を忘れます。

または、画面のソースツリーから直接最新バージョンをコンパイルしてみることもできます。これを行うには、gitをインストールして実行します。

git clone git://git.savannah.gnu.org/screen.git

次に、src / INSTALLの指示に従います。一般的に、方向は次のとおりです。

  1. ./autogen.sh
  2. ./configure
  3. make

INSTALLファイルには、さまざまな懸念事項に基づいてscreenをインストールする場所に関するさまざまな問題についての議論があります。このルートを使用する場合、最善の策は、INSTALLの指示をすべて読んでから続行することです。


0

誤って間違ったキーの組み合わせを押したときにこの問題に遭遇し、すべての分割画面が消えてしまいました。:((

しかし、少なくとも私には(控えめな)方法がありました。私は主にとシェルをscreen一緒に使用しているので、私が欲しかった最後のものはそれ以上のesを起動することです。(明らかにさたプロセスによるものの制御ありましたが、アクセスできませんでした。)xtermbashbashpsbash

したがって、私の通常の設定に戻る方法は、Ctrl+ を使用して"すでに実行中のシェルを各分割ウィンドウに追加し、Ctrl+で「ペイン」を循環させることaTABでした。だから私は物事を通常に戻しました。
これを投稿しているのは、フラストレーションの中でCtrl+ acを押してbashes を「再インストール」しただけの人に出会ったからです。しかし、これはばかげています!その方法でbashは、1日の終わりにはおそらく25のプロセスになり、そのうちの少なくとも15はアクセス不能/非表示になり、理由もなくリソースとCPUを浪費するだけです。したがって、それらを再作成する代わりに、それらを再使用してください。


なにctrl "?再び取り付けたときに一つだけ残った「の表示sesssion」を見つめたとき、私は、それを試みたが、それは何もしませんし、私が押さ^a tabれ、そのdidntは、次に私を取る、ないInfactは唯一のものです^a n
ブライアン・トーマス

0

Puttyに関する注意:puttyを使用している場合は、ターミナルの設定に移動して、ターミナルのサイズ変更を無効にすることを確認し、設定を保存してから再起動してください。

いくつかのオプションがありますが、どちらが設定に適しているかによって異なります。

a)バージョン4.2以上で、screen_layoutを使用します。 screen -X dump layout

b)〜4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_splitがある場合は、ハックを使用します

セッションがそのようなデータを保持しないため、.screenrcを編集して画面を起動する前に、標準画面を起動する必要があることをそれほど明確に示されていないことに注意する必要があるという点で、このハックは少し混乱します。

c)http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.htmlをコンパイルしてインストールし ます。

d)再インストールする代わりにパッチを適用します(以下を参照)

e)ディストリビューションのバイナリを取得し、パスに配置して、システムのデフォルトのバイナリを上書きします。

hth、私は1つのオプションでは十分ではないことを知っているからです。

上記のd)については、パッチを見つけることができなかったため、ここに含めません。

diff --git a/src/doc/screen.texinfo b/src/doc/screen.texinfo
index 6142de0..6fc8f9e 100644
--- a/src/doc/screen.texinfo
+++ b/src/doc/screen.texinfo
@@ -1040,6 +1040,8 @@ Show or set which layout to reattach to.  @xref{Layout}.
 Remember the organization of a layout.  @xref{Layout}.
 @item layout autosave [@var{on}|@var{off}]
 Show or set the status of layout saving.  @xref{Layout}.
+@item layout dump [filename]
+Save the layout arrangement to a file.  @xref{Layout}.
 @item license
 Display licensing information.  @xref{Startup}.
 @item lockscreen
@@ -2107,7 +2109,10 @@ the layout to reattach to will be shown in the message line.
 Remember the current arrangement of regions. When used, @code{screen}
 will remember the arrangement of vertically and horizontally split
 regions. This arrangement is restored when a @code{screen} session
-is reattached or switched back from a different layout. If a number
+is reattached or switched back from a different layout. If the 
+session ends or the @code{screen} process dies, the layout
+arrangements are lost. The @code{layout dump} command should help
+in this siutation. If a number
 or title is supplied, @code{screen} will remember the arrangement of
 that particular layout. Without any options, @code{screen} will
 remember the current layout.
@@ -2129,6 +2134,21 @@ a single window. Without either an @code{on} or an @code{off}, the
 current status is displayed on the message line.
 @end deffn

+@deffn Command layout @code{dump} [filename]
+(none)@*
+Write to a file the order of splits made in the current layout. This 
+is useful to recreate the order of your regions used in your current
+layout. Only the current layout is recorded. While the order of the
+regions are recorded, the sizes of those regions and which windows
+correspond to which regions are not. If no filename is specified,
+the default is @file{layout-dump}, saved in the directory that the
+@code{screen} process was started in. If the file already exists,
+@code{layout dump} will append to that file. As an example:
+@example
+layout dump /home/user/.screenrc
+@end example
+will save or append the layout to the user's @file{.screenrc} file.
+@end deffn

 @node Window Settings, Virtual Terminal, Regions, Top
 @chapter Window Settings
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.