ในการตั้งค่าใหม่ tmux ใช้ทุบตีแทนค่าเริ่มต้นของฉัน (zsh)
ฉันจะบังคับให้ใช้ zsh ได้อย่างไร
ในการตั้งค่าใหม่ tmux ใช้ทุบตีแทนค่าเริ่มต้นของฉัน (zsh)
ฉันจะบังคับให้ใช้ zsh ได้อย่างไร
คำตอบ:
set-option -g default-shell /bin/zsh
ในหรือ~/.tmux.conf
/etc/tmux.conf
ทำงานกับ Fedora
คุณอาจต้องรีสตาร์ท tmux ด้วย killall tmux; tmux
tmux
หากยังไม่ได้ผลสำหรับคุณแล้วให้แน่ใจว่าคุณได้เริ่มต้นใหม่ ดูเหมือนจะเห็นได้ชัด แต่เอาฉันเป็นชั่วโมงที่ดีในการคิดออก!
killall tmux; tmux
รีสตาร์ทวิธี เอาฉันไปซักพักนึง
bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
tmux source-file ~/.tmux.conf
จากบรรทัดคำสั่ง
tmux kill-server
แทน
ขั้นแรกให้แน่ใจว่าเชลล์เริ่มต้นของคุณตั้งค่าอย่างถูกต้องเป็น zsh ผ่านการรันในบรรทัดคำสั่งของคุณ:
chsh -s $(`which zsh`) $USER
การวาง folloowing ใน~ / .tmux.confเป็นตัวเลือกที่แข็งแกร่งกว่าสำหรับเชลล์ใด ๆ
set-option -g default-shell $SHELL
chsh -s
) เนื่องจาก tmux เสนอทางเลือกโดยอิสระ
วางบรรทัดนี้ที่ด้านล่างของคุณ ~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
หลังจากคุณเพิ่มแล้วให้ฆ่าและรีสตาร์ทเซิร์ฟเวอร์ tmux ของคุณและทุกอย่างจะทำงานได้
tmux kill-server
เป็นคำสั่งให้วางเซิร์ฟเวอร์ tmux ทั้งหมด
set-option -g default-shell
อย่างไร ดูเหมือนว่าข้างต้นจะไม่ทำงานกับเปลือกปลา
หากคุณต้องการบังคับให้ tmux ใช้เชลล์เดียวกันตามที่ระบุในตัวแปรสภาวะแวดล้อมของคุณคุณสามารถใช้:
# force SHELL ENV variable as shell
set-option -g default-shell ${SHELL}
ในของคุณหรือ~/.tmux.conf
/etc/tmux.conf
ที่จะได้รับการเปลี่ยนแปลงที่จะมีผลบังคับใช้จริงคุณอาจจะต้องtmux kill-server
แล้วtmux
ที่จะเริ่มต้นใหม่ tmux
การออกจากระบบและการลงชื่อเข้าใช้แก้ไขปัญหาของฉันอีกครั้ง เมื่อ echoed $SHELL
มันยังอยู่/bin/bash
แต่หลังจากออกจากระบบมันก็เปลี่ยนเป็น/usr/bin/zsh
tmux ดูเหมือนจะใช้SHELL
ตัวแปรสภาวะแวดล้อมดังนั้นสิ่งต่อไปนี้ควรใช้ได้:
SHELL=/usr/bin/zsh tmux
หรือ
env SHELL=/usr/bin/zsh tmux
/bin/bash
เพื่อให้แน่ใจว่าไม่มีการหยุดพักที่ไม่ทำซ้ำ iTerm จะไม่ตั้งค่า$SHELL
ชื่อเชลล์ใหม่ (ไม่แน่ใจว่าทำไม) และ bash initialisation จะตั้งเป็นเชลล์ล็อกอินหากไม่ได้ตั้งค่าเมื่อเริ่มต้น tmux จะใช้ค่านี้หากdefault-shell
ไม่ได้ตั้งค่าไว้อย่างชัดเจน
env SHELL=/usr/bin/zsh tmux
จะดีกว่า (อัพเดทคำตอบ)
เพิ่มลงในของคุณ ~/.tmux.conf
set -g default-command /usr/local/bin/fish
คำตอบที่ยอมรับไม่ได้ผลสำหรับฉัน
ฉันต้องเขียนทั้งสอง
set -g default-shell "/bin/bash"
และ
set -g default-commanmd "/bin/bash"
ในของฉัน~/.tmux.conf
- อย่าลืมที่tmux kill-server; tmux
จะโหลด tmux.conf
ฉันใช้tmux -V
2.6 ภายใต้ Ubuntu 18 ในโปรแกรมจำลอง gnome-shell
ฉันยังเพิ่ม tmux กับhttps://github.com/samoshkin/tmux-config ลองดูสิมันเจ๋งจริงๆ
สำหรับฉันฉันต้องเปลี่ยน:
default-command "/usr/local/bin/fish"
default-shell "/usr/local/bin/fish"
กับ
set-option -g default-command "/usr/local/bin/fish"
set-option -g default-shell "/usr/local/bin/fish"
ใน.tmux.conf
และเรียกใช้คำสั่งtmux kill-server; tmux
set-option -g
set -g
tmux เวอร์ชันต่าง ๆ น่าจะเป็น
set
set-option
เป็นนามแฝงสำหรับ