एक नए सेटअप पर, 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
और उसके बाद tmux
tmux पुनः आरंभ करने की।
उपयोग करें 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; tmux
tmux.conf को फिर से लोड करने के लिए मत भूलना
मैं tmux -V
gnome-खोल एमुलेटर में 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
।