หน้าจอ GNU - กู้คืนเซสชันด้วยหน้าจอแยก


9

เมื่อฉันกู้คืนเซสชั่นที่แยกของscreenฉันมีเซสชั่นการพิมพ์เพียงครั้งเดียวและต้องกำหนดค่าจำนวนเซสชันการแสดงผลอีกครั้ง

มีวิธีอื่นในการscreenกำหนดค่าดั้งเดิมหรือไม่

คำตอบ:


9

ปัจจุบันนี้ไม่สามารถทำได้หากไม่มีการแฮ็ก (ดูย่อหน้าถัดไป) อย่างไรก็ตามคุณสมบัติที่จำเป็นในการทำเช่นนี้ได้ถูกเพิ่มไปยังทรี git ปัจจุบันของหน้าจอแล้ว ในรุ่นอนาคตคำสั่ง "เลย์เอาต์บันทึก" และ "โหลดเลย์เอาต์" จะสามารถโหลดได้ไม่เพียง แต่เลย์เอาต์สุดท้ายของคุณเท่านั้น ฉันเชื่อว่ายังมีการสนับสนุนสำหรับการขี่จักรยานผ่านเค้าโครง

ปัจจุบันเคล็ดลับคือการใช้หน้าจอภายในหน้าจอ การเปลี่ยนแปลงงานและเค้าโครงทั้งหมดของคุณเสร็จสิ้นในหน้าจอด้านใน แต่เมื่อคุณแยกออกคุณจะแยกออกจากหน้าจอส่วนใหญ่ด้านนอก เลย์เอาต์ของหน้าจอด้านในจะถูกเก็บรักษาไว้ ดูต่อไปนี้สำหรับรายละเอียดทั้งหมดที่มีทราย:

เมื่อฉันแยกการแสดงผลแล้วแยกออกหน้าจอจะลืมการแยก

หรือคุณสามารถลองรวบรวมเวอร์ชั่นล่าสุดได้โดยตรงจากแผนผังแหล่งที่มาของหน้าจอ คุณสามารถทำได้โดยการติดตั้ง git แล้วเรียกใช้:

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

จากนั้นทำตามคำแนะนำใน src / INSTALL โดยทั่วไปเส้นทางคือ:

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

มีการอภิปรายในไฟล์ติดตั้งเกี่ยวกับปัญหาต่าง ๆ โดยรอบที่จะติดตั้งหน้าจอตามข้อกังวลต่าง ๆ หากคุณไปเส้นทางนี้ทางออกที่ดีที่สุดของคุณคือการอ่านทิศทางการติดตั้งทั้งหมดแล้วดำเนินการต่อ


0

ฉันพบปัญหานี้เมื่อฉันกดคีย์ผิดโดยบังเอิญและหน้าจอแยกทั้งหมดของฉันหายไป : ((

อย่างไรก็ตามอย่างน้อยก็มีวิธีการออกสำหรับฉันอย่างน้อย เนื่องจากส่วนใหญ่ฉันใช้screenร่วมกับxtermและbashเปลือกหอยสิ่งสุดท้ายที่ฉันต้องการคือการเปิดตัวอีกbashต่อไป (การควบคุมสิ่งต่าง ๆ ที่psเปิดเผยbashกระบวนการอยู่ที่นั่น แต่ไม่สามารถเข้าถึงได้)

ดังนั้นวิธีการที่จะได้รับกลับไปติดตั้งตามปกติของฉันคือการใช้Ctrl+ "และเพิ่มหนึ่งทำงานอยู่แล้วเปลือกไปที่หน้าต่างแยกแต่ละขี่จักรยานผ่าน "บาน" กับ+Ctrl aTABดังนั้นฉันจึงได้ของกลับมาเป็นปกติ
ฉันโพสต์สิ่งนี้โดยเฉพาะอย่างยิ่งเพราะฉันเจอคนที่ผิดหวังด้วยการกดCtrl+ acและ "ติดตั้งใหม่" bashes ของพวกเขา แต่นี่มันโง่! สำหรับวิธีการนั้นคุณจะต้องจบลงด้วยbashกระบวนการ25 กระบวนการในตอนท้ายของวันโดยมีอย่างน้อย 15 กระบวนการที่ไม่สามารถเข้าถึง / มองไม่เห็นเพียงแค่สิ้นเปลืองทรัพยากรและ CPU โดยไม่มีเหตุผล ดังนั้นให้ใช้มันแทนการสร้างมันขึ้นมาใหม่


คือctrl "อะไร ฉันลองแล้วเมื่อติดใหม่เมื่อจ้องมองที่ "display sesssion" ที่เหลืออยู่เพียงหนึ่งเดียวและมันก็ไม่ทำอะไรเลยฉันกด^a tabแล้วและนั่นก็ไม่ได้พาฉันไปที่ถัดไป infact สิ่งเดียวที่ทำคือ^a n
Brian Thomas

0

Putty note: หากคุณใช้ putty ให้ไปที่การตั้งค่าเทอร์มินัลและตรวจสอบเพื่อปิดใช้งานขนาดเทอร์มินัลอีกครั้งบันทึกการตั้งค่าจากนั้นเปิดใหม่อีกครั้ง

คุณมีตัวเลือกไม่กี่ตัวเลือกขึ้นอยู่กับว่ามีเหตุผลสำหรับการตั้งค่าของคุณ

a) ใช้ screen_layout หากคุณใช้งานเวอร์ชั่น 4.2 และ screen -X dump layout

b) ใช้แฮ็คหากคุณมีhttp://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_for__x1xx

แฮ็คนี้ค่อนข้างสับสนว่าคุณต้องสังเกตอย่างรอบคอบว่ามันไม่ชัดเจนว่าคุณต้องเปิดหน้าจอมาตรฐานก่อนที่คุณจะเปิดหน้าจอด้วยการแก้ไข. screenrc เพราะเซสชันจะไม่เก็บข้อมูลเช่นนั้น

c) คอมไพล์และทำการติดตั้ง http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html

d) ใช้โปรแกรมปะแก้แทนที่จะติดตั้งใหม่ (ดูด้านล่าง)

e) รับ ahold ของไบนารีสำหรับ distro ของคุณและวางไว้ในเส้นทางของคุณเพื่อที่จะแทนที่ค่าเริ่มต้นของระบบ

hth เพราะฉันรู้ว่าตัวเลือกเดียวไม่เพียงพอ

เกี่ยวกับ 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.