การมีโหลด tmux ตามค่าดีฟอลต์เมื่อเปิดใช้งานเทอร์มินัล zsh


23

เวิร์กโฟลว์ปัจจุบันของฉันคือ:

  1. CTRL+ SHIFT+ Tเพื่อเปิดหน้าต่างเทอร์มินัลใหม่ ที่เริ่มต้นสถานี zsh ใหม่
  2. พิมพ์tmuxเพื่อเริ่ม tmux

ฉันจะโหลด tmux เป็นค่าเริ่มต้นด้วยหน้าต่างเทอร์มินัลใหม่ได้อย่างไร

คำตอบ:


36

มีอย่างน้อยสองวิธี:

  1. เขียนสิ่งที่ชอบ

    if [ "$TMUX" = "" ]; then tmux; fi

    ~/.zshrcจุดเริ่มต้นของ หมายเหตุการทดสอบตามเงื่อนไขเพื่อห่วงไปได้เมื่อtmuxspawns zshของตัวเอง

  2. ปรับเปลี่ยนคำสั่งการเปิดตัว terminal เพื่อสิ่งที่ชอบ

    xterm -e tmux

ฉันชอบวิธีที่สองเพราะบางครั้งฉันต้องเปิดใช้งานเทอร์มินัลโดยไม่ต้องtmux(ตัวอย่างเช่นเมื่อฉันต้องการเชื่อมต่อกับเซสชันที่มีอยู่อีกครั้ง)


2
หรือมีทางลัดที่แตกต่างกันสำหรับและธรรมดาxterm -e tmux xterm
Nikolai N Fetissov

ใช่จริงฉันหมายถึงภายใต้ "ฉันชอบวิธีที่สอง" =)
เร่ง

1
การดำเนินการtmuxในตอนท้าย.zshrcจะทำให้วงวนไม่รู้จบของ zsh เริ่ม tmux เริ่มต้น zsh เริ่ม tmux ...
Thor

หนึ่งจะไปเกี่ยวกับ "การแก้ไขคำสั่งเปิดตัว terminal"
eoinoc

@eoinoc มันขึ้นอยู่กับสภาพแวดล้อมของคุณ ตัวอย่างเช่นฉันใช้ wm ที่ยอดเยี่ยมดังนั้นฉันแค่ต้องแก้ไขสตริงในไฟล์ปรับแต่งของฉัน ใน KDE คุณต้องแก้ไขปุ่มลัด และอื่น ๆ
เร่ง

6

ระมัดระวังกับecho tmux >> ~/.zshrcวิธีการแก้ปัญหา แต่ผมจำได้ว่าเพียงแค่การขว้างปาbashใน.cshrcไฟล์ทำให้ฉันปัญหาผ่าน SSH

IIRC ปัญหาเกิดขึ้นกับกระสุนที่ไม่มีการโต้ตอบดังนั้นคุณควรทดสอบหามัน

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

คุณไม่มีพื้นที่ระหว่างและ" ]
n.st

5

เพิ่มลงในของคุณ .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

tmux จะเชื่อมต่อกับเซสชั่นที่ชื่อว่าTMUXโดยอัตโนมัติเมื่อคุณเรียกใช้เทอร์มินัล


1

มีจริงเริ่มต้นปลั๊กอินสำหรับtmuxoh_my_zsh

เพิ่มลงในรายการปลั๊กอินของคุณจากนั้นตั้งค่าZSH_TMUX_AUTOSTART=trueใน.zshrc

สำหรับการอ้างอิงเพิ่มเติมไปที่นี่


0

เพิ่ม "tmux" ไปยังไฟล์. zshrc ซึ่งจะถูกเรียกใช้งานทุกครั้งที่คุณเริ่ม zsh วิธีที่รวดเร็ว:

echo tmux >> ~/.zshrc

สิ่งนี้คือมันเริ่มเซสชันใหม่ในทุก ๆ อินสแตนซ์ใหม่และมันจะขยาย tmux ด้วยเซสชันที่คุณไม่เคยออก (เช่น tmux จะบ่นเกี่ยวกับมัน) ไม่ใช่ทางออกที่ดี
Eksapsy

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