Impostazione di iTerm2 come terminale predefinito (OSX Lion)


61

Vorrei impostare iTerm2 invece di terminal.app come terminale predefinito.

Go2Shell, ad esempio, ti consente di aprire un terminale nella directory corrente in Finder. Voglio usare iterm2 instad di terminal.app.

Non ho trovato alcuna risposta sulla documentazione ufficiale.

Grazie per l'aiuto.

Aggiornamento: ShellTo è un'ottima alternativa a Go2Shell e supporta iTerm2


Terminale predefinito per cosa? Devi solo lanciare quello che vuoi e lasciare l'altro da solo ...? Spiega più in dettaglio cosa stai chiedendo.
Daniel Beck

1
Blurb Go2Shell da app store: aggiunto il supporto di iTerm, iTerm 2 e persino xterm :) . Dai un'occhiata alle sue preferenze. Inoltre, almeno per Terminal.app, questa funzione fa parte del sistema operativo da sei mesi, vedere qui (ultimo elemento).
Daniel Beck

Oh, non l'ho visto. Colpa mia!
politicus,

Risposte:


58

Terminal.appsi dichiara un gestore degli schemi ssh, telnete x-man-pageURL.

Registra anche le estensioni dei file .term(sessioni), .terminal(impostazioni) .toole .command(script), e come un editor / visualizzatore per questi.

Oltre a ciò, non esiste un terminale predefinito in OS X. È solo un'applicazione in grado di gestire schemi URL e tipi di file.


iTerm è in grado di gestire tutti questi ad eccezione di Terminal.app specifico .term/ .terminal.

Per i tipi di file, basta aprire la finestra di dialogo Ottieni informazioni e associare tutti i file di questo tipo a iTerm. Per gli schemi URL, è possibile scaricare e installare il pannello delle preferenze App predefinite e modificare qui l'associazione. Puoi anche usarlo come metodo alternativo per modificare le associazioni dei tipi di file.

inserisci qui la descrizione dell'immagine


Tutte queste impostazioni sono specifiche dell'utente e memorizzate in ~/Library/Preferences/com.apple.LaunchServices.plist. Puoi ovviamente modificarlo tu stesso in un editor adatto. È abbastanza semplice. Schermata di Xcode 4 che mostra il risultato della modifica x-man-pagenel riquadro delle preferenze App predefinite :

inserisci qui la descrizione dell'immagine


Terminal.app fornisce anche i seguenti servizi per altre applicazioni:

  • Nuovo terminale nella cartella
  • Nuova scheda Terminale nella cartella
  • Apri la pagina man nel Terminale
  • Cerca le pagine man nel Terminale

L'associazione con Terminal.app è codificata. È necessario creare i propri servizi, ad esempio utilizzando Automator e / o AppleScript per sostituirli.


Se Terminal viene utilizzato tramite la sua API AppleScript, non c'è modo di sostituirlo con iTerm in tutti i casi, poiché le loro API sono piuttosto diverse. Ciò richiederà spesso modifiche sostanziali ai programmi o agli script.


2
Grazie per la tua straordinaria risposta. Chiaro, molto istruttivo. Nuovo su OSX, non conoscevo App predefinite.
politicus,

Strumento fantastico. Sono contento che funzioni ancora bene sotto El Capitan.
ifwdev,

