คำถามติดแท็ก gnu-screen

GNU Screen เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่ช่วยให้ผู้ใช้สามารถสร้างเชลล์หลายเซสชันในการเชื่อมต่อเดียว เซสชันเหล่านี้แยกออกจากการเชื่อมต่อหลักและคงสถานะของผู้ใช้ไว้แม้ว่าการเชื่อมต่อจะหายไป

1
มีวิธีเรียงหน้าต่างของฉันภายในเซสชันหน้าจอหรือไม่
ฉันใช้หน้าจอและเปิดเซสชัน ssh ให้กับเครื่องที่แตกต่างกันจำนวนหนึ่งจากภายในเซสชันหน้าจอของฉัน ฉันต้องการให้พวกเขาอยู่ในระเบียบด้วยเหตุผลที่ชัดเจน บ่อยครั้งที่ฉันจะต้องเชื่อมต่อกับเครื่องใหม่ที่ตัวอักษร / ตัวเลขควรอยู่ระหว่างสองหน้าต่างที่มีอยู่ ฉันไม่สามารถหาวิธีเรียงลำดับหน้าต่างอื่นนอกเหนือจากคำสั่ง "number" ซึ่งจะสลับหน้าต่างปัจจุบันของฉันด้วยหมายเลขที่ฉันระบุ ดังนั้นการเพิ่มหน้าต่างใหม่ให้กับ 15 ที่ฉันมีอยู่แล้วติดที่ตำแหน่ง 2 ในขณะที่รักษาหน้าต่างอื่น ๆ ทั้งหมดตามลำดับเป็นสิ่งที่ยุ่งยากการพูดอย่างน้อยต้องมีการสลับสำหรับหน้าต่างทั้งหมดที่ผ่านมา # 2 อย่างไรก็ตามมีการเรียงลำดับหน้าต่างตามลำดับตัวอักษรอยู่แล้ว? หรือวิธี "เลื่อน" หน้าต่างทั้งหมดหลังจากจุดหนึ่งขึ้นหนึ่งจุด? หรือคำแนะนำอื่น ๆ เพื่อแทรกหน้าต่างใหม่ที่จุดใดก็ได้ในขณะที่ยังคงคำสั่งของหน้าต่างอื่น ๆ ทั้งหมด? ขอบคุณ!
10 unix  gnu-screen 

2
ฉันสามารถตั้งชื่อเซสชันของหน้าจอ GNU ได้ไหม
ฉันใช้หลายครั้งเพื่อทำสิ่งที่แตกต่าง หนึ่งสำหรับงานหนึ่งสำหรับงานโรงเรียนและอีกหนึ่งโครงการที่ฉันกำลังทำอยู่ มันยากมากที่จะติดตามการประชุมเมื่อscreen -lsกลับมา 11292.pts-0.chu (09/12/11 14:13:49) (Detached) 7616.pts-4.chu (09/01/11 10:31:57) (Detached) 1834.pts-0.chu (08/31/11 18:32:16) (Detached) 1810.pts-0.chu (08/31/11 18:45:20) (Detached) มีวิธีใดบ้างที่ฉันสามารถตั้งชื่อเซสชันของฉันเพื่อการควบคุมที่ดีกว่า
10 linux  gnu-screen  gnu 

2
หน้าจอ GNU: ไม่สามารถใช้คำสั่งคัดลอกข้อมูลได้ยกเว้นว่ามีการแนบหน้าจอหรือไม่
ฉันมีสคริปต์ต่อไปนี้ screen -d -m -S $1 #start screen minimized screen -S $1 -X stuff "$beast " #stuff commands เว้นแต่ฉันจะแนบหน้าจอก่อนดูเหมือนว่าผลกระทบของสิ่งต่าง ๆ จะไม่ทำอะไรเลย? เหตุใดจึงเป็นเช่นนี้และฉันจะแก้ไขสคริปต์นี้ได้อย่างไรจึงไม่ต้องแนบหน้าจอ

