วิธีการรีโหลดหน้าจอโดยไม่ต้องรีสตาร์ทหน้าจอ?


90

หลังจากแก้ไข screenrc แล้วจะดูการเปลี่ยนแปลงโดยไม่ต้องเริ่มต้นหน้าจอใหม่ได้อย่างไร

คำตอบ:


103

คุณอาจจะลอง-Ctrla : source ~/.screenrc


7
การจัดหาไฟล์ควรใช้งานได้ การถอดและติดตั้งซ้ำจะไม่
Zed

1
@Zed: แต่มันจะ re-ใช้ termcap / สิ่ง terminfo sourceซึ่งจะไม่เกิดขึ้นเมื่อคุณใช้
Dennis Williamson

@Dennis ฉันลองถอดและใส่กลับเข้าไปใหม่แล้วใช้ไม่ได้ดังนั้นฉันจึงมาถามคำถามนี้ นอกจากนี้การใช้ซอร์สสามารถเปิดหน้าต่างทั้งหมดจาก. screenrc ได้ แต่จะไม่รีเฟรชเซสชัน แต่จะสร้างหน้าต่างซ้ำในหนึ่งเซสชัน ขอบคุณ
garconcn

3
การใช้ "แหล่งที่มา" เป็นวิธีที่ถูกต้อง (และเท่านั้น) เพื่อให้หน้าจออ่าน. screenrc อีกครั้งในเซสชันที่กำลังทำงานอยู่ ใช่นี่หมายความว่ามันจะเรียกใช้คำสั่งใด ๆ ที่คุณมีอยู่ในนั้นอีกครั้งรวมถึงคำสั่งที่สร้างหน้าต่างหรือเลย์เอาต์ คุณสามารถแก้ไขไฟล์เพื่อคอมเม้นท์คำสั่งที่สร้างหน้าต่าง / เลย์เอาต์ใหม่; แหล่งไฟล์; จากนั้นยกเลิกการแสดงความคิดเห็นบรรทัดเหล่านั้น แน่นอนว่าถ้าเป็นการสร้างหน้าต่างที่คุณต้องการทดสอบคุณไม่มีทางเลือกมากนักที่นี่ ...
James Polley

8
@garconcn: หากนี่เป็นสิ่งที่คุณอาจทำบ่อย ๆ ให้ใส่สิ่งนั้น (คำแนะนำในการสร้างหน้าจอที่ไม่ใช่หน้าจอ) ในไฟล์ที่สองและsourceจาก.screenrc(ซึ่งจะมีคำแนะนำในการสร้างหน้าจอ) สำหรับการเริ่มต้นปกติและเมื่อคุณต้องการsourceอีกครั้งscreenได้เริ่มขึ้นแล้วเพียงทำ "ctrl-a: source Secondary-file" เพื่อข้ามสิ่งที่สร้างหน้าจอ
Dennis Williamson

36

ฉันลองตัวเลือกที่กล่าวถึงที่นี่ - Ctrl- และมันไม่ได้ผลสำหรับฉันa : source ~/.screenrc

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน - Ctrl-a : source $HOME/.screenrc


เป็นเรื่องปกติที่คาดว่า~จะขยายไปยังโฮมไดเร็กตอรี่ของคุณ
user9517

@ ฉันรู้ว่ามันควรจะเป็นอย่างดี ฉันเดาว่ามีบางอย่างผิดปกติกับ ENV ของฉัน อย่างไรก็ตามมันใช้งานได้
holydevil

ฉันมีปัญหาเดียวกันนี้กับ CentOS 5
slm

ปัญหาเดียวกันกับ zsh และ oh-my-zsh บน archlinux
Jaseem

2
ปัญหาเดียวกันบน Mac ของฉันต้องใช้ 'source $ HOME /
.screenrc

19

ฉันมีสิ่งนี้ในไฟล์. screenrc ของฉัน:

bind R eval "source $HOME/.screenrc" "echo '.screenrc reloaded!'"

ซึ่งทำให้หน้าจอโหลดไฟล์. screenrc อีกครั้งเมื่อCtrl-AShift-Rกด

แน่นอนว่าจะได้ผลก็ต่อเมื่อคุณได้รับบรรทัดในไฟล์. screenrc ของคุณแล้ว! หากต้องการ 'bootstrap' ตัวเรียงลำดับนี้ในเซสชันหน้าจอที่มีอยู่ให้เพิ่มบรรทัดด้านบนบรรทัดลงในไฟล์. screenrc ของคุณแล้วทำตามคำตอบของ @Dennis Williamson หลังจากนั้นคุณจะสามารถใช้แป้นพิมพ์ลัดใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.