นามแฝงและ tmux


12

นามแฝงที่กำหนดไว้ใน.bash_aliasesและไม่ได้ทำงานใน.bashrctmux

สิ่งนี้สามารถเปลี่ยนแปลงได้ในการกำหนดค่าบางอย่างดังนั้นชื่อแทนจะทำงานภายใต้tmuxหรือไม่


2
คุณแน่ใจหรือไม่ว่าปัญหาอยู่ในtmux? ฉันใช้ tmux ประมาณปีและไม่พบปัญหาใด ๆ กับนามแฝง พยายามที่จะเพิ่มset -xที่เริ่มต้นของคุณ.bashrcและทำงานในคำสั่งtmux source ~/.bashrcอาจเป็นคุณจะพบข้อผิดพลาดและจะแก้ปัญหาของคุณ
เร่ง

คำตอบ:


9

tmuxเปิดตัวเปลือกเข้าสู่ระบบโดยค่าเริ่มต้นดังนั้น~/.bashrcจะไม่ถูกดำเนินการ (ซึ่งต่อมาแล้วแหล่งที่มา~/.bash_aliases. คุณต้องแหล่งที่มา~/.bashrcจาก~/.bash_profile. ดูในส่วนของINVOCATIONman bash


19

( คำตอบของ Chris Downมีคำอธิบายที่ถูกต้อง แต่ไม่ใช่วิธีแก้ปัญหาที่ดี)

ปัญหาของคุณเกิดจากการรวมกันของข้อผิดพลาดการออกแบบทุบตีและข้อบกพร่องการออกแบบ tmux

โดยค่าเริ่มต้น tmux จะเริ่มเชลล์ล็อกอินในทุกหน้าต่าง สิ่งนี้ไม่สมเหตุสมผล: หากคุณตั้งค่า tmux เป็นเชลล์ล็อกอินของคุณคุณต้องตั้งค่าdefault-commandตัวเลือกให้เป็นอย่างอื่นที่ไม่ใช่ tmux และหากคุณไม่ได้ตั้งค่า tmux เป็นเชลล์ล็อกอินของคุณคุณต้องตั้งค่าdefault-commandตัวเลือกเพื่อหลีกเลี่ยงการเริ่มต้นเชลล์ล็อกอินภายใน tmux ดังนั้นทำสิ่งนี้ใน~/.tmux.confการบอก tmux เพื่อเริ่มเชลล์ธรรมดา:

set-option -g default-command $SHELL

จากนั้นคุณ.bashrcจะถูกอ่าน มีปัญหาอื่นเกี่ยวกับ bash ซึ่งไม่สำคัญที่นี่หากคุณกำหนดค่า tmux ตามที่แนะนำข้างต้น แต่จะปรากฏอีกครั้งหากคุณเข้าสู่ระบบในโหมดข้อความ (บนคอนโซลข้อความหรือบน SSH) Bash อ่าน~/.bash_profileในล็อกอินเชลล์และ~/.bashrcในเชลล์โต้ตอบ แต่เฉพาะในกรณีที่ไม่ใช่เชลล์ล็อกอิน หากต้องการอ่าน~/.bashrcในเปลือกเข้าสู่ระบบหากพวกเขาโต้ตอบให้เพิ่มไปนี้ของคุณ~/.bash_profile:

case $- in *i*) . ~/.bashrc;; esac

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