2
เชื่อมต่อการเชื่อมต่อ SSH ใหม่โดยอัตโนมัติด้วยเซสชัน 'หน้าจอ' ที่ระบุ
ฉันมักจะมีเทอร์มินัล windows หลายแห่งซึ่งแต่ละแห่งเชื่อมต่อผ่าน ssh ไปยังเซิร์ฟเวอร์ระยะไกล ในแต่ละหน้าต่างฉันทำงานโดยใช้โปรแกรมหน้าจอ gnu เพื่อให้แน่ใจว่ากระบวนการโต้ตอบในกรณีที่มีการขาดการเชื่อมต่อ ขณะนี้เมื่อใดก็ตามที่การเชื่อมต่อ ssh ลดลง (เช่นเมื่อฉันทำให้คอมพิวเตอร์ไคลเอนต์ของฉันเข้าสู่โหมดสลีปค้างคืน) ฉันต้องรีสตาร์ทเซสชัน ssh ด้วยตนเองและน่าเบื่อภายในแต่ละหน้าต่างจากนั้นในแต่ละหน้าต่าง r 3453 "ในหน้าต่างเดียว" หน้าจอ -r 3462 "ในอีกหน้าต่างหนึ่ง) มีวิธีที่สง่างามในการทำสิ่งนี้โดยอัตโนมัติหรือไม่? โดยเฉพาะ: เชื่อมต่อเซสชั่น ssh อีกครั้งถ้ามันลดลงทันทีที่ตรวจพบการเชื่อมต่ออินเทอร์เน็ต เรียกใช้อินสแตนซ์ของหน้าจอเฉพาะสำหรับหน้าต่างเทอร์มินัลทันทีที่ ssh เชื่อมต่อใหม่ ขอบคุณสำหรับเคล็ดลับใด ๆ เกี่ยวกับเรื่องนี้
10 linux  ssh  gnu-screen 

3
เทอร์มินัลแบบแท็บที่เชื่อมต่อกับหน้าจอ GNU
ฉันใช้คุณสมบัติเซสชั่นของหน้าจออย่างกว้างขวาง ตัวอย่างเช่นฉันจะเริ่มเซสชันหน้าจอสำหรับ "project1" เป็น "screen -S project1" แล้วเมื่อฉันต้องการเชื่อมต่ออีกครั้งฉันใช้ "screen -d -r project1" สิ่งนี้ทำให้ง่ายต่อการจัดการหลายโครงการโดยแต่ละชุดมีเซสชันเชลล์ของตนเอง สิ่งที่ฉันอยากทำตอนนี้คือเมื่อทำงานบน Windows และ Linux เพื่อให้สามารถใช้โปรแกรมเทอร์มินัลแบบแท็บ (เช่น gnome-terminal) เพื่อเชื่อมต่อกับเซสชันของหน้าจอและแยกหน้าต่างหน้าจอทั้งหมดออกเป็นแท็บแยกต่างหาก . ด้วยวิธีนี้ฉันจะได้รับพลังของหน้าจอทั้งหมด แต่ด้วยความสะดวกสบายของประสบการณ์ GUI ที่สมบูรณ์ยิ่งขึ้น มีโปรแกรมเทอร์มินัลใด ๆ ที่พร้อมใช้งานบน Windows และ / หรือ Linux


2
ฉันจะเปลี่ยนลำดับของ "หน้าจอ GNU Screen" ได้อย่างไร
ฉันกำลังใช้เครื่องมือหน้าจอ GNU ตอนนี้คำถามของฉันคือว่ามีวิธีการจัดระเบียบหรือค่อนข้างเปลี่ยนลำดับของรายการหน้าจอ / หน้าจอที่แสดงที่ด้านล่างของหน้าต่างคอนโซลของฉัน ฉันไม่ได้จัดการทำเช่นนี้ แต่การเรียงหน้าจอของฉันจะเป็นสิ่งที่ดี

3
การป้อนข้อมูลซ้ำหน้าจอ (กำลังเรียกใช้ irssi) ปรับขนาดหน้าต่าง
เมื่อใดก็ตามที่ฉันกลับไปที่หน้าจอเดี่ยวของฉัน (มี Irssi) หน้าจอ Putty ของฉันจะถูกปรับขนาดเป็นบางสิ่งบางอย่างเมื่อเริ่มต้น หากฉันเปลี่ยนขนาดหน้าต่างหลังจากนี้ให้ถอดหน้าจอออกและปรับขนาดกลับไปหน้าต่างจะถูกปรับขนาดเป็นขนาดดั้งเดิมอีกครั้ง โดยหน้าต่างฉันหมายถึงหน้าต่างสีโป๊วในกล่องหน้าต่างของฉัน ฉันจะปิดคุณสมบัตินี้ได้อย่างไร ใช้ Windows XP เป็น local ของฉันและ CentOS 6.0 เป็น OS ระยะไกล ผงสำหรับอุดรู 0.61

