Ответы:
В настоящее время это невозможно без взлома (см. Следующий параграф); однако функции, необходимые для этого, уже добавлены в текущее git-дерево экрана. В будущих версиях команды «сохранение макета» и «загрузка макета» смогут загружать не только ваш последний макет, но и другие именованные макеты. Я считаю, что есть также поддержка для циклического прохождения макетов.
В настоящее время хитрость заключается в использовании экрана внутри экрана. Вся ваша работа и изменения макета выполняются на внутреннем экране, но затем, когда вы отсоединяетесь, вы фактически отсоединяетесь от самого внешнего экрана. Компоновка внутреннего экрана будет сохранена. Смотрите следующие подробности:
Когда я разделяю дисплей и затем отсоединяюсь, экран забывает разделение.
Кроме того, вы можете попробовать скомпилировать последнюю версию прямо из дерева исходных текстов на экране. Вы можете сделать это, установив git и запустив:
git clone git://git.savannah.gnu.org/screen.git
Затем следуйте инструкциям в src / INSTALL. В общем, направления таковы:
./autogen.sh
./configure
make
В файле INSTALL обсуждаются различные проблемы, связанные с установкой экрана, на основе различных проблем. Если вы идете по этому пути, лучше всего прочитать все инструкции по установке, а затем продолжить.
Я столкнулся с этой проблемой, когда случайно нажал неправильную комбинацию клавиш, и все мои разделенные экраны исчезли. : ((
Однако, для меня был (скромный) выход, по крайней мере. Так как я в основном использую screen
вместе с xterm
и bash
оболочками, последнее, что я хотел иметь, это запускать больше bash
. (Управление вещами с ps
выявленными bash
процессами было , но не доступно.)
Таким образом, чтобы вернуться к моей обычной настройке, нужно было использовать Ctrl+ "и добавлять по одной уже запущенной оболочке в каждое разделенное окно, циклически перемещаясь по «панелям» с помощью Ctrl+ aTAB. Так что я вернул вещи в нормальное русло.
Я публикую это особенно потому, что встречал людей, которые в отчаянии просто нажимали Ctrl+ acи «переустанавливали» свои системы bash
. Но это глупо! С этим методом вы получите в конечном итоге 25 bash
процессов, по крайней мере, 15 из них недоступны / невидимы, просто тратя ресурсы и ЦП без всякой причины. Поэтому используйте их вместо того, чтобы создавать их заново .
Шпатлевка Примечание: Если вы используете замазку, а также перейти к настройкам терминала и проверьте , чтобы отключить размер повторного терминальные, сохраняет настройки, а затем перезапустить.
У вас есть несколько вариантов, в зависимости от того, что кажется логичным для вашей установки;
а) Используйте screen_layout, если у вас версия 4.2 и screen -X dump layout
б) Используйте хак, если у вас есть ~ 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.
г) Примените патч вместо переустановки (см. ниже)
e) Возьмите бинарный файл для своего дистрибутива и поместите его на свой путь, чтобы он переопределил системный по умолчанию.
hth, потому что я знаю, что одного варианта недостаточно.
Что касается г) выше, я больше не могу найти патч, так что плохо включу его сюда.
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
ctrl "
? Я попробовал это, когда был снова прикреплен, когда смотрел на единственную оставшуюся «демонстрацию», и она ничего не делает, затем я нажал^a tab
, и это не привело меня к следующему, затрагивающему только то, что делает^a n