टर्मिनल कैसे खोलें, 9 टर्मिनलों को विभाजित करें और एक स्क्रिप्ट का उपयोग करके उनके बीच स्विच करें?


18

मैं एक टर्मिनल खोलना चाहता हूं, इसे 9 भागों (3x3) को कहने के लिए विभाजित करें और कुछ बैश स्क्रिप्ट निष्पादित करें। लेकिन प्रत्येक टर्मिनल भाग के लिए अलग स्क्रिप्ट।

क्या यह पर्ल, पाइथन या बैश का उपयोग करके किया जा सकता है?

मैं कीबोर्ड शॉर्टकट का उपयोग किए बिना उन छोटे टर्मिनलों के बीच कैसे स्विच कर सकता हूं?

ओह, वैसे, मैं उपयोग कर रहा हूं terminator। और अगर कोई अन्य टर्मिनल एमुलेटर है जो इस तरह की कार्यक्षमता को सक्षम करता है, तो यह कौन है?


terminatorएक खोल नहीं है। दो अलग-अलग टर्मिनल एमुलेटर कहलाते हैं terminator(जिनमें से एक मैं मानता हूं कि स्क्रीन को विभाजित कर सकता है)।
स्टीफन चेजेलस

आह, धन्यवाद .. तो मैं जानना चाहूंगा कि terminatorस्क्रिप्ट का उपयोग करके कैसे विभाजित किया जाए ? :) और उन हिस्सों के बीच स्विच?
जिरिस्लाव

1
मैंने कभी इसका उपयोग नहीं किया है और अभी इस पर शोध करने का समय नहीं है, लेकिन मुझे लगता है (हालांकि यह सुनिश्चित नहीं है) कि बायोबू आपकी मदद कर सकता है यदि आप एक दूरस्थ प्रणाली पर टर्मिनल चला रहे हैं - help.ubuntu देखें । com / समुदाय / बायोबु
ब्योबू

1
जैसा कि @ClivevanHilten ने उल्लेख किया है और यहां उत्तर दिया है कि यह मित्रवत बायोबु (जो डिफ़ॉल्ट रूप से टक्स के शीर्ष पर बैठकर किया जाता है) के साथ किया जा सकता है।
पाब्लो ए

जवाबों:


35

खुद को ख़ुश करने के लिए , आप अपनी वांछित सेटिंग्स ( यहाँ से अनुकूलित किए गए निर्देश ) के साथ एक प्रोफ़ाइल सेट कर सकते हैं :

  1. अपने terminatorइच्छित लेआउट को चलाएं और सेट करें। आप उपयोग कर सकते हैं Ctrl+ Shift+ Eखिड़कियों विभाजित करने के लिए खड़ी और Ctrl+ Shift+ O(कि अधिक संख्या में के रूप में की हे, शून्य नहीं) क्षैतिज विभाजित करने के लिए। इस उदाहरण के लिए, मैंने 6 पैन के साथ एक लेआउट बनाया है:

    यहाँ छवि विवरण दर्ज करें

  2. terminatorखिड़की पर राइट क्लिक करें और "प्राथमिकताएं" चुनें। प्राथमिकताएं विंडो खुली होने के बाद, "लेआउट" पर जाएं और "जोड़ें" पर क्लिक करें:

    यहाँ छवि विवरण दर्ज करें

  3. यह आपके नए लेआउट के साथ लेआउट सूची को आबाद करेगा:

    यहाँ छवि विवरण दर्ज करें

  4. लेआउट में आपके द्वारा बनाए गए प्रत्येक टर्मिनलों का पता लगाएं, और उन पर क्लिक करें, फिर दाईं ओर उस कमांड को दर्ज करें जिसे आप स्टार्टअप में उन पर चलाना चाहते हैं:

    यहाँ छवि विवरण दर्ज करें

    महत्वपूर्ण: ध्यान दें कि आदेश का पालन किया जाता है ; bash। यदि आप ऐसा नहीं करते हैं कि टर्मिनल सुलभ नहीं होंगे क्योंकि वे आपके द्वारा दी गई कमांड को चलाएंगे और बाहर निकल जाएंगे। टर्मिनलों का उपयोग करने में सक्षम होने के लिए आपको प्रत्येक कमांड के बाद एक शेल लॉन्च करने की आवश्यकता है।

    एक बार जब आप सभी कमांड सेट कर लेते हैं तो "बंद करें" पर क्लिक करें और फिर बाहर निकलें terminator

  5. terminatorकॉन्फ़िगरेशन फ़ाइल खोलें ~/.config/terminator/configऔर डिफ़ॉल्ट कॉन्फ़िगरेशन के लिए लेआउट के तहत अनुभाग हटाएं। फिर आपके द्वारा बनाए गए लेआउट के नाम को डिफ़ॉल्ट में बदलें। यह कुछ इस तरह दिखना चाहिए:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 cchapple@139.124.66.43'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]

अंतिम परिणाम यह है कि जब आप terminatorइसे चलाते हैं तो यह 6 पैन के साथ खुलेगा, जिनमें से प्रत्येक आपके द्वारा निर्दिष्ट आदेशों को चला या चला रहा है:

यहाँ छवि विवरण दर्ज करें