4
มีวิธีการบันทึกสิ่งที่พิมพ์บนจอแสดงผลด้วยหน้าจอ gnu หรือไม่?
ฉันชอบที่จะบันทึกทุกสิ่งที่ฉันทำในบรรทัดคำสั่งตัวอย่างเช่นเมื่อฉันอัพเกรดบางสิ่งบางอย่างและต้องการอ่านว่าการอัปเกรดเป็นอย่างไรและอื่น ๆ โดยปกติแล้วด้วย Mac OSX และ Terminal คุณสามารถเลื่อนกลับได้มากเท่าที่คุณต้องการและบันทึกด้วย Cmd-S แต่เมื่อฉันใช้ SSH โดยใช้หน้าจอ gnu ฉันไม่สามารถเลื่อนกลับจากเทอร์มินัลโดยตรง ฉันจะบันทึกลงในดิสก์ทุกสิ่งที่เกิดขึ้นในเซสชันหน้าจอได้อย่างไร อาจจะเป็นค่าเริ่มต้น (ทุกเซสชันสร้างไฟล์ไปยังดิสก์โดยอัตโนมัติ ... ) ขอบคุณ!

1
บอกหน้าจอ GNU ว่าจะบันทึกเซสชันที่ไหน
หน้าจอ GNU ของฉันเก็บช่วงเวลาไว้ใน/tmpไดเรกทอรี ซึ่งหมายความว่าหลังจากรีบูตเซสชันทั้งหมดจะหายไป : $ screen -list No Sockets found in /tmp/uscreens/S-dehmann. ฉันจะบอกให้เก็บไว้ในไดเรคทอรีเฉพาะในโฮมไดเร็กตอรี่ของฉันซึ่งมันจะไม่หายไปได้อย่างง่ายดายได้อย่างไร?

3
มีวิธีใดบ้างในการแก้ไขการตัดบรรทัดที่ผิดพลาดของหน้าจอ (อาจเป็นเพียง Terminal.app)
ฉันมีปัญหาในการใช้หน้าจอและ Terminal.app หากฉันได้รับพรอมต์ bash ที่ด้านล่างของหน้าจอและฉันพิมพ์ต่อไปเรื่อย ๆ จนกระทั่งบรรทัดนั้นตัดไปที่บรรทัดถัดไปฉันจะเห็นบรรทัดถัดไป แต่ฉันไม่เห็นบรรทัดที่อยู่เหนือการเปลี่ยนแปลงนี้ นี่เป็นวิธีที่แสดงภาพของปัญหาของฉัน The | แสดงถึงด้านขวามือของเครื่อง ก่อน. เคอร์เซอร์ของฉันอยู่หลัง 'ตัวอย่าง' ตัวที่สามและฉันกำลังจะพิมพ์ 'ตัวอย่าง' ครั้งต่อไป: $ asdf | bash: asdf: command not found | $ example example example | หลังจาก. สังเกตว่าหลังจากการห่อแล้วหน้าจอไม่เลื่อน แต่แทนที่จะ 'กิน' บรรทัดที่ฉันเปิดและเริ่มต้นใหม่: $ asdf | bash: asdf: command not found | ple | สิ่งที่ฉันคาดหวัง (และสิ่งที่เกิดขึ้นโดยไม่ต้องใช้หน้าจอ) …

1
การหมดเวลาคีย์ ssh-agent พร้อมกับหน้าจอหรือ tmux บนโฮสต์ป้อมปราการ
โดยปกติฉันมี ssh-agent กำลังทำงานอยู่ฉันจะไปที่ bastion host ของฉันจากนั้นเปิดเซสชั่น tmux และเชื่อมต่อกับกล่องอื่น ๆ ผ่านทางนั้น การส่งต่อคีย์ใช้ได้กับทุกเซสชันที่ฉันเปิดจากจุดนั้น ถ้าฉันกลับสู่เซสชั่น tmux ของฉันหลังจากปิดเทอร์มินัลนอนแล็ปท็อปของฉันอะไรก็ตามการส่งต่อกุญแจในป้อมปราการของฉันยังคงทำงานเช่นเดียวกับการส่งต่อเซสชันใหม่ แม้ว่าคนที่มีอยู่จะไม่ทำงาน ฉันมีสิ่งเล็ก ๆ น้อย ๆ ใน bashrc ของฉันที่ทำให้การส่งต่อสำคัญทำงานเมื่อฉันกลับสู่ tmux แต่ฉันมีปัญหาในการหาวิธีที่จะทำให้มันทำงานต่อไปในเซสชั่นเปิดภายใน tmux ตัวอย่างเช่นฉันมี bastion01, dbhost01, dbhost02, webhost01 และ webhost02 หากฉันเปิดการเชื่อมต่อกับ bastion01 ให้เริ่ม tmux ที่นั่นจากนั้นเชื่อมต่อกับ dbhost01 และการส่งต่อผ่าน webhost01 หากฉันปิดการเชื่อมต่อนั้นให้เชื่อมต่อและแนบเซสชัน tmux ที่มีอยู่ของฉันจากนั้นเพิ่มการเชื่อมต่อไปยัง dbhost02 และ webhost02 การส่งต่อคีย์ใช้งานได้ในกล่อง 02 แต่ไม่ได้อยู่บน 01 …

