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

screen (GNU Screen) เป็นตัวจัดการหน้าต่างแบบเต็มหน้าจอที่มัลติเทอร์มินัลฟิสิคัลระหว่างกระบวนการต่าง ๆ (โดยทั่วไปคือเชลล์แบบโต้ตอบ) สำหรับจอภาพคอมพิวเตอร์ดูแท็ก / จอภาพ

2
เปลี่ยนกระบวนการหลักของกระบวนการหรือไม่?
เป็นไปได้หรือไม่ที่จะเปลี่ยนกระบวนการหลักของกระบวนการ ถ้าใช่เป็นอย่างไร ตัวอย่างเช่น, จะscreenจัดการแนบscreenเซสชั่นและกระบวนการทำงานภายในมันไปยังกระบวนการเชลล์ที่แตกต่างกันอย่างไร มีการเปลี่ยนแปลงกระบวนการแม่หรือไม่? ฉันดูเหมือนจะได้ยินวิธีการอื่นของการเปลี่ยนแปลงกระบวนการเชลล์ที่โปรแกรมกำลังทำงานอยู่ แต่ฉันจำไม่ได้ มีการเปลี่ยนแปลงของกระบวนการหลักของโปรแกรมหรือไม่? ฉันคิดว่าdisownในกระบวนการจะเปลี่ยนกระบวนการหลักของกระบวนการเพียงเพราะชื่อdisownมีความหมายว่า แต่ฉันพบว่ามันไม่เป็นความจริง Emacs ไคลเอ็นต์สามารถเชื่อมต่อกับเซิร์ฟเวอร์ emacs บนแท็บเทอร์มินัลอื่น มีการเปลี่ยนแปลงกระบวนการแม่หรือไม่?

1
ฉันจะหยุดหน้าจอจากการปิดบังชื่อของฉันได้อย่างไร
ฉันใช้bashและ GNU screenใน centos7 ผมสังเกตเห็นว่าถ้าผม ssh ไปยังเซิร์ฟเวอร์อื่นเปลี่ยนชื่อ (ผ่านctrl+ a+ A) USER@HOST:~และออกจากระบบของเซิร์ฟเวอร์ที่ชื่อใหม่ของฉันถูกเขียนทับโดย ฉันจะหยุดมันจากการทำเช่นนี้ได้อย่างไร ฉันได้ตรวจสอบชื่อเรื่องแบบไดนามิกและได้พิจารณาแล้วว่าเป็นอะไรที่เล่น แต่ฉันไม่แน่ใจว่าจะปิดการใช้งานคุณลักษณะนี้ได้อย่างไร ...

3
ฉันจะเน้นผลลัพธ์การค้นหาใน tmux ได้อย่างไร
เมื่อฉันค้นหาหน้าต่างเทอร์มินัลใน tmux มันจะตั้งค่าเคอร์เซอร์เพื่อค้นหาคำหลัก แต่ไม่เน้นคำที่ตรงกัน หน้าจอที่ใช้ในการทำเช่นนี้และมันง่ายกว่าที่จะมองเห็นการแข่งขัน ขอบคุณ!
14 gnu-screen  tmux 

1
หน้าจอ GNU ไม่ได้สะท้อนเสียงอักษรที่ถูกต้อง
เมื่อฉันทำเช่นนี้ใน terminal ของฉัน: echo -e "\xF0\x9f\x8d\xba" ฉันได้รับเหยือกเบียร์เย็น ๆ ในเครื่อง:: อย่างไรก็ตามเมื่อฉันเริ่มหน้าจอและลองแบบเดียวกันฉันจะได้ a ฉันจะได้รับเหยือกเบียร์ที่ดีได้อย่างไร นี่คือ. screenrc ของฉัน: nethack on startup_message off defscrollback 3000 hardstatus on hardstatus alwayslastline hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %c" termcapinfo xterm 'bc@:bs@' ignorecase on maptimeout 0 vbell off defutf8 on defencoding utf8 การรันหน้าจอด้วย-Uตัวเลือกก็ไม่ได้ช่วยอะไร

