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

10

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

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

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

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

    
задан Adam Lear 18.08.2010 в 02:14
источник

3 ответа

9

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

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

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

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

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

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

    
ответ дан jbowtie 18.08.2010 в 03:32
источник
8

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

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

Просто добавьте такие команды в ваш автозапуск в System - > Предпочтения - > Сессии (Ubuntu) или системные настройки - > Автозапуск (Kubuntu)

    
ответ дан maco 18.08.2010 в 02:38
4

Вы также можете автоматизировать это с помощью скрипта. Я рекомендую прочитать Руководство по разработке сценариев 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
    
ответ дан anonymous 18.08.2010 в 03:32