บังคับให้ทุกเทอร์มินัลใหม่เปิดในแท็บใหม่


8

ฉันมีนิสัยชอบเปิดเทอร์มินัลโดยใช้คำสั่ง "Open terminal here" ในโฟลเดอร์ นี่ทำให้เทอร์มินัลสองสามเครื่องยังคงเปิดอยู่ในขณะที่ฉันไม่ได้ใช้มันอีกต่อไปหรือฉันสับสนว่าเทอร์มินัลใดที่ให้บริการตามวัตถุประสงค์

ฉันรู้ว่าฉันสามารถติดแท็บเทอร์มินัลและเช่นนั้นได้ แต่ฉันสามารถบังคับให้เทอร์มินัลใหม่ที่กำลังเปิดอยู่กลายเป็นแท็บใหม่ในหน้าจอเทอร์มินัล (ถ้ามีแท็บเปิดอยู่แล้ว) สถานีปลายทาง

แก้ไข เอาล่ะมันผ่านไประยะหนึ่งแล้ว linux mojo ของฉันพัฒนาขึ้นมาก ดังนั้นวิธีแก้ไขปัญหาปัจจุบันสำหรับฉันจึงใช้tmuxอยู่ มันก้าวหน้าไปกว่าเทอร์มินัลและแท็บทั่วไปเล็กน้อย แต่เมื่อฉันได้รับมัน (ประมาณหนึ่งชั่วโมงของการพยายาม) ฉันดีใจมากที่ได้ทำสิ่งต่างๆ

ก่อนอื่นฉันตรวจสอบให้แน่ใจว่าเมื่อใดก็ตามที่ฉันเปิดเครื่องโดยใช้ctrl-alt-tมันจะเปิด tmux ตามค่าเริ่มต้น สามารถทำได้โดยเพิ่มบรรทัดต่อไปนี้ใน.bashrcไฟล์ของคุณหลังจากนามแฝงทั้งหมด:

[[ $TERM != "screen" ]] && exec 'tmux

ตอนนี้ทุกครั้งที่คุณวางไข่ขั้วใช้คุณจะนำเสนอกับctrl-alt-ttmux

เพื่อให้แน่ใจว่าคุณเปิดเทอร์มินัลเดียวพร้อมกันฉันได้ทำสิ่งต่อไปนี้:

แรกของทั้งหมดที่คุณสามารถใส่กลับเข้าไปในเซสชั่นโดยการเรียกใช้tmux tmux attach -dการดำเนินการนี้จะยกเลิกการเชื่อมต่อไคลเอ็นต์อื่นทั้งหมดที่เชื่อมต่อกับเซสชันนี้ วิธีนี้ใช้ได้ผลดีถ้าคุณเป็นคนเดียวที่ใช้เซสชัน

แต่ถ้าคุณไม่มีเซสชันที่ทำงานอยู่จะเป็นการบอกว่ามันไม่พบเซสชันใด ๆ ดังนั้น, คุณต้องการบางสิ่งเช่นถ้า (nosession) {tmux} else {tmux Attach -d} เมื่อต้องการทำสิ่งนี้ให้ผนวกเข้ากับ~/.tmux.confไฟล์ของคุณบรรทัดต่อไปนี้:

#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST

(ขอบคุณโพสต์นี้ )

ใน.bashrcไฟล์ของฉันฉันเปลี่ยนบรรทัดที่เพิ่มก่อนหน้านี้เป็นรายการต่อไปนี้:

[[ $TERM != "screen" ]] && exec 'tmux attach -d'

สิ่งนี้จะแยกลูกค้ารายอื่นทั้งหมดออกจากtmuxเซสชัน เมื่อคุณทำเช่นนี้เทอร์มินัลอื่นทั้งหมดจะปิดลง พวกเขาปิดเพราะบรรทัดนี้ยังทำให้แน่ใจว่าเมื่อคุณเปิดเทอร์มินัล (ctrl-alt-t) มันจะเริ่มเซสชัน tmux ทันที

เออร์โกattach -dฆ่าช่วงอื่น ๆ ดังนั้นนี่คือการแก้ไขที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้และฉันค่อนข้างมีความสุขกับมัน! :)

สิ่งเดียวที่ฉันยังต้องการคือเมื่อฉันกดctrl-alt-tมันจะเปิดเซสชันปัจจุบันของฉันและยังสร้างหน้าต่างใหม่ ฉันยังไม่ได้คิดออกว่ายังรู้สึกฟรีเพื่อช่วย!


กด ctr + shift + t เพื่อเปิดแท็บในเทอร์มินัล
Ankur Khandelwal

ใช่ฉันรู้แล้ว อย่างไรก็ตามอย่างที่ฉันบอกว่าฉันเปิดแท็บบ่อย ๆ จากภายในไดเรกทอรีโดยใช้ปลั๊กอิน "Open terminal here" (นี่เป็นค่าเริ่มต้นใน Xubuntu เป็นต้น) สิ่งเหล่านี้เปิดหน้าต่างใหม่ ฉันต้องการให้เปิดเป็นแท็บใหม่ในหน้าต่างเทอร์มินัลที่มีอยู่แล้ว
Christophe De Troyer

คำตอบ:


3

แต่น่าเสียดายที่การเปิดแท็บใหม่ในเซสชั่น gnome-ขั้วที่มีอยู่ได้รับคุณลักษณะที่ต้องการสำหรับหลายปีตอนนี้ - ดูที่นี่

แม้ว่ามันจะเป็นไปได้ที่จะแฮ็กบางอย่างเข้าด้วยกัน ตัวอย่างเช่นคำตอบนี้ให้แฮ็คเพื่อเปิดแท็บใหม่ในหน้าต่างปัจจุบันของ gnome-terminal


ยอดเยี่ยม +1 สำหรับลิงก์ไปยังรายงานข้อบกพร่อง ฉันสามารถสนับสนุนให้ทุกคนคลิกลิงก์ "ซึ่งมีผลกับฉันด้วย" ด้านบนเพื่อดึงดูดความสนใจ +1 สำหรับการแฮ็กด้วย คำตอบที่ดี!
Christophe De Troyer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.