Oh cielo, è così utile. Ho accidentalmente eliminato Terminal.app (o l'ho rovinato così tanto che non si aprirà) e questo funziona per risolverlo, e le mie build React Native lo usano finora così bene, bussare al legno. THX: D
tidelake,

64

Dovresti essere in grado di creare il iTerm.apptuo terminale predefinito selezionando "Rendi predefinito" dalla barra dei menu.

Menu a discesa

In alternativa puoi usare una scorciatoia da tastiera.

+ + +\


1
Non sembra funzionare per la maggior parte dei miei test. GitHub.app apre ancora Terminal e anche SublimeText.
fregante,

5
@ bfred.it: Purtroppo, il nome della voce di menu è fuorviante: l' unica cosa che fa è eseguire gli script di shell aperti dal Finder in iTerm2 anziché in Terminal. Magicamente non farà sì che applicazioni di terze parti come GoShell, GitHub, Alfred ... utilizzino iTerm2, come spiegato nella risposta di Daniel Beck .
mklement0

Penso che questa sia la risposta più appropriata al giorno d'oggi ...
mecampbellsoup il

7

Come menzionato nei commenti sopra, Go2Shell può dire di usare iTerm2

Per aprire la finestra di configurazione, attenersi alla seguente procedura:

  1. Accendi il tuo programma terminale preferito.
  2. Immettere: open -a Go2Shell --args config
  3. Premere [ritorna].

inserisci qui la descrizione dell'immagine

http://zipzapmac.com/Go2Shell


6

Come si trova sul blog ma.ttias.be , iTerm2 può registrarsi come terminale predefinito per alcuni schemi URL comuni: devi solo controllare gli schemi corrispondenti nella parte inferiore della scheda Generale nel profilo corrente dalle preferenze iTerm

iTerm> Préférences> Profili> Generale> Schemi URL


Soprattutto rispondere al punto IMO.
markus,

5

Per fornire un riepilogo pragmatico delle risposte esistenti :

  • macOS (OS X) NON supporta il concetto di terminale predefinito .

    • Vedere la risposta utile di Daniel Beck per informazioni di base.
    • iTerm2essa stessa offre in qualche modo fuorviante una voce di menu denominataiTerm2 > Make iTerm2 Default Term (come presentata nella risposta di halfcube ), ma l'unica cosa che fa è far sì che Finder esegua script di shell aperti da esso in iTerm2 (più specificamente, assegna il shellruolo di UTI public.unix-executablea Finder) - che è non è un tipico caso d'uso.
  • Pertanto, le applicazioni devono essere configurate in modo INDIVIDUALE per utilizzare iTerm2 anziché Terminal, SE supportano che :

    • Mentre l' Go2Shellapp che ha posto la domanda sull'OP ha una finestra di configurazione che supporta iTerm2 ( open -a Go2Shell -- config, l'applicazione non sembra funzionare affatto a partire da OSX 10.11.6 (facendo clic sul pulsante della barra degli strumenti a partire dalla v2.23, l'unica cosa che mai accade è che si apre la finestra di configurazione, anche dopo aver fatto clic Install Go2Shell to Finder).
    • L' alternativa a pagamento menzionata dall'OP - applicazione ShellTo- supporta anche iTerm2 in linea di principio , ma al momento della stesura di questo documento non supporta la versione corrente , v3 +.

1

Quello che @gef ha pubblicato è stato in parte quello che ho fatto. Tuttavia, questo è ciò che ha funzionato per me.

Apri l'app del tuo terminale:

open -a Go2Shell --args config

Quindi sulle opzioni copia il seguente codice, potresti dover fare clic con il tasto destro e incollare poiché i comandi sono limitati:

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

E voilà, l'app del terminale dovrebbe aprirsi per dare un nuovo parametro a iTerm, quindi richiudersi.


0

Questo thread era per OS X Lion e sembra obsoleto per El Capitan. Tuttavia, dal momento che ho trovato questa pagina mentre cercavo un modo per far lanciare XCode su iTerm invece che su Terminal, ho pensato di pubblicare la mia soluzione.

Sfortunatamente non è gratuito, ma può essere fatto utilizzando l' app per le preferenze del sistema Magic Launch . Utilizzando questo strumento, ho impostato DbTel come l'applicazione predefinita per .term, .terminale .commandle estensioni. Questo ha fatto il trucco per le mie esigenze.

Spero che sia di aiuto!


Puoi espandere come funziona questo software? Vedere Come raccomandare il software .
Burgi,

Stai dicendo che la mia risposta non funziona più per El Capitan? Potresti chiarire?
Daniel Beck

0

È possibile eseguire qualsiasi comando una volta eseguita l'applicazione terminale, quindi per eseguire iterm2 anziché l'applicazione terminale, è possibile creare uno script che viene eseguito ogni volta che viene aperto il terminale e questo script dovrebbe aprire iterm e uccidere l'app terminale

I passaggi per creare lo script

  • Vi /Applications/run_iterm.sh
  • Copia i seguenti comandi e incollali nello script

    #! /bin/bash
    open -a iTerm.app
    killall Terminal
    
  • Salva il file

  • Chmod 755 /Applications/run_iterm.sh

Ora il nostro script è pronto, l'ultimo passo è eseguirlo ogni volta che si apre l'applicazione terminale Esegui terminale Vai a preferenze -> Generale -> shell aperto con -> seleziona il comando "percorso completo" e incolla /Applicazioni/./run_iterm. sh all'interno del libro di testo, infine, chiudere l'applicazione del terminale ed eseguirlo di nuovo, immettere qui la descrizione dell'immagine


1
Wow; configurazione di un programma per uccidersi automaticamente ogni volta che viene avviato. Che cosa potrebbe andare storto? :-( ⁠
Scott,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.