Configurar iTerm2 como terminal predeterminado (OSX Lion)

61

Me gustaría establecer iTerm2 en lugar de terminal.app como mi terminal predeterminado.

Go2Shell, por ejemplo, le permite abrir una terminal en el directorio actual en Finder. Quiero poder usar iterm2 instad de terminal.app.

No encontré ninguna respuesta en la documentación oficial.

Gracias por tu ayuda.

Actualización: ShellTo es una gran alternativa a Go2Shell y es compatible con iTerm2

politicus
fuente
Terminal predeterminado para qué? ¿Simplemente lanzas el que quieres y dejas el otro solo ...? Por favor explique con más detalle lo que está preguntando.
Daniel Beck
1
Difusión de Go2Shell desde la tienda de aplicaciones: soporte agregado de iTerm, iTerm 2 e incluso xterm :) . Solo eche un vistazo a sus preferencias. Además, al menos para Terminal.app, esta característica ha sido parte del sistema operativo durante medio año, consulte aquí (último elemento).
Daniel Beck
Oh, no lo vi. ¡Mi culpa!
politicus

Respuestas:

58

Terminal.appse declara un controlador del ssh, telnety x-man-pageesquemas de URL.

También registra las extensiones de archivo .term(sesiones), .terminal(configuración) .tooly .command(secuencias de comandos), y en sí mismo como editor / visor de estos.

Aparte de eso, no hay una terminal predeterminada en OS X. Es solo una aplicación que puede manejar esquemas de URL y tipos de archivos.


iTerm es capaz de manejar todo esto excepto el Terminal.app específico .term/ .terminal.

Para los tipos de archivo, simplemente abra el cuadro de diálogo Obtener información y asocie todos los archivos de este tipo con iTerm. Para los esquemas de URL, puede descargar e instalar las aplicaciones predeterminadas del panel de preferencias y cambiar la asociación allí. También puede usarlo como un método alternativo para cambiar las asociaciones de tipo de archivo.

ingrese la descripción de la imagen aquí


Todas estas configuraciones son específicas del usuario y se almacenan en ~/Library/Preferences/com.apple.LaunchServices.plist. Por supuesto, puede editarlo usted mismo en un editor adecuado. Es bastante sencillo. Captura de pantalla de Xcode 4 que muestra el resultado del cambio x-man-pageen el panel de preferencias de Aplicaciones predeterminadas :

ingrese la descripción de la imagen aquí


Terminal.app también proporciona los siguientes Servicios para otras aplicaciones:

  • Nueva terminal en la carpeta
  • Nueva pestaña de terminal en la carpeta
  • Abrir página de manual en Terminal
  • Buscar páginas man en Terminal

La asociación con Terminal.app está codificada. Necesita crear sus propios Servicios, por ejemplo, usando Automator y / o AppleScript para reemplazarlos.


Si se usa Terminal a través de su API AppleScript, no hay forma de reemplazarlo con iTerm en todos los casos, ya que sus API son bastante diferentes. Esto a menudo requerirá cambios sustanciales en los programas o scripts que lo hagan.

Daniel Beck
fuente
2
Gracias por tu asombrosa respuesta. Claro, muy informativo. Nuevo en OSX, no conocía las aplicaciones predeterminadas.
politicus
Impresionante herramienta. Me alegro de que todavía funcione bien bajo El Capitán.
ifwdev
Oh Dios, esto es muy útil. Accidentalmente eliminé Terminal.app (o lo arruiné tanto que no se abrirá) y esto funciona para solucionarlo, y mis compilaciones de React Native están usando iterm hasta ahora muy bien, toco madera. THX: D
marea
64

Debería poder crear iTerm.appsu terminal predeterminado seleccionando "Establecer predeterminado" en la barra de menú.

Menú desplegable de archivo

Alternativamente, puede usar un atajo de teclado.

+ + +\

medio cubo
fuente
1
No parece funcionar para la mayoría de mis pruebas. GitHub.app todavía abre Terminal y también lo hace SublimeText.
Fregante
55
@ bfred.it: Lamentablemente, el nombre del elemento del menú es engañoso: lo único que hace es ejecutar scripts de shell abiertos desde Finder en iTerm2 en lugar de Terminal. Será no mágicamente hacer que las aplicaciones de terceros, tales como GoShell, GitHub, Alfred, ... para usar iTerm2, como se explica en la respuesta de Daniel Beck .
mklement0
Creo que esta es la respuesta más apropiada en la actualidad ...
mecampbellsoup
7

Como se mencionó en los comentarios anteriores, se le puede decir a Go2Shell que use iTerm2