3
หน้าต่างหน้าจอ GNU เปลี่ยนชื่อความรำคาญ
ฉันชอบที่จะปรากฏขึ้นหน้าจอเซสชั่นที่มีการเชื่อมต่อ SSH ที่เปิดไว้ล่วงหน้าไปยังเซิร์ฟเวอร์หลักที่ฉันบริหารที่สำนักงาน ฉันตั้งชื่อหน้าต่างสั้น ๆ ให้กับแต่ละคนโดยทั่วไปคือ 2-4 ตัวอักษรดังนั้นพวกเขาจึงปรากฏในแถบสถานะหน้าจอของฉันพร้อมชื่อเหล่านั้น ดังนั้นฉันจะมีรายการหน้าจอที่ดูเหมือน 0$ jen1 ... ตอนนี้เมื่อฉันต้องการเปลี่ยนไปใช้เซิร์ฟเวอร์นั้นและทำทุกอย่างที่ทำได้ง่าย ๆ เช่นดึงข้อมูลรายชื่อไดเรกทอรีชื่อนั้นก็ขยายตัวและกลายเป็น 0$ ghellings@devjenkins01 เกิดขึ้นเหมือนกันสำหรับแต่ละหน้าต่างทุกครั้งที่ฉันเข้าใช้งานทำให้แถบสถานะของฉันล้นความกว้างแนวนอนของหน้าจออย่างรวดเร็ว ฉันต้องการล็อคชื่อให้ถูกที่เวลาสร้างหน้าต่างและป้องกันไม่ให้แอปพลิเคชันไคลเอนต์เปลี่ยน ฉันไม่ต้องการให้แอปพลิเคชันใด ๆ สามารถเปลี่ยนชื่อหน้าต่างหน้าจอได้ (ค่อนข้างตรงข้ามกับที่ผู้คนจำนวนมากดูเหมือนจะถาม) สิ่งนี้จะยุ่งยากโดยเฉพาะอย่างยิ่งเมื่อฉันเปลี่ยนเป็นหน้าจอนั้นและเปิดไดเรกทอรีบางแห่ง จากนั้นชื่อหน้าจอจะกลายเป็น (0*$ ghellings@devjenkins01:/opt/somepackage/software/subdirectory) ฉันต้องการให้เปลี่ยนสถานะการใช้งานเท่านั้นดังนั้นมันจะอ่านอย่างใดอย่างหนึ่งเสมอ `0$ jen1` or `(0*$ jen1)` มีวิธีใดบ้างที่ฉันจะล็อคชื่อหน้าต่างและป้องกันการเปลี่ยนแปลง
13 gnu-screen 

6
มี tmux ที่เทียบเท่ากับ“ screen -D -R” หรือไม่
ฉันอยากจะรู้ว่าถ้ามีวิธีที่จะทำให้มันtmuxเป็นแบบscreen -D -Rนั้นฉันก็จะบอกว่ามีคำสั่งเป็นคำสั่งเริ่มต้นใน Putty screenสวิตช์เหล่านี้จะบังคับให้แยกเซสชันหน้าจอที่มีอยู่สำหรับผู้ใช้ของฉัน (แม้ว่าจะยังคงใช้งานอยู่และเข้าสู่ระบบที่อื่น) และใส่กลับเข้าไปในเซสชันปัจจุบัน นอกจากนี้ในกรณีที่ไม่มีเซสชันหน้าจออยู่ก็จะสร้างใหม่ ฉันชอบ tmux และสามารถเห็นผลประโยชน์ที่ชัดเจนผ่านหน้าจอ แต่การมีอยู่ของคุณลักษณะนี้จะเป็นข้อตกลงที่แท้จริง tmux attach ดูเหมือนจะไม่สร้างเซสชันใหม่หากไม่มี man page สำหรับ tmux พูดว่า: หากไม่มีเซิร์ฟเวอร์เริ่มทำงาน Attach-session (Attach) จะพยายามเริ่มต้น สิ่งนี้จะล้มเหลวหากไม่ได้สร้างเซสชันในไฟล์กำหนดค่า ส่วนที่เป็นตัวหนาหมายถึงอะไร (ฉันไม่พบตัวอย่างของการสร้างเซสชันในไฟล์ conf)
13 gnu-screen  tmux 

1
ป้องกันการออกจากระบบจากการฆ่า tmux Session
ฉันได้สังเกตเห็นว่าการออกจากระบบ (ออกจากระบบ) จากเซสชันผู้ใช้ X ของฉันจะฆ่าtmuxเซสชันใด ๆ ที่ฉันได้เริ่มต้นขึ้นแม้กระทั่งเซสชันที่ฉันใช้ด้วยsudo tmuxและคำสั่งที่คล้ายกัน ฉันแน่ใจว่าก่อนหน้านี้ไม่ได้เกิดขึ้น แต่การเปลี่ยนแปลงล่าสุดบางอย่างได้ส่งผลกระทบต่อพฤติกรรมนี้ ฉันจะรักษาเซสชันเหล่านี้tmux(หรือscreen) ได้อย่างไรหลังจากฉันสิ้นสุดเซสชัน X ของฉันแล้ว


4
วิธี. ssh / config เพื่อระบุการจัดสรร pseudo-tty และการดำเนินการคำสั่ง
มีวิธีการระบุใน.ssh/configคำสั่งเช่น: ssh -t remote-host "screen -dR screen_name" ดังนั้นฉันสามารถเข้าถึงscreenเซสชันระยะไกลได้อย่างง่ายดายด้วยssh remote-host? ตอนนี้ฉันแก้ไขปัญหานี้โดยใช้สคริปต์ที่กำหนดเอง: $ cat ~/bin/sssh #!/bin/sh /usr/bin/ssh -t $1 "screen -dR ab" ~/binยังคงอยู่ก่อน$PATHแต่มันไม่ยืดหยุ่นและน่าเกลียด นอกจากนี้ฉันต้องการค้นหาวิธีใช้การเติมข้อความอัตโนมัติของโฮสต์สำหรับสคริปต์ที่กำหนดเองของฉัน

