एक नए सेटअप पर, tmux मेरे डिफ़ॉल्ट (zsh) के बजाय बैश का उपयोग कर रहा है।
मैं इसे ज़ीश का उपयोग करने के लिए कैसे मजबूर कर सकता हूं?
एक नए सेटअप पर, tmux मेरे डिफ़ॉल्ट (zsh) के बजाय बैश का उपयोग कर रहा है।
मैं इसे ज़ीश का उपयोग करने के लिए कैसे मजबूर कर सकता हूं?
जवाबों:
set-option -g default-shell /bin/zsh
में ~/.tmux.confया /etc/tmux.conf। फेडोरा पर काम करता है।
आपको 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बजाय अपने tmux सर्वर को अधिक सफाई से मारना चाहूंगा ।
पहले यह सुनिश्चित करें कि आपका डिफ़ॉल्ट शेल आपकी कमांड लाइन में इसे चलाने के माध्यम से ठीक से zsh पर सेट है:
chsh -s $(`which zsh`) $USER
अपने ~ / .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और उसके बाद tmuxtmux पुनः आरंभ करने की।
उपयोग करें chsh(1):
chsh -s /bin/zsh $USER
लॉग-आउट और लॉग-इन ने फिर से मेरी समस्या को ठीक किया। जब $SHELLयह गूँज रहा था, /bin/bashलेकिन लॉग-आउट के बाद इसे बदल दिया गया था/usr/bin/zsh
tmux SHELLपर्यावरण चर का उपयोग करता दिखाई देता है , इसलिए निम्नलिखित कार्य करना चाहिए:
SHELL=/usr/bin/zsh tmux
या
env SHELL=/usr/bin/zsh tmux
/bin/bashगैर-पुनरावृत्त विराम को सुनिश्चित करने के लिए लॉगिन शेल को छोड़ना। iTerm $SHELLनए शेल नाम पर सेट नहीं होगा (अनिश्चित क्यों), और बैश इनिशियलाइज़ेशन इसे स्टार्टअप पर लॉग इन करने पर लॉगिन शेल में सेट करेगा। यदि default-shellस्पष्ट रूप से सेट नहीं किया गया है तो tmux इस मान का उपयोग करता है।
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; tmuxtmux.conf को फिर से लोड करने के लिए मत भूलना
मैं tmux -Vgnome-खोल एमुलेटर में Ubuntu 18 के तहत 2.6 का उपयोग कर रहा हूं ।
मैंने https://github.com/samoshkin/tmux-config के साथ tmux को भी बढ़ाया । इसे देखें, यह वास्तव में अच्छा है।
मेरे लिए मुझे प्रतिस्थापित करना था:
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।