6 votes

Ouvrir une nouvelle fenêtre/un nouvel onglet de Terminal.app avec un certain profil à partir de la ligne de commande ou d'un AppleScript ?

Lorsque je me connecte à mon Mac, je veux ouvrir automatiquement une nouvelle fenêtre Terminal.app avec un certain profil, par exemple Monitor qui possède une commande de démarrage et plusieurs paramètres d'apparence. Je pensais qu'il serait très facile de faire cela à partir d'AppleScript ou de la ligne de commande (par l'intermédiaire de osascript ), afin que je puisse ajouter un script à mes éléments de connexion, mais il s'avère que ce n'est pas si trivial après plusieurs essais.

Ma meilleure méthode actuelle est l'AppleScript suivant :

tell application "Terminal"
    set origSettings to default settings
    set default settings to settings set "Monitor"
    activate
    tell application "System Events" to keystroke "n" using command down
    set default settings to origSettings
end tell

Cependant, j'aimerais savoir s'il existe un moyen plus simple d'y parvenir sans avoir à recourir à des scripts d'interface utilisateur (avec des événements système) ou à manipuler les paramètres de mon terminal. default settings .

applescript (osascript) pour modifier le profil de Terminal.app semblait prometteur, mais c'est pour quand il y a déjà une fenêtre de Terminal ouverte. Je n'ai aucune idée de la façon de créer un nouvel onglet ou une nouvelle fenêtre de Terminal avec sa propre interface. current settings spécifié. Le site do script qui crée une nouvelle fenêtre, ignore malheureusement la commande de démarrage définie dans le profil, ce qui m'oblige à recourir à un script d'interface utilisateur.

J'ai aussi trouvé ce script : http://blog.azizlight.me/having-fun-with-applescript-and-terminal-app/ qui s'appuie à nouveau sur les scripts de l'interface utilisateur. Comme certaines de mes machines n'utilisent pas la langue anglaise, je préfère m'en tenir aux frappes au clavier plutôt qu'aux étiquettes des menus.

3voto

Pouvez-vous simplement exécuter la commande de démarrage avec do script ?

tell application "Terminal"
    do script "emacs"
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Si quelqu'un d'autre n'a pas besoin d'exécuter une commande de démarrage, vous pouvez utiliser do script "" pour ouvrir une nouvelle fenêtre :

tell application "Terminal"
    do script ""
    set current settings of selected tab of window 1 to settings set "Grass"
end tell

Ou vous pouvez aussi utiliser do script "" lors de la modification default settings :

tell application "Terminal"
    set old to default settings
    set default settings to settings set "Grass"
    do script ""
    set default settings to old
    activate
end tell

2voto

beroe Points 3151

Peut-être que je ne comprends pas, mais ne pouvez-vous pas exporter le profil en tant que .terminal et l'ajouter à vos éléments de connexion ?

Exportation :

enter image description here

Ajoutez le fichier exporté aux éléments de connexion :

enter image description here

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X