tmux कॉन्फ़िगरेशन फ़ाइल की अवहेलना


87

मैंने सिर्फ Ubuntu 10.04 पर tmux स्थापित किया और इन पंक्तियों के साथ C-aफ़ाइल बनाकर उपसर्ग कुंजी को फिर से बनाने की कोशिश की ~/.tmux.conf:

set-option -g prefix C-a
unbind-key C-b

Tmux शुरू करते समय, नियमित रूप से और साथ में -f ~/.tmux.conf, उपसर्ग प्रभावी रूप से एक ही डिफ़ॉल्ट हैC-b

इसमें कोई त्रुटि या चेतावनी नहीं है।

किसी भी विचार के साथ लोड करने में क्या गड़बड़ है?


यह मेरे लिए काम करता है ™। चलाने की कोशिश करें strace -s9999 -f -o tmux.strace tmux -c trueऔर का आउटपुट पोस्ट करें grep -C5 'tmux\.conf' tmux.strace
गाइल्स

मेरे पास यही समस्या थी, कोई मौजूदा सत्र नहीं, ('tmux ls' ने रिपोर्ट किए गए कनेक्शन से इनकार कर दिया, अर्थात नहीं चल रहा है), लेकिन यह अभी भी फ़ाइल को नहीं पढ़ रहा था। मैं इसे CWD के साथ कहीं भी / usr पर लॉन्च कर रहा था, लेकिन जब मैंने ~ / पर स्विच किया और tmux लॉन्च किया, तो इसने फ़ाइल को संसाधित किया। यह अजीब व्यवहार है, लेकिन यह जाँचने के लिए कुछ है।
रैंको कोहिम

जवाबों:


118

जब tmux सर्वर पहली बार शुरू होता है तो फ़ाइल ~ / .tmux.conf लोड हो जाती है। इसलिए यदि मौजूदा tmux सत्र हैं, tmuxतो .tmux.conf फ़ाइल को पुनः लोड करने के परिणामस्वरूप नया सत्र शुरू नहीं होता है। Tmux सर्वर को पुनरारंभ करने का प्रयास करें: tmux list-sessionsमौजूदा सत्रों को देखने के लिए कमांड का उपयोग करें । उनसे बाहर निकलें (उदाहरण के tmux attachलिए सभी खिड़कियों को मारें और बाहर निकलें)। एक बार सभी सत्र चले जाने के बाद, tmuxपुन: प्रयास करें। इस समय विद्रोह काम करना चाहिए।


27
killall tmuxया tmux kill-serverकाम भी पूरा हो जाएगा
मैट

5
मैंने उपयोग किया killall tmuxऔर tmux kill-serverअभी भी मेरा आत्मविश्वास नहीं भरा है। मैं पुष्टि कर सकता हूँ कि यह मान्य है, क्योंकि :source-file ~/.tmux.conftmux में प्रयोग करने से वास्तव में विन्यास में बदलाव होता है! यह पता नहीं लगा सकता है कि यह व्यवहार क्या है।
अंबाइडेक्स

मुझे आश्चर्य है कि इस उत्तर में कॉन्फ़िगरेशन को फिर से लोड करने का उल्लेख क्यों नहीं किया गया। यह कभी-कभी काम करता है और कभी-कभी नहीं होता है। उस पर कोई विचार?
डेरथागियस

53

अपने सत्र को मारे बिना अपने ~ / .tmux.conf को पुनः लोड करने के लिए, आप बस कर सकते हैं:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
आप पुनः लोड करने के लिए Ctrl-A r का उपयोग करने के लिए .tmux.conf में निम्न जोड़ सकते हैं:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 परम पथ की आवश्यकता को इंगित करने के लिए
आकाश अग्रवाल

20

अपने tmux सत्र के अंदर चलाएं:

tmux source-file /absolute/path/to/your/.tmux.conf

नोट: यह वर्तमान tmux विंडो (स्पष्ट रूप से) को प्रभावित नहीं करेगा, लेकिन सभी नए tmux विंडो को।
क्वास

3

आपकी ~/.tmux.confस्थापना को कम से कम करने के लिए एक डिफ़ॉल्ट कीबोर्ड शॉर्टकट बाइंडिंग है , कम से कम मेरी स्थापना में C-b r:। यदि आप हिट करते हैं तो C-b ?यह सभी बाध्य कीबोर्ड शॉर्टकट की एक सूची लाता है, इसलिए आप देख सकते हैं कि क्या आपके पास पहले से ही परिभाषित है।


यह आपके इंस्टॉलेशन / कॉन्फ़िगरेशन के लिए विशिष्ट है। डिफ़ॉल्ट रूप से, आपके <prefix> rलिए बाध्य है refresh-client(आप जो वर्णन करते हैं वह कुछ इस तरह होगा source ~/.tmux.conf)।
क्रिस जॉन्सन

1

मुझे यह समस्या थी क्योंकि मैं tmux-next का उपयोग कर रहा था ।

प्रारंभ में मैंने इसे कॉन्फिगर फाइल को स्पष्ट tmux -f ~/.tmux.confरूप से पास करके हल कर दिया था क्योंकि यहाँ प्रश्न इंगित करता है। (मैं पहले से ही tmux के बगल में tmux-aliased था।)

तब मुझे एहसास हुआ कि tmux-next tmux-next.conf का उपयोग कर रहा है, इसलिए इसे उपयोग करने पर केवल इसे सिम्लिंक करें और केवल अगले tmux संस्करण को चलाने की आवश्यकता है।

ln -s ~/.tmux.conf ~/.tmux-next.conf


0

मैंने अपने टर्मिनल को छोड़ दिया और फिर से खोल दिया और यही एकमात्र तरीका है कि मैं इसे फिर से काम कर सकूं। यकीन नहीं है कि क्यों।

मैक OSX पर टर्मिनल का उपयोग करना

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.