Встановлення iTerm2 як термінал за замовчуванням (OSX Lion)


61

Я хотів би встановити iTerm2 замість terminal.app як мій термінал за замовчуванням.

Наприклад, Go2Shell дозволяє відкрити термінал для поточного каталогу в Finder. Я хочу, щоб я міг використовувати iterm2 instad of terminal.app.

Я не знайшов жодної відповіді в офіційній документації.

Спасибі за вашу допомогу.

Оновлення: ShellTo є чудовою альтернативою Go2Shell та підтримує iTerm2


Термінал за замовчуванням для чого? Ви просто запускаєте ту, яку хочете, а іншу залишаєте в спокої ...? Будь ласка, поясніть більш детально, що ви просите.
Даніель Бек

1
Розмиття Go2Shell з магазину додатків: Додана підтримка iTerm, iTerm 2 і навіть xterm :) . Просто погляньте на його уподобання. Також, принаймні для Terminal.app, ця функція є частиною ОС вже півроку, дивіться тут (останній пункт).
Даніель Бек

О, я цього не бачив. Моя провина!
politicus

Відповіді:


58

Terminal.appоголошує себе обробник з ssh, telnetі x-man-pageсхеми URL.

Він також реєструє розширення файлів .term(сеанси), .terminal(налаштування) .toolта .command(сценарії) та себе редактором / переглядачем.

Крім цього, в OS X немає терміналу за замовчуванням . Це просто програма, яка може обробляти схеми URL-адрес і типи файлів.


iTerm здатний обробляти все це, крім конкретного Terminal.app .term/ .terminal.

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

введіть тут опис зображення


Усі ці налаштування залежать від користувачів і зберігаються в ~/Library/Preferences/com.apple.LaunchServices.plist. Ви, звичайно, можете самостійно відредагувати його у відповідному редакторі. Це досить просто. Знімок екрану Xcode 4 показує результат зміни x-man-pageв По замовчуванням Apps панелі налаштувань:

введіть тут опис зображення


Terminal.app також надає наступні Послуги для інших програм:

  • Новий термінал у папці
  • Нова вкладка терміналу в папці
  • Відкрити сторінку чоловіка в Терміналі
  • Шукайте чоловічі сторінки в Терміналі

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


Якщо Термінал використовується через API AppleScript, немає можливості просто замінити його iTerm у всіх випадках, оскільки їх API зовсім інші. Це часто потребує значних змін у програмах чи сценаріях, що роблять це.


2
Дякую за чудову відповідь. Чіткий, дуже інформативний. Новачок у OSX, я не знав додатків за замовчуванням.
politicus

Дивовижний інструмент. Радий, що все ще добре працює в Ель-Капітані.
ifwdev

О боже, це так корисно. Я випадково видалив Terminal.app (або накрутив його так погано, що він не відкриється), і це працює, щоб виправити це, і мої збірки React Native використовують iterm поки що так добре, стукають по дереву. THX: D
приплив

64

Ви маєте змогу зробити iTerm.appтермінал за замовчуванням, вибравши "Зробити за замовчуванням" на панелі меню.

Меню файлів, що випадає

Можна також скористатися комбінацією клавіш.

+ + +\


1
Схоже, це не працює для більшості моїх тестів. GitHub.app як і раніше відкриває термінал, як і SublimeText.
fregante

5
@ bfred.it: На жаль, назва пункту меню вводить в оману: єдине, що він робить, - це запускати скрипти оболонки, відкриті з Finder в iTerm2, а не термінал. Це не призведе до того, що сторонні додатки, такі як GoShell, GitHub, Alfred, ... не будуть використовувати iTerm2, як пояснено у відповіді Деніела Бека .
mklement0

Я думаю, що це найбільш відповідна відповідь на сьогодні ...
mecampbellsoup

7

Як було сказано в коментарях вище, Go2Shell може бути запропоновано використовувати iTerm2

Щоб відкрити вікно конфігурації, виконайте наступні дії:

  1. Запустіть свою улюблену програму терміналу.
  2. Введіть: відкрити -a Go2Shell - конфігураціюаргів
  3. Натисніть [повернути].

введіть тут опис зображення

http://zipzapmac.com/Go2Shell


6

Як знайдено в блозі ma.ttias.be , iTerm2 може зареєструвати себе як термінал за замовчуванням для деяких загальних схем URL-адрес: Вам просто потрібно перевірити відповідні схеми в самому низу вкладки Загальні в поточному профілі з налаштувань iTerm.

iTerm> Примітки> Профілі> Загальні> Схеми URL-адрес


Більшість до речі відповідає ІМО.
Маркус

5

Щоб надати прагматичний підсумок існуючих відповідей :

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

    • Див . Корисну відповідь Даніеля Бека для довідкової інформації.
    • iTerm2сам дещо оманливо пропонує пункт меню з назвоюiTerm2 > Make iTerm2 Default Term (як це представлено у відповіді напівкуби ), але єдине, що потрібно зробити - це змусити Finder запускати скрипти оболонки, відкриті з нього в iTerm2 (точніше, він призначає Finder shellролі UTI public.unix-executable) не типовий випадок використання.
  • Тому програми повинні бути налаштовані ПОСЛІДНО, щоб використовувати iTerm2 замість терміналу, якщо вони підтримують :

    • Хоча Go2Shellпрограма, яка викликала запитання ОП, має діалогове вікно конфігурації, яке підтримує iTerm2 (здається open -a Go2Shell -- config, що програма зовсім не працює як OSX 10.11.6 (натискання кнопки на панелі інструментів станом на v2.23, єдине, що коли-небудь трапляється, що діалогове вікно налаштування з’являється навіть після натискання Install Go2Shell to Finder).
    • Платна альтернатива згадується Опи - додатки ShellTo- також підтримує iTerm2 в принципі , але з цим листом не підтримує поточну версію, v3 +.

1

Що розмістив @gef, було частково тим, що я зробив. Однак саме це працювало для мене.

Відкрийте свій термінальний додаток:

open -a Go2Shell --args config

Потім на параметри скопіюйте такий код, можливо, вам доведеться клацнути правою кнопкою миші та вставити, оскільки команди обмежені:

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

І вуаля, термінальна програма повинна відкрити, дати новий параметр iTerm, а потім знову закрити себе.


0

Цей потік був для OS X Lion і, здається, застарілий для El Capitan. Однак, оскільки я знайшов цю сторінку, шукаючи спосіб запустити XCode запуск iTerm замість терміналу, я подумав, що опублікую своє рішення.

На жаль, це не безкоштовно, але це можна зробити за допомогою програми переваг системи Magic Launch . Використовуючи цей інструмент, я поставив Iterm в якості додатку за замовчуванням .term, .terminalі .commandрозширень. Це зробило трюк для моїх потреб.

Сподіваюся, це допомагає!


Чи можете ви розширити, як працює це програмне забезпечення? Прочитайте, як рекомендувати програмне забезпечення .
Бургі

Ти кажеш, моя відповідь більше не працює для Ель-Капітана? Не могли б ви уточнити?
Даніель Бек

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 всередині підручника, нарешті, закрийте термінальну програму та запустіть її знову введіть тут опис зображення


1
Ого; налаштування програми для автоматичного вбивства при кожному її запуску. Що може піти не так? :-( ⁠
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.