Установите iTerm2 в качестве обработчика URL-адреса ssh://

В настоящее время Терминал настроен на обработку URL-адресов SSH. Например, если я делаю:

$ open ssh://machine.example.com

Затем он создаст новый сеанс SSH в терминале. Вместо этого я бы хотел, чтобы они открывались в iTerm2. Как указать macOS использовать iTerm2 для обработки URL-адресов ssh:// вместо терминала?

iTerm теперь может сделать это по умолчанию, но если вы хотите поддерживать более продвинутую функциональность, проявите интерес к билету gitlab.com/gnachman/iterm2/issues/5813 .

Ответы (2)

iTerm2 может установить себя в качестве обработчика SSH по умолчанию. В его настройках перейдите в «Профили». Создайте профиль для обработки сеансов SSH или выберите существующий. В разделе «Общие» внизу справа вы можете выбрать, какую схему URL должен обрабатывать этот профиль:

Снимок экрана настроек iTerm2, раздел «Общие» панели «Профили»

Выберите SSH. iTerm2 спросит, должен ли он установить себя в качестве обработчика SSH по умолчанию:

Снимок экрана: iTerm2 запрашивает подтверждение, чтобы установить себя в качестве обработчика SSH по умолчанию.

Подтвердите, и все готово. Удачного удаленного взаимодействия.

Хорошо, теперь мне нужно выяснить, как заставить iTerm открывать новое окно вместо новой вкладки, но это отдельный вопрос...
Интерфейс остался прежним, но на меня изменения не вступают в силу. Должен ли это быть правильный ответ или это ошибка в текущей версии (v2.1.4)?
Подобно @Jeff, я чувствую, что изменение вступает в силу только в течение очень короткого времени (если вообще). Затем Терминал снова вступает во владение.
Вам также необходимо установить Prefs>Profiles>General>Command на $$.
У меня была та же проблема, что и у @stefanfoulis; это исправление сработало, что в основном для сброса базы данных LaunchServices:/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user

Убедитесь, что вы перетащили приложение iTerm2 в папку «Приложения». Если вы установите iTerm2 в качестве обработчика терминала SSH, он не будет сохранять и использовать его. Похоже, что когда вы вызываете обработчик, он просматривает только Applications. Если он не найдет его там, по умолчанию будет использоваться системный обработчик. Я запускал его из загрузок, и он никогда не сохранял обработчик SSH. Когда я переместил его в Приложения, он каждый раз открывает iTerm2 для обработчика SSH.

Кажется, это не работает на Эль-Капитане. У меня есть iTerm в /Applications/, но мне нужно дважды или более щелкнуть по схеме URL-адресов, чтобы даже получить диалоговое окно с просьбой установить iTerm по умолчанию, затем он работает ровно один раз, прежде чем вернуться к открытию в Терминале.
@iandouglas У меня проблема с Сэмом. Вы нашли исправление?
@ j-spen Я не пробовал это недавно, но только что попробовал $ open ssh://hostname.comздесь, на работе, и он остался в iTerm2. Может быть, это ошибка, которую они исправили? Я использую iTerm2 build 3.0.10 на El Capitan, и теперь у меня все работает нормально. Я даже сделал ссылку href на странице, чтобы перейти к «ssh://username@hostname.com», и Chrome предложил мне открыть соответствующее приложение, и оно перешло к iTerm 2.