Начиная с Mac OS X Lion 10.7, Terminal делает это немного проще:
Если вы создаете терминал с помощью « Shell»> "Новая команда" или « Shell»> "Новое удаленное соединение", а затем создаете "Группу окон", появляется новый флажок, позволяющий ему "восстановить все команды". Таким образом, вам больше не нужно настраивать профили настроек, просто чтобы указать команду для запуска.
(Эти пункты меню всегда создают окна. При необходимости вы можете просмотреть> Показать панель вкладок , а затем перетащить их вместе, чтобы расположить их в виде вкладок в одном окне.)
Фактически, он автоматически восстановит (перезапустит) небольшой набор общих "безопасных" † команд: все, что перечислено в /etc /shells, screen, tmux, emacs, vi /vim, nano, pico, top и созданные сеансы с новым удаленным подключением (SSH и т. д.).
Более того, Терминал поддерживает Lion Resume: он автоматически восстанавливает открытые окна (включая "безопасные" команды), если вы выйдете и перезапустите Терминал, не создавая группу окон. (Чтобы получить Resume для восстановления других команд, используйте пользовательские профили настроек для указания команд, как указано в ответе jtb.)
† За исключением top
, перечисленные мной отдельные команды считаются безопасными только при запуске без аргументов. У остальных есть аргументы, которые могут быть разрушительными или удивительными для пользователей, если они запускаются без подтверждения пользователя. Набор "безопасных" команд может быть настроен с defaults write com.apple.Terminal RestorableCommands -array ...
путем установки предпочтения для массива строк. Чтобы указать, что запускать команду с аргументами безопасно, добавьте звездочку, где будут аргументы. Значение по умолчанию для этого предпочтения: "screen", "tmux", "emacs", "vi", "vim", "nano", "pico", "top *"