Группы окон OSX

5063
AdamB

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

3

3 ответа на вопрос

4
Matt G

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

В "Terminal > Preferences > Settings", отредактируйте настройку для каждого терминала, указав команду для каждого с "Shell > Startup > Run command".

alt text

При открытии терминала из этих настроек (по отдельности или в составе группы окон) он запускает команду, указанную в командах запуска параметров. Вы можете открыть группы окон из "Window > Open Window Group"или настроить одну из них для автоматического запуска в "Preferences > Startup".

1
Chris Page

Начиная с Mac OS X Lion 10.7, вы можете сделать это без создания отдельных профилей настроек для каждого терминала. Если вы создаете терминал с помощью Shell> New Command…, Terminal может запомнить команду, когда вы сохраните ее в группе окон. Когда вы открываете группу, все сохраненные команды запускаются в соответствующем терминале (ах).

При сохранении группы окон Терминал автоматически сохраняет «безопасные» команды †, и вы можете сохранить все команды, установив флажок « Восстановить все команды» .


† «Безопасные» команды - это команды, которые целесообразно запускать без подтверждения пользователя, и автоматически восстанавливаются при возобновлении работы терминала. Они также автоматически сохраняются в группах окон. «Безопасные» команды включают в себя любую команду, выданный через новое удаленное соединение, все перечисленные в /etc/shells, и короткий список общих команд: screen, tmux, emacs, vi, vim, nano, pico, top.

Этот список можно настроить с помощью команды defaults (1) ( x-man-page://1/defaults). RestorableCommandsПредпочтение список строк, каждая из имен команды. В каждой строке вы можете указать имя команды или абсолютный путь (если вы хотите разрешить команду только из определенного каталога). По умолчанию команды являются «безопасными», только если они не содержат аргументов командной строки (потому что аргументы могут указывать деструктивные операции); чтобы указать, что аргументы разрешены, добавьте звездочку после имени команды, например, «top *» находится в списке по умолчанию.

Например, чтобы автоматически разрешить emacs с аргументами:

defaults write com.apple.Terminal RestorableCommands -array screen tmux 'emacs *' vi vim nano pico 'top *' 

Для удобства, после того как вы создали настройку предпочтений, вы можете добавить дополнительные элементы с помощью -array-add:

defaults write com.apple.Terminal RestorableCommands -array-add nethack 
Хорошее объяснение этой функции. Жаль, что нельзя ссылаться на URL `x-man-page: //` на SU. Daniel Beck 12 лет назад 0
Благодарю. Да, было бы неплохо, если бы схема x-man-page была принята парсером ссылок на сайтах StackExchange. Chris Page 12 лет назад 0
0
avstrallen

Ответ @Matt G хороший, но альтернативой может быть использование iTerm с открытым исходным кодом, который имеет функцию закладок, которая делает это намного проще, чем настройка отдельного профиля терминала для каждого. Так как я начал использовать его вместо Terminal.app, я не оглядывался назад. Стоит проверить ...

Профили - это закладки Терминала. Вы можете просто продублировать один и вставить в него команду. Chris Page 12 лет назад 0