Legen Sie iTerm2 als ssh: // URL-Handler fest


44

Gegenwärtig ist Terminal für die Verarbeitung von SSH-URLs eingestellt. Zum Beispiel, wenn ich tue:

$ open ssh://machine.example.com

Dann wird eine neue SSH-Sitzung im Terminal gestartet. Ich möchte, dass diese stattdessen in iTerm2 geöffnet werden. Wie kann ich macOS anweisen, iTerm2 zum Verarbeiten von ssh: // URLs anstelle von Terminal zu verwenden?


iTerm kann dies jetzt standardmäßig, aber wenn Sie erweiterte Funktionen unterstützen möchten, zeigen Sie Ihr Interesse an gitlab.com/gnachman/iterm2/issues/5813 ticket.
Sorin

Antworten:


54

iTerm2 kann sich selbst als Standard-SSH-Handler festlegen. Gehen Sie in den Einstellungen zu "Profile". Erstellen Sie ein Profil für SSH-Sitzungen oder wählen Sie eine vorhandene aus. Im Abschnitt "Allgemein" unten rechts können Sie auswählen, welches URL-Schema von diesem Profil verarbeitet werden soll:

Screenshot der iTerm2-Einstellungen, Abschnitt "Allgemein" im Bereich "Profile"

Wählen Sie SSH. iTerm2 fragt, ob es sich als Standard-SSH-Handler einrichten soll:

Screenshot von iTerm2, der um Bestätigung bittet, um sich als Standard-SSH-Handler einzurichten

Bestätigen und fertig. Viel Spaß beim Remoting.


OK, jetzt muss ich herausfinden, wie iTerm ein neues Fenster anstelle eines neuen Tabs öffnet, aber das ist eine andere Frage ...
Lorin Hochstein

1
Die Benutzeroberfläche ist immer noch dieselbe, aber die Änderungen scheinen für mich nie in Kraft zu treten. Sollte dies immer noch die richtige Antwort sein oder handelt es sich um einen Fehler in der aktuellen Version (v2.1.4)?
Jeff

2
Ähnlich wie bei @Jeff habe ich die Erfahrung gemacht, dass die Änderung nur für eine sehr kurze Zeit wirksam wird (wenn überhaupt). Dann übernimmt Terminal wieder.
Stefanfoulis

1
Sie müssen auch Prefs> Profiles> General> Command auf setzen $$.
User2551

Ich hatte das selbe problem von @stefanfoulis; Dieses Update hat funktioniert. Dies ist im Grunde genommen, um die LaunchServices-Datenbank zurückzusetzen:/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user
Tommaso,

0

Stellen Sie sicher, dass Sie die iTerm2-App in den Anwendungsordner gezogen haben. Wenn Sie iTerm2 als SSH-Terminal-Handler festlegen, wird es weder gespeichert noch verwendet. Es scheint, dass beim Aufrufen des Handlers nur Anwendungen angezeigt werden. Wird es dort nicht gefunden, wird standardmäßig der System-Handler verwendet. Ich habe es von Downloads ausgeführt und es würde niemals den SSH-Handler retten. Wenn ich es zu Applications verschob, öffnete es jedes Mal iTerm2 für den SSH-Handler.


Bei El Capitan scheint das nicht zu funktionieren. Ich habe iTerm unter / Programme /, aber ich muss zweimal oder öfter auf das URL-Schema klicken, um sogar die Dialogaufforderung zu erhalten, in der ich gefragt werde, ob ich iTerm als Standard festlegen möchte. Dann funktioniert es genau einmal, bevor ich wieder in Terminal öffne.
Iandouglas

@iandouglas Ich habe das Sam-Problem. Hast du eine Lösung gefunden?
J Spen

@ j-spen Ich hatte es kürzlich nicht ausprobiert, sondern nur $ open ssh://hostname.comhier bei der Arbeit ausprobiert und es blieb in iTerm2. Vielleicht ist es ein Fehler, den sie behoben haben? Ich bin auf iTerm2 Build 3.0.10 auf El Capitan und es scheint jetzt für mich in Ordnung zu funktionieren. Ich habe sogar einen href-Link auf einer Seite zu "ssh: //username@hostname.com" erstellt und Chrome hat mich aufgefordert, die zugehörige App zu öffnen, und es wurde zu iTerm 2.
iandouglas,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.