ให้บอกว่าฉันมีเซสชั่นหน้าจอที่กำลังทำงานอยู่ฉันกำลังโต้ตอบด้วยผ่านผงสำหรับอุดรู ฉันรู้ว่าบัฟเฟอร์การเลื่อนกลับมีขนาดเล็กเกินไปและต้องการเพิ่มโดยไม่ต้องเริ่มเซสชันหน้าจอใหม่
มีวิธีทำเช่นนี้หรือไม่?
ให้บอกว่าฉันมีเซสชั่นหน้าจอที่กำลังทำงานอยู่ฉันกำลังโต้ตอบด้วยผ่านผงสำหรับอุดรู ฉันรู้ว่าบัฟเฟอร์การเลื่อนกลับมีขนาดเล็กเกินไปและต้องการเพิ่มโดยไม่ต้องเริ่มเซสชันหน้าจอใหม่
มีวิธีทำเช่นนี้หรือไม่?
คำตอบ:
หน้าคนอธิบายว่าคุณสามารถเข้าสู่โหมดบรรทัดคำสั่งในเซสชั่นการทำงานโดยการพิมพ์Ctrl+ A, :แล้วออกscrollback <num>
คำสั่ง
<num>
จำนวนบรรทัดของ scrollback
scrollback <num>
จะไม่ช่วยให้คุณขยายบัฟเฟอร์อีกต่อไปคุณจะต้องทำซ้ำคำสั่งสุดท้ายเพื่อรับบัฟเฟอร์ประวัติทั้งหมด
กดCtrl-aจาก:นั้นพิมพ์
scrollback 10000
เพื่อรับบัฟเฟอร์ 10,000 บรรทัดตัวอย่างเช่น
นอกจากนี้คุณยังสามารถตั้งค่าจำนวนบรรทัดเริ่มต้นของ scrollback ได้โดยการเพิ่ม
defscrollback 10000
ไปยัง~/.screenrc
ไฟล์ของคุณ
ในการเลื่อน (หากเทอร์มินัลไม่อนุญาตให้คุณตามค่าเริ่มต้น) ให้กดCtrl-a ESCแล้วเลื่อน (ตามปกติCtrl-fสำหรับหน้าถัดไปหรือCtrl-aหน้าก่อนหน้าหรือเพียงแค่ใช้ล้อเมาส์ / สองนิ้ว) ESCเพื่อออกจากโหมดการเลื่อนเพียงแค่กด
เคล็ดลับอื่น: Ctrl-a iแสดงการตั้งค่าบัฟเฟอร์ปัจจุบันของคุณ
byobu-screen
บน Ubuntu 12.04 ดูเหมือนว่าจะตั้งค่า defscrollback เป็น 10,000
startup_message off' and 'defscrollback 5000' into my newly created
~ / .screenrc` และมันจะได้บรรทัดแรก แต่อันที่สองดูเหมือนจะถูกเพิกเฉย
มีบัฟเฟอร์ "เริ่มต้น" น้อยที่สุดเมื่อคุณเริ่มต้นเซสชัน 'หน้าจอ' ภายใน 'เซสชันโป๊ว' ของคุณ ฉันใช้หน้าจอเป็นจำนวนมากในการทำงานของฉันดังนั้นฉันสามารถบอกคุณได้ว่าคุณจะไม่มีการรวมกันของ 'หน้าจอ' บัฟเฟอร์และ 'สีโป๊' บัฟเฟอร์ภายในเซสชัน 'หน้าจอ' ของคุณ
การตั้งค่าจำนวนเริ่มต้นของบรรทัดการเลื่อนกลับโดยเพิ่มไฟล์defscrollback 10000
ของคุณ~/.screenrc
เป็นวิธีแก้ไขที่ถูกต้อง
อย่างไรก็ตามฉันใช้ "defscrollback 200000" ใน./screenrc
ไฟล์ของฉัน
ดังที่ได้กล่าวไปแล้วเรามีสองวิธี!
และมันก็ทำแบบโต้ตอบ! และมีผลทันที!
CTRL + Aตามด้วย:และเราพิมพ์scrollback 1000000
และตีENTER
คุณแยกออกจากหน้าจอและกลับมา! มันจะเหมือนเดิมเสมอ
คุณเปิดอีกหน้าจอใหม่! และค่าจะถูกรีเซ็ตอีกครั้งเป็นค่าเริ่มต้น! ดังนั้นจึงไม่ใช่การตั้งค่าระดับโลก!
ซึ่งจะทำโดยการเพิ่มdefscrollback 1000000
การ.screenrc
(ในบ้าน)
defscrollback
และไม่scrollback
(def ยืนสำหรับการเริ่มต้น)
สิ่งที่คุณต้องรู้คือถ้าไฟล์นั้นไม่ได้ถูกสร้างขึ้น! คุณสร้างมันขึ้นมา !
> cd ~ && vim .screenrc
และคุณเพิ่มdefscrollback 1000000
มัน!
หรือในคำสั่งเดียว
> echo "defscrollback 1000000" >> .screenrc
(ถ้ายังไม่ได้สร้าง)
เมื่อคุณเพิ่มค่าเริ่มต้นเป็น.screenrc
! หน้าจอที่รันอยู่ที่แนบใหม่จะไม่มีผล! การ.screenrc
ทำงานในการสร้างหน้าจอ! และมันก็สมเหตุสมผล! เช่นเดียวกับคอนโซลปกติและการเปิดตัวเชลล์!
และหน้าจอที่สร้างขึ้นใหม่ทั้งหมดจะมีค่าที่ตั้งไว้!
เพื่อตรวจสอบประเภทCTRL + Aตามด้วยi
และผลที่ได้จะเป็น
ที่สำคัญขนาดบัฟเฟอร์คือตัวเลขหลังเครื่องหมาย +
(ในภาพประกอบที่ฉันตั้งไว้ที่ 1 000 000)
โปรดทราบด้วยว่าเมื่อคุณเปลี่ยนการโต้ตอบ! ผลที่ได้คือทันทีและรับช่วงค่าเริ่มต้น!
CTRL+ Aตามด้วยESC(เพื่อเข้าสู่โหมดคัดลอก)
จากนั้นไปด้วยUp, DownหรือPgUp PgDown
และESCอีกครั้งเพื่อออกจากโหมดนั้น
(ข้อมูลเพิ่มเติม: เพื่อคัดลอก hit ENTERเพื่อเริ่มเลือก! จากนั้นENTERอีกครั้งเพื่อคัดลอก! เรียบง่ายและเย็น)
ตอนนี้บัฟเฟอร์ใหญ่กว่า!
และนั่นคือการสรุปรายละเอียดที่สำคัญ!
คำเตือน: การตั้งค่านี้สูงเกินไปอาจทำให้ระบบของคุณมีอาการสะอึก ยิ่งคุณตั้งค่าไว้สูงหน่วยความจำเสมือนจะถูกจัดสรรให้กับกระบวนการหน้าจอมากขึ้นเมื่อเริ่มต้นเซสชันหน้าจอ ฉันตั้งค่า ~ / .screenrc เป็น "defscrollback 123456789" และเมื่อฉันเริ่มต้นหน้าจอระบบทั้งหมดของฉันจะแข็งตัวเป็นเวลา 10 นาทีก่อนกลับมาถึงจุดที่ฉันสามารถฆ่ากระบวนการหน้าจอได้ (ซึ่งกินเนื้อที่ 16.6GB จาก VIRT mem จากนั้น)
สำหรับลูกหลานคำตอบนี้ไม่ถูกต้องตามที่ระบุไว้โดย Steven Lu ออกจากข้อความต้นฉบับอย่างไรก็ตาม
คำตอบเดิม:
สำหรับผู้ที่มาถึงผ่านการค้นหาเว็บ (หลายปีต่อมา) ...
เมื่อใช้หน้าจอบัฟเฟอร์การเลื่อนของคุณเป็นการรวมกันของทั้งสอง screen
เลื่อนบัฟเฟอร์ตามคำตอบก่อนหน้านี้สองคำตอบรวมถึงบัฟเฟอร์การเลื่อนกลับของคุณ
ตรวจสอบให้แน่ใจว่าคุณกำลังเพิ่มบัฟเฟอร์ของ putty scrollback เช่นเดียวกับ buffer scrollback ของหน้าจอมิฉะนั้นหน้าต่างของคุณ putty เองจะไม่ยอมให้คุณเลื่อนกลับไปดูscreen
ประวัติ scrollback ของคุณ (เอาชนะด้วยการเลื่อนภายในหน้าจอด้วยctrl+a->ctrl+u
)
คุณสามารถเปลี่ยนขีด จำกัด การเลื่อนสีโป๊วของคุณได้ภายใต้หมวดหมู่ "หน้าต่าง" ในการตั้งค่า การออกและเปิดเซสชัน putty อีกครั้งบนหน้าจอของคุณจะไม่ปิดหน้าจอ (สมมติว่าคุณเพิ่งปิดหน้าต่างโป๊วและไม่พิมพ์exit
) ตามที่ OP ขอ
หวังว่าจะช่วยระบุสาเหตุที่การเพิ่มบัฟเฟอร์การเลื่อนหน้าจอไม่ช่วยแก้ปัญหาของใครบางคน
screen -h <numlines>