ITerm2 als Standardterminal festlegen (OSX Lion)

60

Ich möchte iTerm2 anstelle von terminal.app als Standardterminal festlegen.

Mit Go2Shell können Sie beispielsweise ein Terminal für das aktuelle Verzeichnis im Finder öffnen. Ich möchte iterm2 anstelle von terminal.app verwenden können.

Ich habe auf der offiziellen Dokumentation keine Antwort gefunden.

Danke für Ihre Hilfe.

Update: ShellTo ist eine großartige Alternative zu Go2Shell und unterstützt iTerm2

politicus
quelle
Standardterminal für was? Sie starten einfach das gewünschte und lassen das andere in Ruhe ...? Bitte erläutern Sie genauer, was Sie fragen.
Daniel Beck
1
Go2Shell-Klappentext aus dem App Store: Unterstützung für iTerm, iTerm 2 und sogar xterm hinzugefügt :) . Schauen Sie sich nur die Einstellungen an. Zumindest für Terminal.app ist diese Funktion seit einem halben Jahr Teil des Betriebssystems, siehe hier (letzter Punkt).
Daniel Beck
Oh, ich habe es nicht gesehen. Mein Fehler!
Politicus

Antworten:

57

Terminal.apperklärt sich einen Handler von der ssh, telnetund x-man-pageURL - Schemata.

Es registriert auch die Dateierweiterungen .term(Sitzungen), .terminal(Einstellungen) .toolund .command(Skripte) und sich selbst als Editor / Viewer für diese.

Ansonsten gibt es in OS X kein Standardterminal. Es ist nur eine Anwendung, die URL-Schemata und Dateitypen verarbeiten kann.


iTerm ist in der Lage, alle diese mit Ausnahme der Terminal.app spezifischen .term/ zu verarbeiten .terminal.

Öffnen Sie für die Dateitypen einfach das Dialogfeld "Informationen" und ordnen Sie alle Dateien dieser Art iTerm zu. Für die URL-Schemata können Sie die Standard-Apps des Einstellungsbereichs herunterladen, installieren und die Zuordnung dort ändern. Sie können es auch als alternative Methode zum Ändern der Dateitypzuordnungen verwenden.

Bildbeschreibung hier eingeben


Alle diese Einstellungen sind benutzerspezifisch und werden in gespeichert ~/Library/Preferences/com.apple.LaunchServices.plist. Sie können es natürlich auch selbst in einem geeigneten Editor bearbeiten. Es ist ziemlich einfach. Screenshot von Xcode 4 mit dem Ergebnis der Änderung x-man-pageim Einstellungsbereich " Standard-Apps" :

Bildbeschreibung hier eingeben


Terminal.app bietet auch die folgenden Dienste für andere Anwendungen:

  • Neues Terminal im Ordner
  • Neue Registerkarte "Terminal" im Ordner
  • Manpage im Terminal öffnen
  • Durchsuchen Sie die Manpages im Terminal

Die Verknüpfung mit Terminal.app ist fest programmiert. Sie müssen Ihre eigenen Dienste erstellen, z. B. mit Automator und / oder AppleScript, um diese zu ersetzen.


Wenn Terminal über die AppleScript-API verwendet wird, kann es auf keinen Fall durch iTerm ersetzt werden, da die APIs sehr unterschiedlich sind. Dies erfordert häufig wesentliche Änderungen an den Programmen oder Skripten, die dies tun.

Daniel Beck
quelle
2
Vielen Dank für Ihre tolle Antwort. Klar, sehr informativ. Neu in OSX, ich kannte keine Standard-Apps.
Politicus
Geniales Werkzeug. Ich bin froh, dass es unter El Capitan immer noch gut funktioniert.
Ifwdev
Oh Gott, das ist so hilfreich. Ich habe aus Versehen Terminal.app gelöscht (oder es so vermasselt, dass es sich nicht öffnen lässt) und dies funktioniert, um das zu beheben, und meine React Native-Builds verwenden iterm so weit, so gut, klopfen Sie auf Holz. THX: D
Tidelake
63

Sie sollten in der Lage sein, iTerm.appIhr Standardterminal zu erstellen, indem Sie in der Menüleiste "Als Standard" auswählen.

Dropdown-Menü "Datei"

Alternativ können Sie eine Tastenkombination verwenden.

+ + +\

Halbwürfel
quelle
1
Es scheint für die meisten meiner Tests nicht zu funktionieren. GitHub.app öffnet weiterhin Terminal und SublimeText.
Fregante
4
@ bfred.it: Leider ist der Name des Menüelements irreführend: Das einzige, was es tut, ist, Shell-Skripte auszuführen, die in Finder in iTerm2 und nicht in Terminal geöffnet wurden . Es wird nicht auf magische Weise dazu führen, dass Anwendungen von Drittanbietern wie GoShell, GitHub, Alfred, ... iTerm2 verwenden, wie in Daniel Becks Antwort erläutert .
mklement0
Ich denke, dies ist heutzutage die am besten geeignete Antwort ...
mecampbellsoup
7

Wie in den obigen Kommentaren erwähnt, kann Go2Shell angewiesen werden, iTerm2 zu verwenden

Gehen Sie folgendermaßen vor, um das Konfigurationsfenster zu öffnen:

  1. Starten Sie Ihr bevorzugtes Terminalprogramm.
  2. Geben Sie Folgendes ein : open -a Go2Shell --args config
  3. Drücken Sie die Eingabetaste.

Bildbeschreibung hier eingeben

http://zipzapmac.com/Go2Shell

gef
quelle
5

Wie auf dem gefundenen ma.ttias.be Blog, für einige gängigen URL - Schemata iTerm2 kann sich als Standard - Terminal registrieren: Sie müssen nur am unteren Ende von iTerm Vorlieben im aktuellen Profil der Registerkarte Allgemein die entsprechenden Regelungen prüfen

iTerm> Präferenzen> Profile> Allgemein> URL-Schemata

Loranger
quelle
Die meisten antworten auf den Punkt IMO.
Markus
4

So erstellen Sie eine pragmatische Zusammenfassung der vorhandenen Antworten :

  • macOS (OS X) unterstützt NICHT das Konzept eines Standardterminals .

    • Hintergrundinformationen finden Sie in Daniel Becks hilfreicher Antwort .
    • iTerm2selbst bietet etwas irreführend einen Menüeintrag mit dem NameniTerm2 > Make iTerm2 Default Term (wie in der Antwort von halfcube angegeben ), aber das Einzige, was dazu führt, dass Finder Shell-Skripte ausführt, die in iTerm2 geöffnet wurden (genauer gesagt, es weist Finder die shellRolle von UTI public.unix-executablezu) kein typischer Anwendungsfall.
  • Daher müssen Anwendungen INDIVIDUELL für die Verwendung von iTerm2 anstelle von Terminal konfiguriert werden , sofern sie Folgendes unterstützen :

    • Während die Go2ShellApp , die die Frage des OP gestellt hat, einen Konfigurationsdialog hat, der iTerm2 (unterstützt, scheint open -a Go2Shell -- configdie Anwendung ab OSX 10.11.6 überhaupt nicht mehr zu funktionieren (beim Klicken auf die Symbolleisten-Schaltfläche ab v2.23, das einzige, was dies ist) Es kommt jedoch immer vor, dass der Konfigurationsdialog auch nach dem Klicken auf erscheint Install Go2Shell to Finder.
    • Die von der OP-Anwendung erwähnte kostenpflichtige Alternative ShellTounterstützt im Prinzip auch iTerm2 , aber zum jetzigen Zeitpunkt wird die aktuelle Version v3 + nicht unterstützt .
mklement0
quelle
1

Was @gef gepostet hat, war teilweise das, was ich getan habe. Dies hat jedoch bei mir funktioniert.

Öffnen Sie Ihre Terminal-App:

open -a Go2Shell --args config

Kopieren Sie dann in den Optionen den folgenden Code. Möglicherweise müssen Sie mit der rechten Maustaste klicken und einfügen, da die Befehle eingeschränkt sind:

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

Und voila, die Terminal-App sollte iTerm einen neuen Parameter geben und sich dann wieder schließen.

Jan
quelle
0

Dieser Thread war für OS X Lion und scheint für El Capitan veraltet zu sein. Da ich diese Seite jedoch gefunden habe, als ich nach einer Möglichkeit gesucht habe, XCode anstelle von Terminal auf iTerm zu bringen, dachte ich, ich würde meine Lösung veröffentlichen.

Es ist leider nicht kostenlos, kann aber mit der Magic Launch- Systemeinstellungs-App durchgeführt werden. Mit Hilfe dieses Werkzeugs, habe ich iTerm als Standard - App für .term, .terminalund .commandErweiterungen. Das war der Trick für meine Bedürfnisse.

Hoffe das hilft!

Erik
quelle
Können Sie die Funktionsweise dieser Software erläutern? Weitere Informationen finden Sie unter So empfehlen Sie Software .
Burgi
Wollen Sie damit sagen, dass meine Antwort für El Capitan nicht mehr funktioniert? Könnten Sie das klarstellen?
Daniel Beck
0

Sie können jeden Befehl ausführen, sobald die Terminalanwendung ausgeführt wird. Um iterm2 anstelle der Terminalanwendung auszuführen, können Sie ein Skript erstellen, das bei jedem Öffnen des Terminals ausgeführt wird. Dieses Skript sollte iterm öffnen und die Terminalanwendung beenden

Schritte zum Erstellen eines Skripts

  • Vi /Applications/run_iterm.sh
  • Kopieren Sie die folgenden Befehle und fügen Sie sie in den Scrip ein

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Speicher die Datei

  • Chmod 755 /Applications/run_iterm.sh

Jetzt ist unser Skript fertig. Der letzte Schritt besteht darin, es bei jedem Öffnen der Terminalanwendung auszuführen. Terminal ausführen Gehen Sie zu Einstellungen -> Allgemein -> Shell öffnen mit -> wählen Sie den Befehl "Pfad vervollständigen" und fügen Sie /Applications/./run_iterm ein. sh innerhalb des Lehrbuchs schließen Sie schließlich die Terminal-Anwendung und führen Sie sie erneut aus. Geben Sie hier die Bildbeschreibung ein

Mohammed SA Kwaik
quelle
1
Beeindruckend; Ein Programm so konfigurieren, dass es sich beim Start automatisch selbst beendet. Was könnte möglicherweise falsch laufen? :-( ⁠
Scott