Вопрос или проблема
В текущем проекте, над которым я работаю, когда я начинаю, я в конечном итоге делаю что-то вроде этого:
[открыть терминал]
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"
Объяснение скрипта
- terminator -x bash -c "команда": Эта команда открывает новую панель в Terminator и выполняет указанную команду.
- cd и команда: Команда
cd
меняет директорию на нужную, после чего запускается основная команда, напримерnpm start
. - exec bash: Эта часть гарантирует, что после выполнения команды в панели останется открыта оболочка bash, чтобы вы могли продолжить интерактивную работу (например, выполнять git-команды).
Сохранение и запуск скрипта
- Сохраните этот скрипт в файл, например,
start_project.sh
. - Дайте файл исполняемые права:
chmod +x start_project.sh
- Запустите скрипт:
./start_project.sh
Дополнительные советы
- Убедитесь, что все необходимые пакеты (
npm
,firebase-tools
) установлены в вашей системе. - Вы можете адаптировать скрипт, добавляя или изменяя команды в зависимости от ваших требований.
- Применяйте этот подход для создания более сложных последовательностей, если у вас есть дополнительные команды или приложения для запуска.
Заключение
Использование терминального эмулятора, такого как Terminator, в сочетании с простым Bash-скриптом позволяет значительно упростить ваш рабочий процесс. Теперь вы можете одновременно запускать несколько команд и следить за их выводом в отдельных панелях, что повышает эффективность и удобство работы.