Come posso aprire più terminali personalizzati personalizzati?


10

Come posso personalizzare Terminale in modo che quando apro l'applicazione si aprano diverse schede shell? Se possibile, vorrei anche che eseguisse uno script di ambiente diverso per ogni scheda.

Esempio: eseguire questo comando source bin/activateche è un comando di configurazione di virtualenv Python.

Risposte:


4

Aggiungi questo al tuo ~/.bash_profilese usi bash o ~/.zshrcse usi zsh, cambiando il contenuto COMMANDSdell'array:

function openterms() {
    COMMANDS=("source bin/activate" "add another here" "continue likewise")
    for command in $COMMANDS
        do osascript -e \
        "tell application \"Terminal\" to do script with command \"$command\""
    done
}

Ora chiamare opentermsin una shell aprirà tutte le altre shell che volevi.


3

Sto usando Keyboard Maestro . Una volta ho registrato una macro che imposta Terminal (sto usando iTerm, ma non importa) come piace a me e ho fatto in modo che questa macro venisse attivata avviando iTerm.

Quindi, quando lancio, è impostato come volevo. Due finestre, cinque schede in una per cartelle diverse con ciascuna scheda denominata in modo appropriato e un'altra finestra con due schede collegate al mio server, una delle quali avvia uno script di monitoraggio. Tutto ciò avviene entro 2 secondi dall'avvio del Terminale, che in precedenza richiederebbe un minuto o più.

Ora non ho la paura di chiudere iTerm se necessario, dato che posso riaprirlo nello stesso stato senza alcuno sforzo.

A proposito, Keyboard Maestro è buono anche per molte altre cose. Di recente l'ho comprato con uno sconto su mupromo.com, dove l'ho scoperto per la prima volta, ma secondo me vale anche il suo prezzo intero.


2

Come accennato da Josh K, puoi creare un gruppo di finestre per aprire una o più finestre con layout e aspetti specifici. Inoltre, "profili delle impostazioni" (Terminale> Preferenze> Impostazioni) può specificare un comando da eseguire quando viene creato un terminale con quel profilo. È possibile creare un profilo separato per ciascun comando che si desidera eseguire, quindi creare finestre con tali profili. Quando li salvi in ​​un gruppo di finestre e li riapri, tali comandi verranno eseguiti nelle rispettive finestre. Puoi anche far aprire a Terminal un gruppo di finestre specifico all'avvio.

A partire da Mac OS X Lion 10.7, ci sono molti nuovi miglioramenti in quest'area:

  1. Riprendi ripristinerà automaticamente le finestre aperte all'uscita da Terminal, quindi l'utilizzo di un gruppo di finestre per questo non è più strettamente necessario (sebbene ti consentano di ricreare una configurazione specifica se hai chiuso le finestre).

  2. Se si crea un nuovo terminale utilizzando Shell> Nuovo comando, poiché Terminale sa quale comando è stato eseguito, è possibile ripristinarlo eseguendolo nuovamente. Il terminale ora ripristinerà automaticamente i comandi "sicuri" † quando si riprende.

  3. Terminale ripristinerà anche questi comandi se si salvano questi tipi di terminali in un gruppo di finestre. Inoltre, quando si salva un gruppo di finestre, è disponibile un'opzione per ripristinare tutti i comandi, non solo quelli "sicuri". Pertanto, non è più necessario creare un profilo di impostazioni separato per ciascun comando che si desidera eseguire.

† I comandi "sicuri" includono tutto ciò che è elencato in /etc/shells, emacs, vi / vim, nano, pico, top, screen, tmux e qualsiasi comando creato con Shell> Nuova connessione remota (ad es. Sessioni ssh). Nota che solo top è considerato "sicuro" se usato con argomenti; gli altri supportano argomenti che potrebbero fare cose che non vorresti fossero senza la conferma dell'utente, quindi non sono considerati "sicuri" per il ripristino automatico a meno che non vengano invocati senza argomenti. Puoi personalizzare l'elenco dei comandi "sicuri" con "impostazioni predefinite write com.apple.Terminal RestorableCommands". Il valore è un elenco di stringhe contenente i nomi dei comandi. Per indicare che gli argomenti sono consentiti, aggiungere un asterisco dopo un comando. ad esempio, "top *" rende top sicuro quando utilizzato con argomenti, ma "top" no.


1

In alternativa, puoi anche utilizzare screenper aprire più schede in una singola finestra. lo schermo è molto flessibile e può essere configurato per eseguire qualsiasi script durante l'avvio del terminale.

Ulteriori informazioni.


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.