Mac OS X / Открыть терминал с указанными окнами - PullRequest
22 голосов
/ 19 июля 2009

Можно ли открыть окно терминала с 3 вкладками. У каждой вкладки должен быть свой путь.

Пример:

Tab1: /etc
Tab2: /bin
Tab3: /www/ tail -f file.txt

Ответы [ 9 ]

42 голосов
/ 18 марта 2010

Это абсолютно возможно, но это потребует некоторых усилий с вашей стороны. Первое, что вам нужно, это настроить каждое окно / вкладку, которую вы хотите в настройках:

Settings

У меня есть 4 вкладки, которые я открываю автоматически каждый раз, когда открываю Терминал. DB Shell, Editor, Server и Shell. Все это в рамках проекта Sasquatch (не спрашивайте), таким образом, именование. С каждым из них должна быть связана уникальная команда:

startup cmd

В этом случае я выполняю vim. Если у вас есть определенный каталог, с которого вы хотите начать, вы можете использовать что-то вроде vim ~/projects/main/. На самом деле все, что вы хотите добавить, - это команда, которую оболочка выполнит при открытии. Теперь вам нужно открыть все ваши окна / вкладки:

  1. Закройте все.
  2. Откройте новое окно для каждого из ваших профилей.
    • Перейдите в меню Shell => New Tab / New Window => Выберите созданный вами профиль.
    • Повторите для каждого окна или вкладки.
  3. Как только у вас откроются все окна и / или вкладки, сохраните их как группу окон.
    • Перейти в меню Window => Save Window As Group....
    • Дайте вашей группе окон имя (это будет полезно позже).
    • Если вы хотите, чтобы эта группа открывалась при каждом открытии терминала, установите флажок в нижней части этого экрана и нажмите «Сохранить».
  4. Закройте все ваши окна / вкладки (пора протестировать!).
  5. Откройте новую группу окон.
    • Перейдите в меню Window => Open Window Group => Выберите группу, которую вы только что создали.

Это должно выскочить все окна, которые вы только что имели, в том же положении. Каждая из команд, которые вы установили в Settings, должна запускаться на соответствующих вкладках.

12 голосов
/ 14 августа 2011

Начиная с Mac OS X Lion 10.7, Terminal делает это намного проще, без создания новых профилей для каждой команды.

  1. По умолчанию Терминал запоминает и восстанавливает текущий рабочий каталог для каждого терминала в Группе окон. (Если рабочий каталог был передан в терминал с помощью escape-последовательности. Оболочка по умолчанию, bash, будет делать это в каждой командной строке. Для других оболочек вам потребуется адаптировать код в /etc/bashrc.)

  2. Если вы создаете терминал с Оболочка> Новая команда , Терминал автоматически запускает эту команду при открытии группы окон. Терминал автоматически запускает ограниченный набор «безопасных» команд †, а при сохранении группы окон есть опция для запуска всех команд в группе.

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

Для вашего примера:

  1. Используйте Shell> New Command для запуска "tail -f /www/file.txt".
  2. Создайте новую вкладку и "cd /etc".
  3. Создайте новую вкладку и "cd /bin".
  4. Сохраните их с помощью Окно> Сохранить Windows как группу . Обязательно установите флажок «Восстановить все команды».

Каждый раз, когда вы открываете эту группу окон, она будет заново создавать эти окна и запускать команды. Если вам нужно запустить команду и , укажите начальный каталог, в диалоговом окне «Новая команда» установите флажок «Выполнить команду внутри оболочки» и введите команду «cd;».

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

† «Безопасные» команды включают в себя все, что перечислено в / etc / shells, плюс: screen, tmux, emacs, vi / vim, nano, pico и top. Вы можете настроить список с помощью «по умолчанию напишите com.apple.Terminal RestorableCommands». Установите его в массив строк, содержащих имена команд или полные пути. Некоторые команды имеют параметры, которые «небезопасны» для автоматического запуска без вмешательства пользователя, поэтому по умолчанию эти команды считаются «безопасными» только в том случае, если у них нет аргументов. Чтобы сделать команду безопасной для выполнения с аргументами, добавьте звездочку, например «top *» в значении по умолчанию для этого предпочтения.

6 голосов
/ 08 августа 2009

Вы можете делать то, что вы хотите из терминала.

Если в настройках терминала (вкладка «Настройки») вы создаете новый профиль (или копируете его с помощью дубликатов настроек), вы можете настроить каждый профиль на запуск команды при запуске (подгруппа «Оболочка» в профиле).

Затем настройте вкладки с помощью меню «Оболочка»> «Новая вкладка», чтобы создать новые вкладки для каждого из определенных профилей, которые вы создали для трех разных исполняемых файлов.

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

5 голосов
/ 23 июля 2009

Я предлагаю использовать, если iTerm вместо Терминала. Хотя бы потому, что он более настраиваемый. Вы можете написать его, но для вас важнее то, что вы можете создать папку с закладками (по одной на каждую вкладку), а затем «открыть на вкладках», что даст вам поведение, которое вы ищете.

1 голос
/ 29 декабря 2012

Другой способ сделать это - использовать гем Elscripto ruby: https://github.com/Achillefs/elscripto. Это позволяет yuo легко указывать вкладки терминала, используя файл YAML

1 голос
/ 19 июля 2009

Я подозреваю, что вы также можете контролировать выполнение команд. Одна из программ, которые я использую, создает окно терминала с одной вкладкой и организует выполнение сценария настройки профиля перед продолжением командной строки - то же самое должно быть осуществимо для терминала с несколькими вкладками. Файл представляет собой XML-файл свойств MacOS X.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandString</key>
    <string>. /Applications/IBM/informix/demo/server/profile_settings</string>
    <key>FontAntialias</key>
    <false/>
    <key>RunCommandAsShell</key>
    <false/>
    <key>ShowShellCommandInTitle</key>
    <true/>
    <key>TerminalType</key>
    <string>xterm</string>
    <key>WindowTitle</key>
    <string>IDS Command Window</string>
    <key>name</key>
    <string>IDS Command Window</string>
    <key>type</key>
    <string>Window Settings</string>
</dict>
</plist>

Вы можете щелкнуть по нему, и окно терминала запустится, настройки профиля будут установлены, а затем у вас будет командная строка для ввода на. Предположительно, смена команды 'dot' на команду 'tail' вопроса будет работать; может случиться так, что ключ 'RunCommandAsShell', установленный на '<true\>', заменит обычную оболочку командой - что, возможно, больше подходит для вопроса.

0 голосов
/ 23 декабря 2016

Как создавать собственные оконные механизмы iTerm2

Создание настраиваемого сочетания клавиш для автоматического создания набора окон и разделения с запущенными процессами.

С помощью сочетания клавиш cmd + shift + w преобразуйте расположение окон на 3 панели

https://www.youtube.com/watch?v=Rg8AT-nds1Q

0 голосов
/ 18 июля 2013

http://www.iterm2.com/#/section/features/split_panes

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

0 голосов
/ 19 июля 2009

Откройте нужные вкладки и настройте каждую из них по своему желанию, т. Е. На вкладке 1, cd /etc, вкладке 2 cd /bin и т. Д. Теперь перейдите в Window> Save Windows as Group. Установите флажок «Использовать группу окон при запуске Терминала» и нажмите «Presto!»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...