3
ส่งคำสั่งไปที่หน้าจอเดี่ยวออกและรับเอาต์พุต
ฉันค้นหาเพื่อหาวิธีส่งคำสั่งไปยังหน้าจอที่แยกออก จนถึงตอนนี้ดีมาก นี่คือสิ่งที่ฉันเกิดขึ้นกับ: $ screen -S test -p 0 -X stuff 'command\n' คำสั่งนี้ทำงานตามที่ควรจะเป็น แต่ฉันก็ต้องการเอาท์พุทจากมันด้วยเช่นกันสะท้อนต่อหน้าต่อตาของฉัน (ไม่ต้องการ.logไฟล์หรืออะไรสักอย่างฉันแค่ต้องการเอาท์พุท) การใช้screen -Lคำสั่งไม่ใช่ตัวเลือก

6
วิธีการใช้งานหน้าจอและ SSH อย่างมีประสิทธิภาพ
ฉันต้องการกำหนดค่า SSH และหน้าจอเพื่อให้การเข้าสู่ระบบจะกลับไปที่หน้าจอตลอดเวลา เป็นการดีที่เซสชันนั้นจะไม่เลิก แต่แยกออกเมื่อฉันกด Cd สิ่งนี้จะสำเร็จได้อย่างไร และการตั้งค่าที่มีประโยชน์อื่น ๆ อีกมากมายที่ทำให้ SSH-life ของฉันง่ายขึ้น?
12 ssh  gnu-screen 

3
จะอนุญาตให้ใช้ Page Up ในหน้าจอ GNU ได้อย่างไร
ฉันใช้ Vim เพื่อแก้ไขไฟล์ข้อความบน Linux ปกติฉันเชื่อมต่อกับเครื่อง Linux ระยะไกลโดยใช้ PuTTY จาก Windows ฉันใช้หน้าจอ GNU โดยทั่วไปเช่นกัน เมื่อใช้ Vim ข้างใน Screen ฉันไม่สามารถใช้Page Upกุญแจได้เพราะ Screen ตีความว่ามันเป็นคำสั่งเพื่อเริ่มโหมดการคัดลอก ฉันต้องการใช้Page Upสำหรับฟังก์ชั่น up-paging ตามปกติ ฉันจะกำหนดค่าหน้าจอให้ทำเช่นนี้ได้อย่างไร
12 linux  gnu-screen  vim 

1
หน้าจอ GNU: วิธีเปิดใช้งานหรือปิดใช้งานการบันทึกในขณะที่มีการแนบหน้าจออยู่แล้ว
สมมติว่าฉันมีหน้าจอที่แนบมา แต่ฉันลืมที่จะรันscreen -Lในขั้นต้น เป็นไปได้หรือไม่ที่จะเปิดใช้งานและปิดการใช้งานการบันทึกของหน้าจอที่แนบมาในปัจจุบันโดยไม่ต้องมีการเรียกใช้งานหน้าจอใหม่ ฉันรู้ว่ามันเป็นไปได้ที่จะใช้สิ่งที่เป็นภาพหน้าจอของหน้าจอที่แนบมาในปัจจุบันโดยการกดCtrl+a h(คำสั่งผสมคีย์นั้นตามด้วยh) แต่ฉันต้องการเปิดใช้งานการบันทึกแบบถาวรของหน้าจอที่แนบ เป็นไปได้ไหม?

5
เทอร์มินัลมัลติเพล็กเซอร์มีประโยชน์ใด ๆ เมื่อใช้กับตัวจัดการหน้าต่างเรียงต่อกันหรือไม่?
ทั้งเทอร์มินัลมัลติเพล็กเซอร์ (หน้าจอ tmux) และตัวจัดการหน้าต่างเรียงต่อกันที่ทำงานด้วยคีย์บอร์ด (ratpoison, dwm, xmonad) ให้การทำงานที่คล้ายกัน มีประโยชน์ในการใช้ทั้งสองอย่างในเวลาเดียวกันหรือไม่? แล้วปัญหาที่อาจเกิดขึ้นล่ะ

4
ฉันสามารถค้นหาประวัติของฉันผ่านหน้าต่างหน้าจอหลาย ๆ
screenเซสชั่นปัจจุบันของฉันมี 12 หน้าต่างที่เปิดอยู่ มันกำลังทำงานเป็นเวลาหลายสัปดาห์ ... ฉันรู้ว่าฉันดำเนินการconvertคำสั่งImageMagick ในหนึ่งใน 12 หน้าต่างหน้าจอเหล่านี้บางครั้งเมื่อสัปดาห์ที่แล้ว ... มีวิธีใดที่ฉันสามารถค้นหาประวัติ Bash ของทั้ง 12 อินสแตนซ์ได้โดยง่ายhistory | grep convertในทั้ง 12 หน้าจอ?

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