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

Я изучаю некоторые учебники по программированию и для каждого сеанса, я должен запустить по крайней мере 3 окна терминала (один для хвоста файла журнала, один для тестирования вывода, один для запуска различных команд оболочки и т. Д.),

Прямо сейчас я запускаю их вручную: щелкните значок терминала, cd в нужную папку, введите команды и измените заголовок окна на что-то значимое.

Есть ли способ написать сценарий или что-то, что автоматизирует это для меня? И если да, то как?

(Мне классно, когда я не получил полный скрипт в качестве ответа. Указатель, в котором начать чтение, тоже будет работать.)

Поскольку вы нажимаете на значок терминала, я предполагаю, что вы используете gnome-terminal .

Я получил список опций с помощью gnome-terminal --help в командной строке и чтения оттуда.

Основываясь на ответе Мако, я мог бы предложить что-то вроде этого:

 gnome-terminal --window --title=Log -e "tail -f /var/log/syslog" --window --title=Output --working-directory=output --window --active --title=Dev --working-directory=dev/project 

В этом примере запускается три окна (хотя вы можете передать --tab для вкладок) и задает рабочие каталоги (относительно дома) и заголовки для каждого, запускает команду tail в одном и активирует третье окно.

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

Еще одна полезная вещь, которую нужно сделать, когда у вас есть окна, которые вам нравятся, – это использовать

 gnome-terminal --save-config=FILE 

Это создает файл конфигурации с информацией обо всех открытых терминальных окнах и вкладках (включая заголовки, рабочие каталоги и т. Д.). Запуск gnome-терминала с параметром --load-config затем воссоздает ваш макет.

Многие разработчики, которые работают с несколькими терминалами, любят использовать Terminator, поскольку он добавляет такие функции, как макет сетки и быстрые клавиши.

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

 gnome-terminal -e "tail -f /var/log/syslog" 

Просто добавьте такие команды в свой автозапуск в System -> Preferences -> Sessions (Ubuntu) или в System Settings -> Autostart (Kubuntu)

Вы также можете автоматизировать это с помощью скрипта. Я рекомендую прочитать Руководство по разработке сценариев Advanced Bash или BOW Programming HOWTO, а также страницу руководства для любого терминала, который вы используете.

Вот простой пример: $ vi your-script

 #!/bin/bash gnome-terminal -e "tail -f /var/log/syslog" gnome-terminal --working-directory=/foo/bar gnome-terminal --whatever-else 

Затем просто сделайте его выполнимым: $ chmod + x your-script