Ustaw iTerm2 jako moduł obsługi adresów URL ssh: //

44

Obecnie Terminal jest skonfigurowany do obsługi adresów URL SSH. Na przykład, jeśli zrobię:

$ open ssh://machine.example.com

Następnie pojawi się nowa sesja SSH w terminalu. Zamiast tego chciałbym, aby były one otwierane w iTerm2. Jak powiedzieć systemowi macOS, aby używał iTerm2 do obsługi adresów URL ssh: // zamiast terminala?

Lorin Hochstein
źródło
iTerm może to zrobić teraz domyślnie, ale jeśli chcesz obsługiwać bardziej zaawansowane funkcje, pokaż swoje zainteresowanie biletem gitlab.com/gnachman/iterm2/issues/5813 .
sorin

Odpowiedzi:

54

iTerm2 może ustawić się jako domyślny moduł obsługi SSH. W jego preferencjach przejdź do „Profile”. Utwórz profil do obsługi sesji SSH lub wybierz istniejący. W sekcji „Ogólne” w prawym dolnym rogu możesz wybrać schemat adresów URL, który powinien obsługiwać ten profil:

Zrzut ekranu preferencji iTerm2, sekcja Ogólne panelu Profile

Wybierz SSH. iTerm2 zapyta, czy ma się ustawić jako domyślny moduł obsługi SSH:

Zrzut ekranu z iTerm2 z prośbą o potwierdzenie, aby ustawić się jako domyślny moduł obsługi SSH

Potwierdź i gotowe. Szczęśliwego zdalnego.

kopischke
źródło
OK, teraz muszę wymyślić, jak przekonać iTerm do otwarcia nowego okna zamiast nowej karty, ale to osobne pytanie ...
Lorin Hochstein
1
Interfejs jest nadal taki sam, ale zmiany nigdy nie wydają mi się skuteczne. Czy to powinna być poprawna odpowiedź, czy jest to błąd w obecnej wersji (v2.1.4)?
Jeff
2
Podobnie jak w @Jeff, zmiana ta działa tylko przez bardzo krótki czas (jeśli w ogóle). Następnie Terminal ponownie przejmuje kontrolę.
stefanfoulis
1
Musisz także ustawić Prefs> Profile> General> Command na $$.
user2551,
Miałem ten sam problem z @stefanfoulis; ta poprawka zadziałała, co w zasadzie polega na zresetowaniu bazy danych LaunchServices:/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user
Tommaso
0

Pamiętaj, aby przeciągnąć aplikację iTerm2 do folderu Aplikacje. Jeśli ustawisz iTerm2 jako moduł obsługi terminali SSH, nie będzie go zapisywać ani używać. Wygląda na to, że po wywołaniu modułu obsługi wygląda on tylko w aplikacjach. Jeśli go tam nie znajdzie, domyślnie będzie to program obsługi systemu. Uruchomiłem go z Pobranych i nigdy nie uratuje on obsługi SSH. Kiedy przeniosłem go do aplikacji, za każdym razem otwiera iTerm2 dla obsługi SSH.

Zampolit Borys Błochajew
źródło
To nie wydaje się działać na El Capitan. Mam iTerm w obszarze / Aplikacje /, ale muszę kliknąć schemat URL dwa razy lub więcej, aby otrzymać nawet okno dialogowe z prośbą o ustawienie iTerm jako domyślnego, a następnie działa dokładnie raz przed powrotem do otwierania w Terminalu.
iandouglas
@ iandouglas Mam problem z Samem. Czy znalazłeś rozwiązanie?
J Spen,
@ j-spen Nie próbowałem tego ostatnio, ale po prostu próbowałem $ open ssh://hostname.comtutaj w pracy i pozostało w iTerm2. Być może naprawili błąd? Korzystam z iTerm2 w wersji 3.0.10 na El Capitan i wydaje mi się, że teraz działa dobrze. Udało mi się nawet utworzyć link do strony na stronie, aby przejść do „ssh: //[email protected]”, a Chrome poprosił mnie o otwarcie powiązanej aplikacji i trafił do iTerm 2.
iandouglas