54

Я хотел бы установить iTerm2 вместо терминала.app в качестве моего терминала по умолчанию.

Go2Shell, например, позволит вам открыть терминал для текущего каталога в Finder. Я хочу иметь возможность использовать iterm2 вместо терминала.app.

Я не нашел ответа в официальной документации.

Спасибо за вашу помощь.

Обновление: ShellTo - отличная альтернатива Go2Shell и поддерживает iTerm2

8 ответов8

57

Terminal.app объявляет себя обработчиком схем URL ssh , telnet и x-man-page .

Он также регистрирует расширения файлов .term (сеансы), .terminal (настройки), .tool и .command (скрипты), и себя в качестве редактора / просмотра для них.

Кроме этого, в OS X нет терминала по умолчанию. Это просто приложение, которое может обрабатывать схемы URL и типы файлов.


iTerm способен обрабатывать все это, за исключением Terminal.app .term/.terminal .

Для типов файлов просто откройте диалоговое окно Get Info и свяжите все файлы такого рода с iTerm. Для схем URL вы можете загрузить и установить панель « Приложения по умолчанию» и изменить там связь. Вы также можете использовать его как альтернативный метод изменения ассоциаций типов файлов.


Все эти настройки зависят от пользователя и хранятся в ~/Library/Preferences/com.apple.LaunchServices.plist . Конечно, вы можете редактировать его в подходящем редакторе самостоятельно. Это довольно просто. Снимок экрана Xcode 4, показывающий результат изменения x-man-page на панели настроек приложений по умолчанию :


Terminal.app также предоставляет следующие Сервисы для других приложений:

  • Новый терминал в папке
  • Новая вкладка терминала в папке
  • Открыть справочную страницу в Терминале
  • Поиск справочных страниц в терминале

Ассоциация с Terminal.app жестко запрограммирована. Вам необходимо создать свои собственные Сервисы, например, используя Automator и / или AppleScript, чтобы заменить их.


Если Терминал используется через его API-интерфейс AppleScript, во всех случаях невозможно просто заменить его на iTerm, поскольку их API-интерфейсы совершенно разные. Это часто требует значительных изменений в программах или скриптах, которые делают это.

55

Вы должны иметь возможность сделать iTerm.app своим терминалом по умолчанию, выбрав "Сделать по умолчанию" в строке меню.

Раскрывающееся меню Файл

В качестве альтернативы вы можете использовать сочетание клавиш.

+++\

6

Как уже упоминалось в комментариях выше, Go2Shell можно сказать использовать iTerm2

Чтобы открыть окно конфигурации, выполните следующие действия:

  1. Запустите вашу любимую терминальную программу.
  2. Введите: open -a Go2Shell --args config
  3. Нажмите [возврат].

http://zipzapmac.com/Go2Shell

4

Чтобы предоставить практическое резюме существующих ответов:

  • macOS (OS X) НЕ поддерживает концепцию терминала по умолчанию.

    • См . Полезный ответ Даниэля Бека для справочной информации.
    • iTerm2 сам по себе вводит в заблуждение пункт меню под названием iTerm2 > Make iTerm2 Default Term (как представлено в ответе halfcube), но единственное, что нужно сделать, это заставить Finder запускать скрипты оболочки, открытые из него в iTerm2 (точнее, он назначает роль shell из UTI public.unix-executable для Finder) - это не типичный случай использования.
  • Поэтому приложения должны быть настроены ИНДИВИДУАЛЬНО для использования iTerm2 вместо Терминала, ЕСЛИ они поддерживают это:

    • В то время как приложение Go2Shell , которое вызвало вопрос OP, имеет диалоговое окно конфигурации, которое поддерживает iTerm2 (open -a Go2Shell -- config , похоже , что приложение не работает вообще с OSX 10.11.6 (при нажатии кнопки на панели инструментов с v2.23, единственное, что когда-либо происходит, - это то, что появляется диалоговое окно конфигурации, даже после нажатия Install Go2Shell to Finder).
    • Платная альтернатива, упомянутая OP-приложением ShellTo также в принципе поддерживает iTerm2, но на момент написания этой статьи не поддерживает текущую версию v3+.
4

Как указано в блоге ma.ttias.be , iTerm2 может зарегистрироваться в качестве терминала по умолчанию для некоторых распространенных схем URL-адресов: вам просто нужно проверить соответствующие схемы в самом низу вкладки «Общие» в текущем профиле из настроек iTerm.

iTerm> Настройки> Профили> Général> Схемы URL

0

Эта тема была для OS X Lion, и, кажется, устарела для El Capitan. Тем не менее, поскольку я нашел эту страницу, когда искал способ запустить iTerm вместо терминала в XCode, я решил опубликовать свое решение.

К сожалению, это не бесплатно, но это можно сделать с помощью системного приложения Magic Launch . Используя этот инструмент, я поставил Iterm в качестве приложения по умолчанию для .term .terminal и .command расширения. Это помогло мне.

Надеюсь это поможет!

0

То, что @gef отправил, было частично тем, что я сделал. Тем не менее, это то, что сработало для меня.

Откройте приложение терминала:

open -a Go2Shell --args config

Затем в опциях скопируйте следующий код, вам может потребоваться щелкнуть правой кнопкой мыши и вставить, поскольку команды ограничены:

cd %PATH%;clear;pwd;open -a iTerm.app .;killall Terminal;

И вуаля, приложение терминала должно открыться, дать новый параметр iTerm, а затем снова закрыться.

0

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

Шаги для создания сценария

  • Vi /Applications/run_iterm.sh
  • Скопируйте следующие команды и вставьте их в скрипт

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Сохранить файл

  • Chmod 755 /Applications/run_iterm.sh

Теперь наш скрипт готов, последний шаг - запускать его при каждом открытии приложения терминала. Запустить терминал. Перейти к настройкам -> Общие -> открыть оболочку с помощью -> выбрать команду "Полный путь" и вставить /Applications/./run_iterm. sh внутри учебника наконец закройте приложение терминала и запустите его снова введите описание изображения здесь

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