tmux програмно створює панелі


0

Я хочу створити tmux панелі програмно. напр. У мене є список команд для виконання, і я буду створювати скрипт оболонки, який буде викликати команду tmux разом з командами для виконання в кожній області, динамічно. Чи можете ви навести приклад?

Відповіді:


0

tmuxify (lib я написав) робить це. Ви можете подивитися на код, де знаходиться tmux send-keys використовується команда тут мати уявлення про те, як розпочати роботу.

Майте на увазі, що потрібно спочатку створити розділ, у якому потрібно виконати команду. Використовуйте tmux split-window для цього.

Я також рекомендую прочитати man розділів для обох команд вище. Це дуже добре пояснено. Якщо у вас є якісь сумніви, коментар нижче.


кількість панелей, які я відкрию, не фіксується. Я повинен динамічно генерувати командний рядок.
user36582

0

Тмуксинатор також робить це добре. Це рубіновий дорогоцінний камінь, який використовує файл yml, який зберігає ваші макети і може програмувати їх для вас.

Це github сторінка має пристойний readme, але це в основному так:

Налаштувати:

mux new [project]
vim the/autogenerated/project.yml # Edit the config to suit

Відкрийте свій проект:

mux [project]

Приклад конфігурації:

windows:
  - editor:
      layout: tiled
      panes:
        - cd ~/code/source/dir && git status
        - cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su; /bin/bash' # log in as sudo, the final /bin/bash keeps the shell open
        - cd ~/code/source/dir && vagrant up && vagrant ssh -- -t 'sudo su some_user && cd ~/mounted/dir/ && vim ./; /bin/bash' # log in, go to your mounted code and vim
        - # do nothing
  - logs: tail -f log/development.log

Як бічна примітка: Він також може запускати команди при відкритті панелей, так що ви можете ssh в деяких машинах, увійти як різні користувачі і т.д.

Tmuxify також може охоплювати ту ж саму землю, тому добре, що у вас є варіанти. Погано ... ви повинні вибрати;)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.