इसके अलावा, आप अपनी इच्छानुसार कई अलग-अलग प्रोफाइल सेट कर सकते हैं और या तो -pएक प्रोफ़ाइल नाम देने वाले स्विच के साथ टर्मिनेटर लॉन्च कर सकते हैं, या मैन्युअल रूप से स्विच कर सकते हैं जो भी आप लॉन्च करने के बाद चाहते हैं।


Terdon, धन्यवाद! यह वह जगह है जहाँ मैंने उस config फाइल को लिखना सीखा है!
डॉटनचेन

@dotancohen सुनने के लिए मैं मदद की :) था खुशी है कि
terdon

1
Whaou! बहुत धन्यवाद, "बैश" ने मेरी जान बचाई!
एटिएन

"आपको टर्मिनलों का उपयोग करने में सक्षम होने के लिए प्रत्येक कमांड के बाद एक शेल लॉन्च करने की आवश्यकता है।" कमाल है - यह सहज नहीं था जब मैंने शुरुआत में यह कोशिश की थी। इसे स्वचालित रूप से सक्षम करने के लिए उन्हें किसी प्रकार का चेकबॉक्स शामिल करना चाहिए।
dtmland

5

क्या आप टर्मिनल मल्टीप्लेक्स टमक्स की खोज कर रहे हैं।

https://github.com/tmux/tmux


हां, यह एक और संभावना के रूप में प्रतीत होता है कि मुझे क्या करने की आवश्यकता है। धन्यवाद :)
जिरिस्लाव

tmuxउत्तम है!
dotancohen

3

जब मैं इसका उपयोग कर रहा था terminatorतो वह आरसी फाइल है जिसका उपयोग मैंने टर्मिनलों का एक गुच्छा खोलने और अनुप्रयोगों को चलाने के लिए किया था। इसे बचाओ .config/terminator/config

[global_config]
  title_hide_sizetext = True
  enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
  [[default]]
    font = DejaVu Sans Mono 9
    cursor_blink = False
    scrollback_infinite = True
[layouts]
  [[default]]

    [[[root]]]
      position = -4:0
      type = Window
      order = 0 
      parent = ""
      size = 1072, 1884

    [[[grand]]]
      position = 536 
      type = HPaned
      order = 0 
      parent = root
    [[[left]]]
      position = 942 
      type = VPaned
      order = 0 
      parent = grand
    [[[right]]]
      position = 942 
      type = VPaned
      order = 1 
      parent = grand



    [[[terminal1]]]
      profile = default
      type = Terminal
      order = 0 
      parent = left
      command = "cd ~/code/foo; bash"
    [[[terminal2]]]
      profile = default
      type = Terminal
      order = 1 
      parent = left
      command = "cd ~/bar/baz; bash"



    [[[terminal3]]]
      profile = default
      type = Terminal
      order = 1 
      parent = right
      command = ""
    [[[terminal4]]]
      profile = default
      type = Terminal
      order = 0 
      parent = right
      command = "cmus; bash"



[plugins]

EDIT: ध्यान दें कि यह जानकारी संभवत: टेरडॉन के पोस्ट से बहुत पहले के धागे पर आई थी। मैं कुछ महीनों के लिए इस सेटअप का उपयोग कर रहा हूं, लेकिन टेर्डन की पोस्ट यहां बहुत परिचित है!


यह वही है जो मैं ढूंढ रहा था - टर्मिनल को कैसे विभाजित करें और विशेष स्क्रिप्ट को निष्पादित करें - धन्यवाद! लेकिन मैं इसे हर बार इस तरह निष्पादित नहीं करना चाहता। क्या मुझे उन सभी चीज़ों के बारे में अधिक जानकारी प्राप्त करने और खोलने की संभावना है जो मुझे चाहिए? मान लें कि पैरामीटर --config2 या --config1 जोड़कर?
जिरिस्लाव

आप अधिक कॉन्फ़िग फ़ाइल नहीं जोड़ते हैं, आप कॉन्फ़िग फ़ाइल में अनुभाग जोड़ते हैं। टेरडॉन की पोस्ट देखें, वह इसे बहुत अच्छी तरह से समझाता है, वास्तव में मैंने अपने पोस्ट से पहले के धागे पर यह सीखा है।
डॉटनकोहेन

ओह, मैं देख रहा हूँ ... इस प्रकार मैंने उनके उत्तर को सबसे अधिक उपयोगी माना। लेकिन फिर भी धन्यवाद।
जिरिस्लाव

अच्छा विकल्प! मैं वास्तव में उनके उत्तर को स्वीकार करने के लिए सुझाव देना चाहता था क्योंकि जानकारी उनकी कड़ी मेहनत से आई थी!
dotancohen

2

टर्मिनेटर टर्मिनल एमुलेटर विभाजन के लिए आवरण स्क्रिप्ट https://github.com/AlekseyChudov/terminator-plit


2
आपको प्रासंगिक जानकारी को यहां शामिल करना चाहिए, एक बार जीथूब चले जाने के बाद आपका उत्तर अपने संभावित मूल्य को खो देता है।
एंथन

1
अच्छा लगता है .. लेकिन मैं इस स्क्रिप्ट को कैसे चलाऊँ?
सचिन

1
terminator-splitबहुत क्षमता है, लेकिन अलग-अलग बंटवारे में अलग-अलग आदेशों को चलाने का कोई तरीका नहीं लगता है, और -mउदाहरणों में दिखाया गया तर्क उपयोग सारांश में सूचीबद्ध नहीं है
बिटनरेंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.