2
หน้าจอ gnu - การคัดลอกข้อความระหว่าง windows
เป็นไปได้หรือไม่ที่จะวางข้อความที่คัดลอกใน paste buffer ไปยังหน้าต่างอื่นที่มีการโยงคีย์โดยไม่ต้องออกจากหน้าต่างปัจจุบัน? ใช่แทนที่จะไปที่หน้าต่างและทำ Ctr-a +] ให้คำสั่งหน้าจอ gnu และชื่อของหน้าต่างที่ได้รับ?

6
ssh-agent และหน้าจอ
กลับในขณะที่ใน StackOverflow ผมถามคำถามเกี่ยวกับตัวแทน ssh และ crontab ฉันมีคำถามที่คล้ายกันตอนนี้เกี่ยวกับ ssh-agent และหน้าจอบนระบบลินุกซ์ ดังนั้นสำหรับ Mac ของฉัน ssh-agent จะเปิดตัวเมื่อเริ่มต้นระบบดังนั้นจึงใช้ได้เสมอสำหรับฉัน ฉันคิดว่ามันจะเป็นจริงภายใต้ linux ของฉัน (redhat el5 / fedora) ถ้าฉันใช้ X-Windows อย่างไรก็ตามนี่คือเครื่องเซิร์ฟเวอร์ระยะไกลและฉันมักจะเข้าสู่ระบบผ่านทาง ssh ฉันชอบที่จะตั้งค่า ssh-keys อย่างถูกต้องดังนั้นฉันจึงไม่ต้องป้อนรหัสผ่านหลายครั้งในระหว่างการอัปเดตหรือส่งมอบ svn ฉันยินดีที่จะพิมพ์ข้อความรหัสผ่านของฉันหนึ่งครั้งต่อเซสชันและฉันไม่อยากให้ทีมของเรามีรหัสผ่าน ssh-keys สำหรับช่วงเวลาสั้น ๆ ที่ส่องแสงดูเหมือนว่าการทำ "eval` ssh-agent -s` "ใน. bash_profile ของฉันจับคู่กับคำสั่งเพื่อฆ่า ssh-agent เมื่อฉันออกจากระบบจะทำงานได้ อย่างไรก็ตามเราใช้ประโยชน์จากหน้าจออย่างหนักเพื่อจัดการโปรแกรมอินเทอร์แอคทีฟระยะยาวและสภาพแวดล้อมการพัฒนา หากคุณเริ่มต้น & หยุด ssh-agent ตามที่ฉันอธิบายไว้มันจะถูกฆ่าเมื่อคุณออกจากเทอร์มินัลและเซสชันย่อยของหน้าจอที่เคยอ้างถึงอินสแตนซ์ ssh-agent นั้นถูกทอดทิ้ง …

3
ใช้หน้าจอ gnu เมื่อ ssh'ed เป็นผู้ใช้ แต่ su เป็นอีกหน้าจอหนึ่ง
ด้านล่างเป็นสิ่งที่เกิดขึ้นเมื่อพยายามใช้หน้าจอ gnu มันใช้งานได้ดีจนกระทั่งฉันเป็นผู้ใช้รายอื่น จากนั้นฉันได้รับCannot open your terminal '/dev/pts/7' - please check.ข้อผิดพลาด l413:~$ ssh sbird@example.com sbird@example.com password: sbird@example:~$ screen [screen is terminating] sbird@example:~$ su - gradplan Password: gradplan@example:~$ screen Cannot open your terminal '/dev/pts/7' - please check. gradplan@example:~$ ฉันจะเข้าสู่ระบบในฐานะ sbird, su ถึง gradplan และยังคงใช้หน้าจอได้อย่างไร
8 gnu-screen  su 

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