जब zsh टर्मिनल लॉन्च किया जाता है तो डिफ़ॉल्ट रूप से tmux लोड होना


23

मेरा वर्तमान वर्कफ़्लो है:

  1. CTRL+ SHIFT+ Tएक नई टर्मिनल विंडो लॉन्च करने के लिए। यह एक नया zsh टर्मिनल शुरू करता है।
  2. tmuxTmux शुरू करने के लिए टाइप करें।

नई टर्मिनल विंडो के साथ डिफ़ॉल्ट रूप से मुझे tmux लोड कैसे हो सकता है?

जवाबों:


36

कम से कम दो तरीके हैं:

  1. कुछ ऐसा लिखो

    if [ "$TMUX" = "" ]; then tmux; fi

    की शुरुआत में ~/.zshrc। सशर्त परीक्षण को एक संभावित लूप पर ध्यान दें, जब tmuxवह स्वयं स्पॉन करता है zsh

  2. टर्मिनल लॉन्चिंग कमांड को कुछ इस तरह बदलें

    xterm -e tmux

मैं दूसरा तरीका पसंद करता हूं, क्योंकि कभी-कभी मुझे बिना टर्मिनल शुरू करने की आवश्यकता होती है tmux(उदाहरण के लिए जब मुझे मौजूदा सत्र को फिर से कनेक्ट करने की आवश्यकता होती है)।


2
या xterm -e tmuxसादे और सादे के लिए अलग-अलग शॉर्टकट हैं xterm
निकोलाई एन Fetissov

हाँ, वास्तव में मैं इसे नीचे "मैं दूसरा तरीका पसंद करते हैं" का मतलब =)
जल्दी

1
tmuxके अंत में निष्पादित करने से .zshrczsh का एक अंतहीन लूप शुरू हो जाएगा tmux शुरू zsh शुरू tmux ...
Thor

"मॉडिफाइड टर्मिनल लॉन्चिंग कमांड" के बारे में कोई कैसे जानेगा?
इयोनोक

@eoinoc यह आपके पर्यावरण पर निर्भर करता है। उदाहरण के लिए, मैं कमाल की wm का उपयोग कर रहा हूं, इसलिए मुझे अपनी config फाइल में स्ट्रिंग को संशोधित करने की आवश्यकता है। Kde में आपको हॉटकीज को एडिट करना होगा। और इसी तरह।
भीड़

6

echo tmux >> ~/.zshrcसमाधान के साथ सावधान रहें , हालांकि, मुझे याद है कि बस bashएक .cshrcफ़ाइल में फेंकने से मुझे एसएसएच पर परेशानी हुई।

IIRC समस्या गैर-संवादात्मक गोले के साथ हुई, इसलिए आपको इसके लिए परीक्षण करना चाहिए।

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

आप के बीच एक स्थान याद कर रहे हैं "और ]
n.st

5

इसे अपने में जोड़ें .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

जब आप अपना टर्मिनल लॉन्च करते हैं तो tmux स्वचालित रूप से TMUX नामक सत्र से जुड़ जाएगा ।


1

वास्तव में एक डिफ़ॉल्ट प्लगइन tmuxहै oh_my_zsh

इसे अपनी प्लगइन्स सूची में जोड़ें फिर ZSH_TMUX_AUTOSTART=trueअपने में सेट करें.zshrc

अधिक संदर्भ के लिए, यहां जाएं


0

अपने .zshrc फ़ाइल में "tmux" जोड़ें, जो हर बार जब आप zsh शुरू करते हैं तो निष्पादित हो जाता है। त्वरित तरीका:

echo tmux >> ~/.zshrc

इसके साथ बात यह है कि, यह हर नए उदाहरण में एक नया सत्र शुरू करता है और यह सत्रों के साथ tmux को फुलाता है जिसे आपने कभी बाहर नहीं किया है (tmux इसके बारे में शिकायत करेगा)। एक अच्छा समाधान नहीं।
Eksapsy

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