6

Можно ли перенаправить приложение в Mac OS X на другое приложение?

Если нет, можете ли вы перенаправить Terminal.app в iTerm.app, поэтому каждое приложение, которое хочет открыть окно терминала, вместо этого открывает окно iTerm.

Например, когда что-то запускается:

  • tell application "Terminal" в AppleScript
  • open -a Terminal
  • open -a /Applications/Utilities/Terminal.app
  • /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
  • open -b com.apple.terminal
  • и т.п.

Примеры, когда это происходит:

  • BBEdit: Нажатие "Запуск в терминале"
  • Альфред: Создание расширения оболочки и выключение "Silent" и запуск его

1 ответ1

5

Как сказано в комментариях выше, вы не сможете изменить это в больших масштабах. Приложения, вызывающие Terminal.app, будут делать это, вызывая его идентификатор Bundle com.apple.terminal . Вы должны изменить это, чтобы "подделать" Терминал и перенаправить на другой. Это возможно? Я очень сомневаюсь в этом.

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


Как заставить BBEdit использовать другой Терминал

Для BBEdit это относительно просто, согласно примечаниям к выпуску. Хотя это для версии 8.7, и я больше не могу найти ее в "Предпочтениях экспертов" версии 10. Может быть, они удалили эту функцию.

defaults write com.barebones.bbedit Misc:TerminalBundleIDOverride "com.googlecode.iTerm2"

Просто замените com.apple.Terminal с пакетом, идентифицированным другим эмулятором терминала, например com.googlecode.iterm2 для iTerm2.

Аналогичную запись можно найти на secrets.blacktree.com, хотя, похоже, она не работает (я никогда не видел тип данных -bundleid в defaults по умолчанию ).

Лучшей идеей будет подать запрос на поддержку разработчикам BBEdit.


Как заставить Альфреда использовать другой Терминал

Расширения оболочки Альфреда используют указанный вами эмулятор терминала, согласно справке.

Вы можете использовать OS X Terminal.app или iTerm, а также свой префикс для команд оболочки в настройках Альфреда.

Сначала это не сработало, поэтому мне пришлось удалить iTerm.app, удалить Alfred и его настройки / кэши, а затем переустановить iTerm2. Это объясняется на форумах поддержки Альфреда.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .