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

44

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

$ open ssh://machine.example.com

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

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

Ответы:

54

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

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

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

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

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

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

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

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