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

10

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

Пример: выполните эту команду, source bin/activateкоторая является командой установки Python virtualenv.

citadelgrad
источник

Ответы:

4

Добавьте это к вашему, ~/.bash_profileесли вы используете bash или ~/.zshrczsh, изменив содержимое COMMANDSмассива:

function openterms() {
    COMMANDS=("source bin/activate" "add another here" "continue likewise")
    for command in $COMMANDS
        do osascript -e \
        "tell application \"Terminal\" to do script with command \"$command\""
    done
}

Теперь вызов opentermsв оболочке откроет все остальные оболочки, которые вы хотели.

Кармин Паолино
источник
3

Я использую Keyboard Maestro . Однажды я записал макрос, который устанавливает терминал (я использую iTerm, но это не имеет значения) так, как мне нравится, и сделал так, чтобы этот макрос запускался при запуске iTerm.

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

Теперь я не боюсь закрыть iTerm, если мне нужно, поскольку я могу открыть его в том же состоянии без каких-либо усилий.

Кстати, клавиатура Maestro хороша и для многих других вещей. Я недавно купил его со скидкой на mupromo.com, где я впервые его обнаружил, но, на мой взгляд, он тоже стоит своей полной цены.

Джейкоб Горбан
источник
2

Как упоминал Джош К, вы можете создать группу окон для открытия одного или нескольких окон с определенными макетами и видами. Кроме того, в «профилях настроек» («Терминал»> «Настройки»> «Настройки») можно указать команду, которая будет выполняться при создании терминала с этим профилем. Вы можете создать отдельный профиль для каждой команды, которую хотите запустить, а затем создать окна с этими профилями. Когда вы сохраните их в группу окон и снова откроете их, эти команды будут выполняться в соответствующих окнах. Вы даже можете при запуске терминала открыть определенную группу окон.

Начиная с Mac OS X Lion 10.7, в этой области появилось несколько новых улучшений:

  1. Resume автоматически восстанавливает окна, которые были открыты при выходе из терминала, поэтому использование группы окон для этого больше не является строго обязательным (хотя они позволяют воссоздать определенную настройку, если вы закрыли окна).

  2. Если вы создаете новый терминал, используя Shell> New Command, так как Terminal знает, какую команду вы выполнили, он может восстановить его, запустив его снова. Терминал теперь автоматически восстанавливает «безопасные» команды † при возобновлении.

  3. Терминал также восстановит эти команды, если вы сохраните эти виды терминалов в группе окон. Кроме того, при сохранении группы окон есть возможность восстановить все команды, а не только «безопасные». Таким образом, вам больше не нужно создавать отдельный профиль настроек для каждой команды, которую вы хотите выполнить.

† «Безопасные» команды включают в себя все, что перечислено в /etc/shells, emacs, vi / vim, nano, pico, top, screen, tmux, и любые команды, созданные с помощью Shell> New Remote Connection (например, сеансы ssh). Обратите внимание, что только top считается «безопасным» при использовании с аргументами; другие поддерживают аргументы, которые могут делать то, что вам не нужно, без подтверждения пользователя, поэтому они не считаются «безопасными» для автоматического восстановления, если они не вызываются без аргументов. Вы можете настроить список «безопасных» команд с помощью «по умолчанию write com.apple.Terminal RestorableCommands». Значение представляет собой список строк, содержащих имена команд. Чтобы указать, что аргументы разрешены, добавьте звездочку после команды. Например, «top *» делает top безопасным при использовании с аргументами, а «top» - нет.

Крис Пейдж
источник
1

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

Больше информации.

karmatic
источник