सवाल मैं अपने डिफ़ॉल्ट खोल का उपयोग कैसे कर सकता हूं?


एक नए सेटअप पर, tmux मेरे डिफ़ॉल्ट (zsh) के बजाय bash का उपयोग कर रहा है।

मैं इसे zsh का उपयोग करने के लिए कैसे मजबूर कर सकता हूं?


121
2018-03-06 05:04


मूल


पता लगा लिया। निम्नलिखित tmux कॉन्फ़िगरेशन में सेट कर सकते हैं: set -g डिफ़ॉल्ट-कमांड / bin / zsh set -g डिफ़ॉल्ट-खोल / bin / zsh - re5et
FWIW, यदि आपने डिफ़ॉल्ट-खोल सेट किया है तो आपको डिफ़ॉल्ट-कमांड सेट करने की आवश्यकता नहीं है। - Nicholas Riley


जवाब:


set-option -g default-shell /bin/zsh

में ~/.tmux.conf या /etc/tmux.conf। फेडोरा पर काम करता है।

आपको tmux को पुनरारंभ करना पड़ सकता है killall tmux; tmux


158
2018-02-10 04:38



यदि यह आपके लिए काम नहीं करता है तो सुनिश्चित करें कि आपने पुनरारंभ किया है tmux। स्पष्ट लगता है लेकिन मुझे पता लगाने के लिए एक अच्छा घंटा लिया! - Andy Smith
बीटीडब्ल्यू: टीएमयूक्स का पुनरारंभ करना मतलब है killall tmux; tmux। मुझे पता लगाने के लिए मुझे थोड़ी देर लग गई। - js-coder
सर्वर को मारने के बिना कन्फिग को फिर से लोड किया जा सकता है: bind R source-file ~/.tmux.conf \; display-message " Config reloaded..". - ДМИТРИЙ МАЛИКОВ
या बस भागो tmux source-file ~/.tmux.conf कमांड लाइन से। - Petr Pudlák
@ जेएस-कोडर: अपने टीएमयूक्स सर्वर को अधिक स्पष्ट रूप से मारने के लिए मैं अनुशंसा करता हूं tmux kill-server बजाय। - Chuim


सबसे पहले यह सुनिश्चित करें कि आपका डिफ़ॉल्ट खोल आपके कमांड लाइन में इसे चलाकर zsh पर ठीक से सेट किया गया है:

chsh -s $(`which zsh`) $USER

अपने में folloowing रखो ~ / .Tmux.conf किसी भी खोल के लिए एक और मजबूत विकल्प है।

set-option -g default-shell $SHELL

33
2018-02-29 00:25



उपयोगकर्ता खोल सेट करना अनावश्यक है (chsh -s) क्योंकि tmux उस से स्वतंत्र एक विकल्प प्रदान करता है। - Mahmoud Al-Qudsi


इस लाइन को अपने नीचे नीचे छोड़ दें ~/.tmux.conf

set-option -g default-command "reattach-to-user-namespace -l zsh"

इसे जोड़ने के बाद, अपने tmux सर्वर को मारें और पुनरारंभ करें और सभी को काम करना चाहिए।


17
2018-01-31 16:25



एर, क्या कोई संकेत है कि re5et (OP) मैक पर है, या उस रैपर प्रोग्राम को स्थापित किया गया है? - Chris Johnsen
मुझे लगता है कि यह जवाब केवल मैक ओएस एक्स के लिए काम करता है - EhevuTov
tmux kill-server सभी tmux सर्वर को समाप्त करने के लिए आदेश है - Keith Smiley
हालांकि ओपी ने जवाब नहीं दिया था, लेकिन मैं इस धागे में समाप्त हुआ और वास्तव में मैं इस रैपर का उपयोग कर ओएस एक्स पर हूं, और यह वह समाधान है जिसकी मुझे आवश्यकता है; इसलिए आपका धन्यवाद! - Jose Alban
यह कैसे अलग है set-option -g default-shell ? उपरोक्त मछली के खोल के साथ काम नहीं कर रहा है। - Tommy


उपयोग chsh(1):

chsh -s /bin/zsh $USER

1
2018-03-06 05:22



मेरे पास पहले से ही यह सेट था, लेकिन टीएमयूक्स इसे अनदेखा कर रहा था। - re5et


लॉग-आउट और लॉग-इन ने फिर से मेरी समस्या तय की। जब गूंज दिया $SHELL यह तब भी था /bin/bash लेकिन लॉग-आउट के बाद इसे बदल दिया गया /usr/bin/zsh


1
2018-01-05 12:18





यदि आप अपने पर्यावरण चर में निर्दिष्ट अनुसार एक ही खोल का उपयोग करने के लिए tmux को मजबूर करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:

# force SHELL ENV variable as shell
set-option -g default-shell ${SHELL}

आपके में ~/.tmux.conf या /etc/tmux.conf

आपको इसकी आवश्यकता हो सकती है tmux kill-server और फिर tmux tmux को पुनरारंभ करने के लिए।


1
2017-07-29 19:09



यह एकमात्र उत्तर है जो मेरे लिए काम करता है (tmux kill-server कमांड) - undefined


इसे अपने में जोड़ें ~/.tmux.conf

set -g default-command /usr/local/bin/fish

0
2018-06-19 16:49





tmux का उपयोग करने के लिए प्रतीत होता है SHELL पर्यावरण चर, तो निम्नलिखित काम करना चाहिए:

SHELL=/usr/bin/zsh tmux

या

env SHELL=/usr/bin/zsh tmux

0
2018-04-12 20:54



निश्चित नहीं है कि यह क्यों नीचे मतदान किया गया था। यह सही प्रतीत होता है: एक सामान्य समस्या उदाहरण के लिए एक अलग खोल का उपयोग कर रही है iTerm लेकिन लॉगिन खोल को छोड़कर /bin/bash गैर-निष्क्रिय ब्रेक को कुछ भी सुनिश्चित करने के लिए। iTerm सेट नहीं होगा $SHELLनए खोल नाम (अनिश्चित क्यों) के लिए, और स्टार्टअप पर अनसेट होने पर बैश प्रारंभिकता इसे लॉगिन खोल में सेट कर देगी। tmux तब इस मान का उपयोग करता है अगर default-shell स्पष्ट रूप से सेट नहीं है। - Sam Brightman
हाँ शायद env SHELL=/usr/bin/zsh tmux बेहतर है? (उत्तर अद्यतन)। - blueyed


स्वीकृत उत्तर मेरे लिए काम नहीं करता था।

मुझे दोनों लिखना पड़ा

set -g default-shell "/bin/bash"

तथा

set -g default-commanmd "/bin/bash"

मेरे में ~/.tmux.conf - मत भूलना tmux kill-server; tmuxtmux.conf पुनः लोड करने के लिए


मैं उपयोग कर रहा हूँ tmux -V 2.6 gnom-shell emulator में उबंटू 18 के तहत।

मैंने साथ tmux भी बढ़ाया https://github.com/samoshkin/tmux-config। इसे देखें, यह वास्तव में अच्छा है।


0
2017-10-29 10:11