Comment puis-je ouvrir plusieurs shells de terminaux personnalisés?

10

Comment puis-je personnaliser Terminal pour que lorsque j'ouvre l'application, il ouvre plusieurs onglets shell? Si possible, j'aimerais également qu'il exécute un script d'environnement différent pour chaque onglet.

Exemple: exécutez cette commande source bin/activatequi est une commande d'installation de Python virtualenv.

citadelgrad
la source

Réponses:

4

Ajoutez ceci à votre ~/.bash_profilesi vous utilisez bash ou ~/.zshrcsi vous utilisez zsh, en changeant le contenu du COMMANDStableau:

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
}

Maintenant, appeler opentermsun shell ouvrira tous les autres shells que vous vouliez.

Carmine Paolino
la source
3

J'utilise Keyboard Maestro . Une fois, j'ai enregistré une macro qui configure Terminal (j'utilise iTerm, mais cela n'a pas d'importance) comme j'aime et j'ai créé cette macro pour qu'elle soit déclenchée en lançant iTerm.

Donc, quand je lance, c'est configuré comme je le voulais. Deux fenêtres, cinq onglets dans un pour différents dossiers avec chaque onglet nommé de manière appropriée, et une autre fenêtre avec deux onglets connectés à mon serveur, l'un d'eux lance un script de surveillance. Tout cela se fait dans les 2 secondes suivant le lancement du terminal, ce qui prendrait au moins une minute ou plus.

Maintenant, je n'ai pas si peur de fermer iTerm si j'ai besoin, car je peux le rouvrir au même état sans aucun effort.

Soit dit en passant, Keyboard Maestro est également bon pour bien d'autres choses. Je l'ai récemment acheté avec une remise sur mupromo.com, où je l'ai découvert pour la première fois mais ça vaut son prix plein, à mon avis.

Jacob Gorban
la source
2

Comme l'a mentionné Josh K, vous pouvez créer un groupe de fenêtres pour ouvrir une ou plusieurs fenêtres avec des dispositions et des apparences spécifiques. De plus, les "profils de paramètres" (Terminal> Préférences> Paramètres) peuvent spécifier une commande à exécuter lorsqu'un terminal est créé avec ce profil. Vous pouvez créer un profil distinct pour chaque commande que vous souhaitez exécuter, puis créer des fenêtres avec ces profils. Lorsque vous les enregistrez dans un groupe de fenêtres et les ouvrez à nouveau, ces commandes s'exécutent dans leurs fenêtres appropriées. Terminal peut même ouvrir un groupe de fenêtres spécifique au démarrage.

Depuis Mac OS X Lion 10.7, il existe plusieurs nouvelles améliorations dans ce domaine:

  1. Reprendre restaurera automatiquement les fenêtres qui étaient ouvertes lorsque vous quittez Terminal, donc l'utilisation d'un groupe de fenêtres pour cela n'est plus strictement nécessaire (bien qu'elles vous permettent de recréer une configuration spécifique si vous avez fermé les fenêtres).

  2. Si vous créez un nouveau terminal à l'aide de Shell> Nouvelle commande, étant donné que Terminal sait quelle commande vous avez exécutée, il peut le restaurer en l'exécutant à nouveau. Le terminal restaurera désormais automatiquement les commandes «sûres» † lors de la reprise.

  3. Terminal restaurera également ces commandes si vous enregistrez ces types de terminaux dans un groupe de fenêtres. De plus, lors de l'enregistrement d'un groupe de fenêtres, il existe une option pour restaurer toutes les commandes, pas seulement celles "sûres". Ainsi, vous n'avez plus besoin de créer un profil de paramètres distinct pour chaque commande que vous souhaitez exécuter.

† Les commandes «sûres» incluent tout ce qui est répertorié dans /etc/shells, emacs, vi / vim, nano, pico, top, screen, tmux et toute commande créée avec Shell> Nouvelle connexion à distance (par exemple, les sessions ssh). Notez que seul top est considéré comme "sûr" lorsqu'il est utilisé avec des arguments; les autres prennent en charge des arguments qui peuvent faire des choses que vous ne souhaiteriez pas sans confirmation de l'utilisateur, ils ne sont donc pas considérés comme "sûrs" pour la restauration automatique, sauf s'ils sont invoqués sans arguments. Vous pouvez personnaliser la liste des commandes «sûres» avec «écriture par défaut com.apple.Terminal RestorableCommands». La valeur est une liste de chaînes contenant les noms de commande. Pour indiquer que les arguments sont autorisés, ajoutez un astérisque après une commande. Par exemple, "top *" rend top sûr lorsqu'il est utilisé avec des arguments, mais "top" ne le fait pas.

Chris Page
la source
1

Alternativement, vous pouvez également utiliser screenpour ouvrir plusieurs onglets sur une seule fenêtre. L'écran est très flexible et peut être configuré pour exécuter tous les scripts lors du démarrage du terminal.

Plus d'informations.

karmatique
la source