मैंने हाल ही में अपने पीएस 1 चर को बदलने का फैसला किया है ताकि मेरे टर्मिनल देखने के आनंद के लिए कुछ सुंदर सौर रंगों को समायोजित किया जा सके। जब tmux सत्र में नहीं, तो सब कुछ बहुत अच्छा है! इंद्रधनुष, टट्टू, गेंडा और एक विशिष्ट संकेत! ठंडा!
समस्या tmux के भीतर है, हालांकि। मैंने सत्यापित किया है कि PS1 का मूल्य वही है जो मैं यह होने की उम्मीद करता हूं और जैसा कि यह है जब tmux नहीं चल रहा है, अर्थात् \[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]।
मेरे .bash_profile में मेरे सभी उपनाम इत्यादि भी अपेक्षित रूप से कार्य कर रहे हैं। tmux भी घटना के बिना रंगों को प्रदर्शित कर रहा है, जैसा echo -ne "\033[1;33m hi"कि अपेक्षित रूप से व्यवहार करता है gls --color।
मेरे .bash_profile में वर्तमान प्रासंगिक लाइन है export PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]", हालांकि मूल रूप से मैं कुछ स्क्रिप्ट को संभालने के लिए .bash_prompt फ़ाइल में स्थित एक स्क्रिप्ट की सोर्सिंग कर रहा था, आदि। मैंने सरल वर्जन पर वापस लौटने की कोशिश की।
निष्कासन bashसे रंग भरने का संकेत होगा, लेकिन प्रत्येक फलक में किया जाना चाहिए। export PS1=[that long string I've already posted]नहीं होगा।
मेरा .tmux.conf इस प्रकार है:
set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash"
set -g default-terminal "xterm-256color"
set-window-option -g automatic-rename on
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
.Bash_profile के प्रासंगिक हिस्से:
export TERM="xterm-256color"
if which tmux >/dev/null 2>&1; then
test -z "$TMUX" && (tmux attach || tmux new-session)
fi
मैं macOS सिएरा, iTerm 2 का उपयोग कर रहा हूं, मैंने बैश के वर्तमान होमब्रेव संस्करण और सिस्टम बैश (यह वर्तमान में होमब्रे का उपयोग कर रहा है), tmux 2.4 दोनों की कोशिश की है।
मैंने touch testing_touch_from_bash_profileअपने .bash_profile में भी रखा , जबकि दो पैन के साथ tmux सत्र में, एक फलक को मार दिया, एक फलक खोला और सत्यापित किया कि फ़ाइल वास्तव में बनाई गई थी।
echo $TERMलौटता है xterm-256color।
मैंने यह सुनिश्चित किया है कि जब tmux से बाहर निकलते समय सेटिंग में बदलाव किया जाए, जिससे मैं tmux से बाहर निकला हूँ और इस समय कोई tmux प्रक्रिया सिस्टम पर नहीं चल रही है ps -ax | grep tmux।
अजीब तरह से, .bash_prompt स्क्रिप्ट सोर्सिंग भी रंग बदलता है जब तक मैं इसे प्रत्येक tmux फलक में नहीं करता।
मैंने /programming/21005966/tmux-prompt-not-following-normal-bash-prompt-ps1-w को देखा है और पहली पंक्ति में बैश कॉल के बाद -login झंडा जोड़ने की कोशिश की है मेरे .tmux.conf की Tmux के साथ लॉन्च tmux new bashकरने से पहला फलक रंगित हो जाएगा, लेकिन बाद में पैन नहीं होंगे।
$ PS1 चर को किसी भी क्षेत्र को रंग देने के अलावा सभी पहलुओं के लिए सम्मानित किया जा रहा है।
क्या किसी के भी पास कोई सुझाव है?
PS1आपके द्वारा पोस्ट की गई सेटिंग में रंग बदलने के लिए कोई कमांड नहीं है। एक वास्तविक सेटिंग पोस्ट करें जो tmux के बाहर काम करती है। इसके अलावा, आप स्थापित करना चाहिए PS1में .bashrcनहीं है, .bash_profile: .bash_profileसब पर निष्पादित हो नहीं हो सकता है, और सेटिंग्स बाद में ओवरराइड हो सकता है।
