स्क्रिप्ट के भीतर tmux या gnome-टर्मिनल के अंदर प्रोग्राम का एक सेट कैसे लॉन्च करें?


32

मैं tmux या gnome-टर्मिनल या xfterminal में एक साथ कुछ कमांड लॉन्च करना चाहता था, हर एक कमांड के साथ एक अलग टैब चल रहा था, और उस कमांड के खत्म होने पर उस टैब को बंद कर दें।

किसी अन्य सॉफ्टवेयर का भी स्वागत किया जाता है

मैं नौकरी करने के लिए एक ही स्क्रिप्ट जारी करना चाहता था, जैसे XX "cmd1" "cmd2" "cmd3"

जवाबों:


27
tmux new -d -s my-session 'echo window-1 pane-1; sleep 8' \; \
          split-window -d 'echo window-1 pane-2; sleep 6' \; down-pane \; \
            new-window -d 'echo window-2;        sleep 4' \; next-window \; \
                attach \;

ऊपर सामान्य विचार का एक चल उदाहरण है ... यहाँ और अधिक: कैसे एक स्क्रीन के माध्यम से विभाजित स्क्रीन एक्स टर्मिनल में स्ट्रीमरिपर और मेपल चलाने के लिए


27

एक tmux सेशन खोलें और पहला कमांड शुरू करें। फिर नई खिड़कियों पर अधिक कमांड लॉन्च करें और अंत में खिड़की के आकार को समान रूप से वितरित करें।

tmux \
  new-session  "command1 ; read" \; \
  split-window "command2 ; read" \; \
  split-window "command3 ; read" \; \
  split-window "command4 ; read" \; \
  select-layout even-vertical

readप्रत्येक आदेश के बाद के बाद आदेश तो समाप्त हो गया है कि आप उत्पादन पढ़ सकते हैं विंडो खुली रहने के लिए कारण बनता है।


2
यह उत्तर अधिक मतों का हकदार है। धन्यवाद दोस्त।
लेस्टर चेउंग

7

यदि यह हमेशा कार्यक्रमों का समान कॉन्फ़िगरेशन है, तो आप टीमोकिल जैसे उपकरण का उपयोग कर सकते हैं ।

आपको एक कॉन्फ़िगरेशन (जैसे ~/.teamocil/sample) के साथ बनाना होगा , जिसमें कुछ इस तरह है:

windows:
  - name: my-first-window
    root: ~/Projects/foo-www
    filters:
      before: "rvm use 1.9.2"
      after: "echo 'I am done initializing this split.'"
    splits:
      - cmd: "git status"
      - cmd: "bundle exec rails server --port 4000"
        width: 50
      - cmd:
          - sudo service memcached start
          - sudo service mongodb start
        height: 50

और फिर आप चला सकते हैं: tmux new-session -d "teamocil sample" \; attach


6

इसके साथ gnome-terminalयह होगा:

gnome-terminal --window -e 'cmd1' --tab -e 'cmd2' --tab -e 'cmd3'

इसका आदेश समाप्त होने के बाद प्रत्येक टैब बंद कर दिया जाएगा।


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