Créer un raccourci global pour exécuter des applications en ligne de commande

31

De quelles étapes ai-je besoin pour exécuter un programme de ligne de commande via un raccourci global?

J'ai configuré Automator pour créer un nouveau script shell d'exécution et j'ai essayé d'attribuer un raccourci dans Préférences Système -> Clavier -> Raccourcis clavier, mais rien ne s'est produit.

Adam Flott
la source
1
Ma question est différente. Je ne veux pas du tout qu'une fenêtre de terminal s'ouvre.
z-buffer
1
Si vous ne voulez pas du tout qu'une fenêtre de terminal s'ouvre, vous demandez la même chose que le message lié.
Daniel

Réponses:

8

Applescript it:

do shell script "ls ~/Desktop"

Ajoutez ce que vous voulez, puis vous pouvez exécuter Applescript via une application de raccourci clavier globale. Je recommanderais Spark

Oh, et je ne sais pas comment attribuer un raccourci via les Préférences Système

daviesgeek
la source
Bingo. Bizarre, cette fonctionnalité n'est pas déjà intégrée à OSX. Merci beaucoup!
Adam Flott
@Adam Ouais, c'est un peu bizarre.
daviesgeek
8
Sauf qu'il est intégré à OS X via Automator Services, @AdamFlott, c'est juste que la réponse que vous avez acceptée n'utilise pas cette méthode.
Daniel
2
De plus, AppleScript et Automator font partie d'OS X.
Daniel
1
-1 pour l'utilisation de tiers sans aucun bon raisonnement.
cregox
32

Sans connaître les détails de ce que vous recherchez, je vous suggère de créer un nouveau service via Automator . Les services peuvent être liés à des déclencheurs de frappe et peuvent exécuter des scripts shell (entre autres). entrez la description de l'image ici

Pour configurer le raccourci clavier, accédez à Préférences Système -> Clavier -> Raccourcis -> Services, sélectionnez le service que vous venez d'enregistrer, puis cliquez sur le bouton "Ajouter un raccourci".

Daniel
la source
Après avoir enregistré le service, la façon dont vous avez configuré un raccourci clavier n'est pas claire pour moi.
Liron Yahdav
@LironYahdav Voir ci-dessus modifier
Daniel
12

FastScripts inclut tous les scripts dans ~ / Library / Scripts /, vous n'avez donc pas à ajouter de fichiers manuellement. Il prend également en charge les scripts spécifiques à l'application.

Autres applications pouvant être utilisées pour attribuer des raccourcis pour l'exécution de scripts:

Vous pouvez également créer un service Automator:

  1. Ouvrez Automator et choisissez le modèle de service
  2. Ajouter une action Run Script Script ou Run AppleScript
  3. Vérifiez que le type d'entrée et la portée de l'application sont corrects
  4. Collez le script et enregistrez le service
  5. Attribuer un raccourci dans le volet des préférences du clavier

Il y a un bug dans 10.7 et 10.8 où les raccourcis pour les services ne fonctionnent pas toujours tant que le menu des services n'a pas été affiché dans la barre de menus. Les raccourcis pour les services ne fonctionnent pas lorsque l'application la plus en avant n'a pas de barre de menus ou de menu de services. Il y a également un court délai avant l'exécution des services.

Lri
la source
plus un pour mentionner d'autres applications qui le font également. Je suis presque allé installer spark quand j'ai déjà utilisé QuickSilver. Je ne savais pas qu'il avait cette option.
Marlon
en outre, la section dans le volet "Préférences clavier" pour ajouter un raccourci sera sous la section "Services", si vous utilisez l'approche Automator.
Brad Parks du
7

J'ai essayé toutes ces options, mais elles sont trop complexes et peu fiables ou vraiment chères. J'ai donc fini par écrire ma propre solution (open-source et gratuite).

iCanHazShortcut

Il ne peut pas faire grand-chose pour l'instant, mais c'est un début. N'hésitez pas à contribuer en ajoutant des demandes de fonctionnalités et des suggestions.

deseven
la source
1
J'essaie de trouver une solution simple à ce problème depuis quelques heures maintenant et votre application est la seule qui fonctionne et fait ce qu'elle est censée faire sans cloches et sifflets compliqués. Merci!
Stijn Martens
@StijnMartens vous êtes les bienvenus! C'est toute l'idée derrière cela - si vous avez juste besoin d'un raccourci pour une commande, vous obtenez un raccourci pour une commande. Ni plus ni moins.
deseven
Cela a fonctionné à merveille.
Brian Schermerhorn
2

Quicksilver peut être utilisé pour lier des raccourcis clavier à des actions.

Si vous vous trouvez à faire quelque chose fréquemment, vous pouvez accélérer encore plus la tâche en lui affectant un «déclencheur». Les déclencheurs peuvent être activés par des raccourcis clavier ou des mouvements de souris

Si c'est une commande Unix ou un script shell que vous souhaitez exécuter, ce post Stackoverflow donne plus d'informations sur l'utilisation du "module terminal" de Quicksilver.

binarybob
la source
1

J'ajouterai ma réponse ici en utilisant BTT , car c'est facile et peut en fait être lié directement à un script de ligne de commande:

  1. Sélectionnez Clavier dans BTT

Sélectionnez Clavier dans BTT

  1. Saisissez votre raccourci (ou séquence de touches!)

Saisissez votre raccourci (ou séquence de touches!)

  1. Sélectionnez "Déclencher une action prédéfinie" et tapez "shell" pour trouver l'action.

Sélectionnez "Déclencher une action prédéfinie" et tapez "shell" pour trouver l'action.

  1. Vous pouvez coller votre script et shell que vous souhaitez exécuter:

Vous pouvez coller votre script et shell que vous souhaitez exécuter:

Cliquez sur enregistrer et vous avez terminé! Testez maintenant votre script avec le déclencheur clavier que vous avez configuré.

  1. EXTRA: Vous voudrez peut-être ajouter des notes pour vous rappeler à quoi sert le raccourci ...

Vous voudrez peut-être ajouter des notes pour vous rappeler à quoi sert le raccourci ...

cody.codes
la source
Merci, j'ai fini par emprunter cette voie depuis que j'ai le BTT.
Leo Ufimtsev
0

Il semble que cela soit disponible dans 10.6, (voir http://hints.macworld.com/article.php?story=20090903085255430 ) mais quelque chose s'est cassé dans 10.7.2 (et peut-être plus tôt 10.7)

J'ai cependant constaté que le raccourci clavier Services est respecté lorsque les Préférences Système sont au premier plan, mais pas dans aucune autre application, y compris le Finder.

Cependant, la suggestion précédente d'utiliser Spark fonctionnait parfaitement dans Lion, sauf que je ne pouvais pas utiliser Ctrl dans mon raccourci clavier. (pas un showstopper!)

adamrmcd
la source
uniquement lorsque le menu d'application est au point. Si vous cliquez sur le bureau et essayez le raccourci, cela ne fonctionne pas. cliquez sur le menu du Finder puis essayez-le et cela fonctionne. J'ai un service pour Terminal qui a un raccourci et apparaît sur toutes les applications ... mais cela ne fonctionne pas si je ne suis pas dans une application et même alors le menu doit avoir le focus.
Marlon
@Lri même après la déconnexion et la reconnexion, le redémarrage de la machine, etc. Cela ne fonctionne toujours pas sauf si je fais comme je l'ai décrit ci-dessus. Le paramétrer dans Quicksilver fonctionne cependant. Je voudrais savoir comment se fait QuickSilver peut attraper ces raccourcis "globaux" et non le système d'exploitation.
Marlon