เริ่มแอพหลายตัวที่รันใน shells แยกกันในคอนโซลเดียว


9

ฉันต้องเริ่มแอพหลายตัวที่ทำงานใน shells และตรวจสอบการทำงานของมัน ขณะนี้ฉันมีสคริปต์หลักที่เปิดใช้งานทุกแอปใน gnome-console ใหม่ แต่ฉันต้องการเปิดใช้งานทั้งหมดในหน้าต่างเดียวกันในหน้าจอแยก

โพสต์นี้มีหลายเชลล์ในหน้าต่างเดียวอธิบายวิธีใช้หน้าจอแยกที่มีแอพพลิเคชั่นคอนโซลหลายประเภทเช่นหน้าจอ, เทอร์มิเนเตอร์และ byobu ทำงานได้ดีด้วยตนเอง แต่ฉันต้องการเริ่มแอปทั้งหมดของฉันในคอนโซลหน้าจอแยกโดยอัตโนมัติจากส่วนหลักของฉัน ในเอกสารจากเครื่องมือที่กล่าวมาข้างต้นไม่มีอะไรที่ฉันจะทำได้เพื่อให้บรรลุโดยอัตโนมัติจากสคริปต์

ความคิดใด ๆ

คำตอบ:


6

คุณสามารถสร้างไฟล์กำหนดค่าหน้าจอที่กำหนดเองซึ่งจะเปิดแยกหลายรายการและเปิดสคริปต์ของคุณ มันจะมีลักษณะเช่นนี้:

screen script1.sh # Open first screen and launch first script
split             # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script

ใส่นี้ในไฟล์ที่เรียกว่า myscripts screen -c myscriptsและการเปิดตัวหน้าจอที่มี หากคุณต้องการแยกแนวตั้งเพียงเพิ่ม -v ลงในคำสั่งแยก

หากคุณต้องการโครงร่างกริดลองแบบนี้:

screen script1.sh # Open first screen and launch first script
split -v          # Make second split
focus             # Switch to second split
screen script2.sh # Open second screen and launch second script
split             # Make third split
focus             # Switch to third split
screen script3.sh # Open third screen and launch third script
focus             # Cycle back to first split
split             # Split first split horizontally
focus             # Switch to new split
screen script4.sh # Open fourth screen and launch fourth script

ขอบคุณมากมันใช้งานได้อย่างมีเสน่ห์ ปัญหาเดียวก็คือหลังจากเริ่มสคริปต์หลายตัวฉันสามารถ Ca Cd เพื่อกลับไปที่ terminal ของฉัน แต่เมื่อฉันทำ "screen -r" มันกลับไปที่แท็บที่เปิดล่าสุดของฉันและฉันไม่สามารถเห็นผลลัพธ์ของแท็บอื่น ๆ อีกต่อไป "screen -ls" แสดงเพียงหนึ่งอินสแตนซ์ แต่ฉันเห็นว่าสคริปต์ของฉันทั้งหมดยังคงทำงานในรายการกระบวนการด้วย "ps" ดังนั้นฉันจะถอดหน้าจอหลายแท็บของฉันและกลับไปสู่สถานะเดิมได้อย่างไร
jmbouffard

ฉันพบคำถาม superuser เกี่ยวกับเรื่องนี้: superuser.com/questions/69816/…ดูเหมือนว่าจะเป็นปัญหาที่ยุ่งยาก เกิดขึ้นกับฉันว่าคุณอาจสร้างมาโครที่สร้างการแยกของคุณขึ้นมาใหม่
Ben Williams

เคล็ดลับจากฟอรัม superuser ดูเหมือนจะไม่ทำงานสำหรับฉันเพราะเซสชันที่ซ้อนกันดูเหมือนจะไม่ใช้การกำหนดค่าของฉันเมื่อฉันเรียกใช้งานด้วยตัวเลือก -c
jmbouffard

ฉันลองใช้ความคิดอื่นของคุณในการสร้างไฟล์แยกอีกครั้งด้วยไฟล์ปรับแต่งเช่นที่แสดงในคำตอบของคุณ แต่ฉันเดาว่าฉันต้องใช้ "screen -r -c macro" แต่ดูเหมือนว่าฉันไม่สามารถรวมตัวเลือก -r กับ -c เพราะมันไม่คำนึงถึงคำสั่งของฉัน "-c" เพียงอย่างเดียวสร้างการแยกของฉันใหม่ด้วยหน้าจอที่ว่างเปล่า "-r -c แมโคร" ทำสิ่งเดียวกันกับ "-r" เพียงอย่างเดียวและไม่สร้างการแยกใด ๆ
jmbouffard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.