Para abrir la ventana de configuración, siga estos pasos:

  1. Enciende tu programa de terminal favorito.
  2. Ingrese: abrir -a Go2Shell --args config
  3. Pulse Retorno].

ingrese la descripción de la imagen aquí

http://zipzapmac.com/Go2Shell

gef
fuente
6

Como se encuentra en el blog ma.ttias.be , iTerm2 puede registrarse como el terminal predeterminado para algunos esquemas de URL comunes: solo tiene que verificar los esquemas correspondientes en la parte inferior de la pestaña General en el Perfil actual desde las preferencias de iTerm

iTerm> Preferencias> Perfiles> General> Esquemas de URL

prestamista
fuente
La mayoría al punto responde IMO.
markus
5

Para proporcionar un resumen pragmático de las respuestas existentes :

  • macOS (OS X) NO admite el concepto de terminal predeterminado .

    • Consulte la útil respuesta de Daniel Beck para obtener información general.
    • iTerm2en sí mismo, de manera algo engañosa, ofrece un elemento de menú llamadoiTerm2 > Make iTerm2 Default Term (como se presenta en la respuesta de halfcube ), pero lo único que hace es hacer que Finder ejecute scripts de shell abiertos en iTerm2 (más específicamente, asigna el shellrol de UTI public.unix-executableal Finder), que es No es un caso de uso típico.
  • Por lo tanto, las aplicaciones deben configurarse INDIVIDUALMENTE para usar iTerm2 en lugar de Terminal, SI admiten que :

    • Si bien la Go2Shellaplicación que provocó la pregunta del OP tiene un cuadro de diálogo de configuración que admite iTerm2 ( open -a Go2Shell -- config, la aplicación no parece funcionar en absoluto a partir de OSX 10.11.6 (al hacer clic en el botón de la barra de herramientas a partir de v2.23, lo único que lo que sucede es que aparece el cuadro de diálogo de configuración, incluso después de haber hecho clic Install Go2Shell to Finder).
    • La alternativa de pago mencionada por la aplicación OP ShellTotambién es compatible con iTerm2 en principio , pero a partir de este escrito no es compatible con la versión actual , v3 +.
mklement0
fuente
1

Lo que @gef publicó fue en parte lo que hice. Sin embargo, esto es lo que funcionó para mí.

Abre tu aplicación de terminal:

open -a Go2Shell --args config

Luego, en las opciones, copie el siguiente código, es posible que tenga que hacer clic derecho y pegar, ya que los comandos están restringidos:

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

Y listo, la aplicación de terminal debería abrir para darle un nuevo parámetro a iTerm y luego cerrarse nuevamente.

ene
fuente
0

Este hilo era para OS X Lion, y parece desactualizado para El Capitan. Sin embargo, dado que encontré esta página mientras buscaba una forma de que XCode iniciara iTerm en lugar de Terminal, pensé en publicar mi solución.

Desafortunadamente, no es gratis, pero se puede hacer usando la aplicación de preferencias del sistema Magic Launch . El uso de esa herramienta, me puse iTerm como la aplicación por defecto para .term, .terminaly .commandextensiones. Eso hizo el truco para mis necesidades.

¡Espero que esto ayude!

Erik
fuente
¿Puedes ampliar cómo funciona este software? Consulte Cómo recomendar software .
Burgi
¿Estás diciendo que mi respuesta ya no funciona para El Capitán? ¿Podrías aclarar?
Daniel Beck
0

Puede ejecutar cualquier comando una vez que se ejecuta la aplicación de terminal, por lo que para ejecutar iterm2 en lugar de la aplicación de terminal, puede crear un script que se ejecute cada vez que se abra el terminal y este script debe abrir iterm y eliminar la aplicación de terminal

Pasos para crear script

  • Vi /Applications/run_iterm.sh
  • Copie los siguientes comandos y péguelos en el script

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Guarda el archivo

  • Chmod 755 /Aplicaciones/run_iterm.sh

Ahora nuestro script está listo, el último paso es ejecutarlo cada vez que se abre la aplicación de terminal Ejecutar terminal Vaya a preferencias -> General -> shell abierto con -> seleccione el comando "ruta completa" y pegue /Applications/./run_iterm. sh dentro del libro de texto finalmente cierra la aplicación terminal y ejecútala nuevamente ingresa la descripción de la imagen

Mohammed SA Kwaik
fuente
1
Guau; configurando un programa para suicidarse automáticamente cada vez que se inicia. ¿Qué podría salir mal? :-( ⁠
Scott