Терминальный эмулятор, который позволяет открывать несколько плиточных окон и выполнять определенные команды в одной строке.

Вопрос или проблема

В текущем проекте, над которым я работаю, когда я начинаю, я в конечном итоге делаю что-то вроде этого:

[открыть терминал]
cd ~/my-project 
npm start

[открыть терминал]
cd ~/my-project
firebase serve --only functions

[открыть терминал]
cd ~/a-dependency 
npm start

[открыть терминал] 
cd ~/my-project 
[здесь будут команды git] 

Это немного неудобно.

Что мне хотелось бы сделать, так это запустить одну команду, которая сделает все эти вещи, и запустить терминальный эмулятор с плиточной компоновкой (например, Terminator), выполняющий все эти команды. Важно, чтобы они все были на отдельных плитках/окнах – чтобы я мог видеть консольный вывод каждой из них.

Одной из возможностей является запуск каждого процесса или иметь скрипт, который сделает это за вас.

Итак, если вам не нужно видеть вывод:

[открыть терминал]
cd ~/my-project 
npm start &
cd ~/my-project
firebase serve --only functions &
cd ~/a-dependency 
npm start &
cd ~/my-project 
<выполните ваши команды git>

Конечно, вам нужно будет завершить/убить запущенные процессы, когда они больше не понадобятся.

Ответ или решение

Для решения вашей задачи относительно использования терминального эмулятора с разделенными панелями, позволяющего выполнять несколько команд одновременно, предлагаю рассмотреть несколько подходов. Основная цель заключается в упрощении процесса запуска нескольких приложений и команд в отдельных панелях, чтобы вы могли наблюдать за выводом из каждого из них.

Использование терминального эмулятора с плиточным интерфейсом

Одним из популярных эмуляторов терминала, который может решить вашу задачу, является Terminator. Этот инструмент позволяет открывать несколько панелей в одном окне и удобно управлять ими.

Установка Terminator

Если у вас еще нет Terminator, вы можете установить его с помощью команды:

sudo apt install terminator

Скрипт для автоматизации запуска команд

Для автоматизации запуска набора команд в отдельной панели можно создать Bash-скрипт. Вот пример такого скрипта, который запускает ваши команды в новых панелях:

#!/bin/bash

# Открыть Terminator с несколькими панелями и выполнить команды
terminator -x bash -c "cd ~/my-project && npm start; exec bash" \
          -x bash -c "cd ~/my-project && firebase serve --only functions; exec bash" \
          -x bash -c "cd ~/a-dependency && npm start; exec bash" \
          -x bash -c "cd ~/my-project && bash" 

Объяснение скрипта

  1. terminator -x bash -c "команда": Эта команда открывает новую панель в Terminator и выполняет указанную команду.
  2. cd и команда: Команда cd меняет директорию на нужную, после чего запускается основная команда, например npm start.
  3. exec bash: Эта часть гарантирует, что после выполнения команды в панели останется открыта оболочка bash, чтобы вы могли продолжить интерактивную работу (например, выполнять git-команды).

Сохранение и запуск скрипта

  1. Сохраните этот скрипт в файл, например, start_project.sh.
  2. Дайте файл исполняемые права:
chmod +x start_project.sh
  1. Запустите скрипт:
./start_project.sh

Дополнительные советы

  • Убедитесь, что все необходимые пакеты (npm, firebase-tools) установлены в вашей системе.
  • Вы можете адаптировать скрипт, добавляя или изменяя команды в зависимости от ваших требований.
  • Применяйте этот подход для создания более сложных последовательностей, если у вас есть дополнительные команды или приложения для запуска.

Заключение

Использование терминального эмулятора, такого как Terminator, в сочетании с простым Bash-скриптом позволяет значительно упростить ваш рабочий процесс. Теперь вы можете одновременно запускать несколько команд и следить за их выводом в отдельных панелях, что повышает эффективность и удобство работы.

Оцените материал
Добавить комментарий

Капча загружается...