GNU画面 - 分割画面を使用してセッションを再開する

GNU画面 - 分割画面を使用してセッションを再開する

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

元の設定を維持する他の方法はありますかscreen

答え1

これはないこれはハッキングなしで可能です(次の段落を参照)。ただし、これを行うために必要な機能が画面の現在のGitツリーに追加されました。将来のバージョンでは、レイアウトの保存とレイアウトのロードコマンドを使用して、最後のレイアウトだけでなく、名前付きの他のレイアウトも読み込むことができます。ループレイアウトもサポートされていると思います。

今は画面内で画面を使うのが秘訣です。すべてのタスクとレイアウトの変更は内部画面で行われますが、分離すると、実際には最も外側の画面から分離されます。内部画面のレイアウトは維持されます。詳しくは下記をご覧ください。

モニターを分割してから分離すると、画面が分割されるのを忘れてしまいます。

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

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

その後、src / INSTALLの指示に従います。通常、方向は次のとおりです。

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

さまざまな問題に応じて、画面をインストールする場所に関するさまざまな問題がインストール文書で説明されています。このパスを選択する場合は、続行する前にすべてのインストール手順をお読みください。

答え2

パテ注: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) 配布用のバイナリをインポートし、システムのデフォルトパスをオーバーライドするためにパスに入れます。

まあ、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

答え3

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

しかし、少なくとも私には(控えめな)脱出口があります。私は主にシェルで作業しているので、最後にしscreenたいのはxtermbash放射より多くのesがありますbash。 (プロセスをps公開してbash状況を制御します。はいしかし、アクセスできません。 )

したがって、通常の設定に戻る方法はCtrl+を使用"します。すでに実行中Ctrl「ウィンドウ」を循環するには、+を使用して各ペインにシェルをインストールしますaTAB。だから私は状況が再び正常に戻るようにした。私がこの記事を投稿する主な理由は、欲求不満に+を押してesを「再インストール」した
人に会ったからです。しかし、これは愚かなことです!このアプローチを使用すると、1日の終わりに25のプロセスが発生する可能性があり、そのうち少なくとも15はアクセスできないか見えず、何らかの理由でリソースとCPUを無駄にするだけです。病気Ctrlacbashbash使用また代わりにそれらを作るそれらを。

答え4

分離前:

[Ctrl]+[a]+[:] 次にEnterを押します。layout dump .my_filename

これで切り離すことができます。

再接続した後:

[Ctrl]+[a]+[:] 次にEnterを押します。source .my_filename

源泉:

https://linuxdigest.com/howto/gnu-screen-split-the-screen/ そしてhttps://www.gnu.org/software/screen/manual/html_node/Layout.html

関連情報