เปิดเทอร์มินัลใหม่จากภายในเทอร์มินัล


2

เมื่อฉันทำงานฉันมักจะมีเทอร์มินัลที่เปิดแท็บจำนวนมาก ตัวอย่างเช่นแท็บแรกสำหรับเว็บเซิร์ฟเวอร์ของฉัน, ที่สองสำหรับคอนโซล, ที่สามสำหรับรุ่น ฯลฯ

ทุกครั้งที่ฉันต้องเปิดแท็บใหม่ด้วยตนเอง (ฉันใช้ Ctrl + Shift + T) ฉันคลิกขวาที่ป้ายกำกับแท็บและเปลี่ยนชื่อ (เว็บเซิร์ฟเวอร์คอนโซลรุ่นเป็นต้น)

อย่างไรก็ตามฉันต้องการจะทำสิ่งนี้โดยอัตโนมัติ แต่ฉันไม่พบคำสั่ง:

  • เปิดแท็บใหม่จากภายในพรอมต์ปัจจุบัน
  • เปลี่ยนชื่อ

เนื่องจากฉันต้องการสร้างสคริปต์ BASH สำหรับสิ่งนั้นฉันจะใช้อะไรได้บ้าง


คำถามยอดเยี่ยม! ฉันไม่รู้คำตอบ แต่ฉันสามารถบอกบางสิ่งที่อาจช่วยคุณได้ แท็บคือสิ่งที่เทอร์มินัลอีมูเลเตอร์ของคุณทำดังนั้นคำตอบจะแตกต่างกันไปสำหรับ gnome-terminal vs Guake (ตัวอย่าง)
RJHunter

คำตอบ:


2

คุณสามารถแสดงทั้งสามได้ในหน้าต่างเทอร์มินัลเดียว (ไม่มีแท็บ) ด้วย TMUX

เทอร์มินัลมัลติเพล็กเซอร์จะเป็นวิธีที่ง่ายที่สุดในการทำสิ่งนี้ให้สำเร็จโดยอัตโนมัติ หลังจากติดตั้ง TMUX แล้วให้สร้างไฟล์ที่จะเก็บคำสั่งไว้ (ซึ่งไม่จำเป็นต้องเรียกใช้งานได้) เนื้อหาของไฟล์สามารถเปลี่ยนแปลงได้เมื่อคุณคุ้นเคยกับ TMUX มากขึ้น

ตัวอย่าง:

    new-session -s workspace -d
    split-window -v -t workspace
    split-window -h -t workspace
    select-layout -t workspace main-horizontal
    send-keys -t workspace:1.1 'ssh webserver.fqdn' C-m

สิ่งนี้จะสร้างเซสชัน TMUX ของคุณแบ่งออกเป็นสามบานหน้าต่างในหน้าต่างเดียวกันเปลี่ยนเค้าโครงจากนั้น ssh ลงในเว็บเซิร์ฟเวอร์ของคุณในบานหน้าต่างแรกของหน้าต่างแรก ที่จะเปิดตัว:

    $ tmux -f ~/path/to/file/above attach

การควบคุมเซสชั่นนี้คล้ายกับscreenว่ามันมี escape sequences ในการส่งคำสั่งไปยัง tmux เพื่อแนบ, ย้ายระหว่าง panes ภายในหน้าต่าง, ย้ายระหว่าง windows, ฯลฯ ... การใช้งานเต็มรูปแบบ / ปรับแต่งของสภาพแวดล้อมนี้อยู่นอกเหนือขอบเขตของสิ่งนี้ คำถาม. ฉันขอแนะนำให้อ่านเอกสาร

ลิงก์: http://tmux.sourceforge.net


ใช่ฉันรู้ว่าฉันสามารถใช้มัลติเพล็กเซอร์ได้ แต่ฉันชอบแท็บนับตั้งแต่ที่ฉันสามารถเปลี่ยนชื่อพวกเขาได้และฉันต้องการรหัสที่เป็นไปได้สำหรับกรณีนี้
Moleskine

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