Αυτοματισμός του tmux με το tmuxinator

Με το tmux :tmux: μπορούμε να έχουμε πολλά τερματικά σε ένα και όχι μόνο. Αλλά αν δεν έχουμε μια έτοιμη συνεδρία είναι μπελάς να φτιάξεις όλα τα παράθυρα και τις περιοχές από την αρχή. Δεν είναι καθόλου δύσκολο να το αυτοματοποιήσεις με ένα bash script, αλλά υπάρχει ένας καλύτερος τρόπος.

To tmuxinator θα αυτοματοποιήσει την δημιουργία μιας συνεδρίας, φτιάχνοντας ένα απλό αρχείο ρυθμίσεων.

Είναι γραμμένο στην αγαπημένη μου γλώσσα ruby :ruby: και υπάρχει στα αποθετήρια.

Βασική χρήση

Μετά την εγκατάσταση θα πρέπει να ορίσουμε ένα διορθωτή. Διαλέξτε όποιον σας βολεύει καλύτερα. Στην συνέχεια θα φτιάξουμε μια περιγραφή μιας συνεδρίας με ότι όνομα θέλουμε.

export EDITOR='xed'
tmuxinator new demo

Και θα ανοίξει το αρχείο # ~/.tmuxinator/demo.yml για διόρθωση. Το αρχείο είναι τυπου yaml αυτό που τουλάχιστον πρέπει να ξέρουμε για αυτά τα αρχεία είναι ότι τα κενά μετράνε και κάθε εσοχή πρέπει να έχει 2 κενά.

Ας φτιάξουμε μια πολύπλοκη δομή

startup_window: work
windows:
  - work:
      layout: even-vertical
      panes:
        - shell1:
          - cd ~/Projects
        - shell2:
          - pwd
          - tput colors
  - tasks: ytop
  - logs: tail -f /var/log/syslog | ccze -A
  - monitor:
      layout:  even-horizontal
      panes:
        disks:   watch -d df -h
        sensors: watch -d sensors

Το παραπάνω λέει πως η συνεδρία θα έχει 4 παράθυρα. Το πρώτο work, θα έχει 2 παράθυρα με δομή even-vertical (αλλες τιμές even-horizontal, even-vertical, main-horizontal, main-vertical, tiled). Αν δεν μας βολεύει μπορούμε να φτιάξουμε τα δικά μας layout. Το παράθυρο αυτό θα έχει δυο περιοχές τις shell1 και shell2. Σε κάθε μια από αυτές θα τρέξει κάποιες εντολές.

Ένα δεύτερο παράθυρο θα τρέχει την ytop, ένα άλλο θα δείχνει τα logs, και τέλος στο τελυταίο θα παρακολουθούμε τις θερμοκρασίες και τον ελεύθερο χώρο στο δίσκο.Με λίγη προσοχή στα κενά εύκολα το φέρνουμε στις ανάγκες μας.

Θα ξεκινήσουμε όλα τα παραπάνω με την εντολή

tmuxinator start demo

Άλλες λύσεις

Υπάρχουν άλλα 3 παρόμοια προγράμματα με πάνω κάτω τις ίδιες δυνατότητες.



6 Likes

Χρήσιμες πληροφορίες για το tmux.
Προτείνω ένα νήμα για τον vim ξεκινώντας απο τα βασικά, configuration (php, html, javascript, c/c++), χρήσιμα combos, plugins

Αν έχεις τις απαιτούμενες γνώσεις και το χρόνο μπορείς να το ξεκινήσεις εσύ και φυσικά όποιος θέλει μπορεί να προσθέσει μετά κάτι.

πολυ ωραια
ευχαριστουμε :+1: