Définition de iTerm2 comme terminal par défaut (OSX Lion)

60

Je voudrais définir iTerm2 au lieu de terminal.app comme terminal par défaut.

Go2Shell, par exemple, vous permet d'ouvrir un terminal dans le répertoire actuel du Finder. Je veux pouvoir utiliser iterm2 instad de terminal.app.

Je n'ai trouvé aucune réponse sur la documentation officielle.

Merci de votre aide.

Mise à jour: ShellTo est une excellente alternative à Go2Shell et prend en charge iTerm2.

politicus
la source
Terminal par défaut pour quoi? Vous venez de lancer celui que vous voulez et laissez l'autre seul ...? S'il vous plaît expliquer plus en détail ce que vous demandez.
Daniel Beck
1
Présentation de Go2Shell sur l'App Store: Ajout du support de iTerm, iTerm 2 et même xterm :) . Il suffit de regarder ses préférences. En outre, au moins pour Terminal.app, cette fonctionnalité fait partie du système d'exploitation depuis six mois, voir ici (dernier élément).
Daniel Beck
Oh je ne l'ai pas vu. Ma faute!
Politicus

Réponses:

58

Terminal.appse déclare un gestionnaire de ssh, telnetet x-man-pageschémas d'URL.

Il enregistre également les extensions de fichier .term(sessions), .terminal(paramètres) .toolet .command(scripts), ainsi que lui-même en tant qu'éditeur / visualiseur pour celles-ci.

En dehors de cela, il n'y a pas de terminal par défaut sous OS X. Il s'agit simplement d'une application capable de gérer les schémas d'URL et les types de fichiers.


iTerm est capable de gérer tous ces éléments sauf le .term/ spécifique à Terminal.app .terminal.

Pour les types de fichiers, ouvrez simplement la boîte de dialogue Obtenir des informations et associez tous les fichiers de ce type à iTerm. Pour les modèles d'URL, vous pouvez télécharger et installer le volet Préférences Applications par défaut et modifier l'association à cet emplacement. Vous pouvez également l'utiliser comme méthode alternative pour modifier les associations de types de fichiers.

entrez la description de l'image ici


Tous ces paramètres sont spécifiques à l'utilisateur et stockés dans ~/Library/Preferences/com.apple.LaunchServices.plist. Vous pouvez bien sûr l'éditer vous-même dans un éditeur approprié. C'est assez simple. Capture d'écran de Xcode 4 montrant le résultat de la modification x-man-pagedans le volet de préférences Applications par défaut :

entrez la description de l'image ici


Terminal.app fournit également les services suivants pour d'autres applications:

  • Nouveau terminal dans un dossier
  • Nouvel onglet Terminal dans le dossier
  • Ouvrir la page de manuel dans le terminal
  • Rechercher dans les pages de manuel de Terminal

L'association avec Terminal.app est codée en dur. Vous devez créer vos propres services, par exemple en utilisant Automator et / ou AppleScript pour les remplacer.


Si Terminal est utilisé via son API AppleScript, il n’ya aucun moyen de le remplacer par iTerm dans tous les cas, car leurs API sont très différentes. Cela nécessitera souvent des changements substantiels dans les programmes ou les scripts.

Daniel Beck
la source
2
Merci pour votre réponse incroyable. Clair, très instructif. Nouveau sur OSX, je ne connaissais pas les applications par défaut.
Politicus
Outil génial. Heureux que cela fonctionne toujours bien sous El Capitan.
Ifwdev
Oh mon Dieu, c'est vraiment utile. J'ai accidentellement supprimé Terminal.app (ou je l'ai tellement mal fait qu'il ne s'ouvrira pas) et cela résoudra le problème, et mes versions de React Native utilisent iterm jusqu'à présent, tout va bien, cognez sur du bois. THX: D
tidelake
64

Vous devriez pouvoir créer iTerm.appvotre terminal par défaut en sélectionnant "Définir par défaut" dans la barre de menus.

Menu déroulant

Sinon, vous pouvez utiliser un raccourci clavier.

+ + +\

demi-cube
la source
1
Cela ne semble pas fonctionner pour la plupart de mes tests. GitHub.app ouvre toujours Terminal et SublimeText également.
Fregante
4
@ bfred.it: Malheureusement, le nom de l'élément de menu est trompeur: la seule chose qu'il fait est d'exécuter des scripts shell ouverts du Finder dans iTerm2 plutôt que Terminal. Il ne causer magie des applications tierces telles que GoShell, GitHub, Alfred, ... à utiliser iTerm2, comme expliqué dans la réponse de Daniel Beck .
mklement0
Je pense que c'est la réponse la plus appropriée de nos jours ...
mecampbellsoup
7

Comme mentionné dans les commentaires ci-dessus, on peut dire à Go2Shell d'utiliser iTerm2

Pour ouvrir la fenêtre de configuration, suivez ces étapes:

  1. Lancez votre programme de terminal préféré.
  2. Entrez: open -a Go2Shell --args config
  3. Appuyez sur [retour].

entrez la description de l'image ici

http://zipzapmac.com/Go2Shell

gef
la source
5

Comme indiqué sur le blog ma.ttias.be , iTerm2 peut s’inscrire lui-même comme terminal par défaut pour certains modèles d’URL courants: il vous suffit de vérifier les modèles correspondants tout en bas de l’onglet Général du profil actuel à partir des préférences iTerm.

iTerm> Préférences> Profils> Général> Schémas d'URL

Loranger
la source
Le plus au point répondre à l'OMI.
Markus
4

Pour fournir un résumé pragmatique des réponses existantes :

  • macOS (OS X) NE supporte PAS le concept de terminal par défaut .

    • Voir la réponse utile de Daniel Beck pour des informations générales.
    • iTerm2elle-même propose un élément de menu nomméiTerm2 > Make iTerm2 Default Term (tel que présenté dans la réponse de halfcube ), mais la seule chose à faire est de faire en sorte que le Finder exécute les scripts shell ouverts dans iTerm2 (plus précisément, il attribue le shellrôle d'UTI public.unix-executableà Finder). pas un cas d'utilisation typique.
  • Par conséquent, les applications doivent être configurées INDIVIDUELLEMENT pour utiliser iTerm2 au lieu de Terminal, SI elles prennent en charge les éléments suivants :

    • Bien que l’ Go2Shellapplication qui posait la question du PO ait une boîte de dialogue de configuration qui prend en charge iTerm2 ( open -a Go2Shell -- configl’application ne semble pas fonctionner du tout à partir de OSX 10.11.6 (en cliquant sur le bouton de la barre d’outils à partir de la v2.23), la seule chose qui Ce qui se passe souvent, c’est que la boîte de dialogue de configuration s’affiche, même après avoir cliqué Install Go2Shell to Finder).
    • La solution payante mentionnée par OP - application ShellTo- prend également en charge iTerm2 en principe , mais à ce jour, cette version ne prend pas en charge la version actuelle , v3 +.
mklement0
la source
1

Ce que @gef a posté est en partie ce que j'ai fait. Cependant, c'est ce qui a fonctionné pour moi.

Ouvrez votre application de terminal:

open -a Go2Shell --args config

Ensuite, sur les options, copiez le code suivant, vous devrez peut-être cliquer avec le bouton droit de la souris et coller car les commandes sont restreintes:

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

Et voila, l'application du terminal devrait s'ouvrir donner un nouveau paramètre à iTerm, puis se refermer.

Jan
la source
0

Ce fil était pour OS X Lion et semble périmé pour El Capitan. Cependant, depuis que j'ai trouvé cette page alors que je cherchais un moyen de faire en sorte que XCode lance iTerm au lieu de Terminal, je pensais publier ma solution.

Ce n'est pas gratuit, malheureusement, mais cela peut être fait en utilisant l' application de préférences système Magic Launch . En utilisant cet outil, je iTerm mis comme application par défaut pour .term, .terminalet les .commandextensions. Cela a fait l'affaire pour mes besoins.

J'espère que cela t'aides!

Erik
la source
Pouvez-vous développer le fonctionnement de ce logiciel? Veuillez voir Comment recommander un logiciel .
Burgi
Voulez-vous dire que ma réponse ne fonctionne plus pour El Capitan? Pourriez-vous clarifier?
Daniel Beck
0

Vous pouvez exécuter n’importe quelle commande une fois que l’application terminal est exécutée. Pour exécuter iterm2 à la place de l’application terminal, vous pouvez créer un script qui s’exécute à chaque ouverture du terminal. Ce script doit ouvrir iterm et kill terminal app.

Étapes pour créer un script

  • Vi / Applications / run_iterm.sh
  • Copiez les commandes suivantes et collez-les dans le script

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Sauvegarder le fichier

  • Chmod 755 /Applications/run_iterm.sh

Maintenant que notre script est prêt, la dernière étape consiste à l'exécuter à chaque fois que l'application du terminal est ouverte Exécuter le terminal Allez dans les préférences -> Général -> shell ouvert avec -> sélectionnez la commande "chemin complet" et collez /Applications/./run_iterm. sh à l'intérieur du manuel, fermez enfin l'application du terminal et relancez-la, entrez la description de l'image ici

Mohammed SA Kwaik
la source
1
Sensationnel; configurer un programme pour qu'il se tue automatiquement à chaque démarrage. Qu'est ce qui pourrait aller mal? :-( ⁠
Scott