Comment mettre un lanceur personnalisé dans le Dock (Mavericks)

14

Je suis nouveau sur Mac OS (j'utilise actuellement Mavericks) et j'ai effectué des recherches sur Google ainsi que des recherches sur StackExchange concernant ma question, mais les discussions que j'ai rencontrées ne répondent pas tout à fait à ma question.

Je viens du monde Linux et il est trivial pour moi de définir une commande personnalisée dans le panneau gnome puis de mettre tout argument que j'aime; beaucoup de ces commandes invoquent xterm.

Par exemple, supposons que je veuille créer un lanceur pour se connecter à un serveur distant avec beaucoup d'arguments comme ci-dessous.

xterm -fg orange -bg black -e ssh me@myserver

J'ai croisé un post qui m'a suggéré d'utiliser l'automatisme. Je ne suis cependant pas en mesure de le faire avec succès.

Jusqu'à présent dans l'automate, j'ai

open -a "/opt/X11/bin/xterm" --args "-fg orange -bg black -e ssh me@myserver"

cependant, cette commande ne s'exécute pas correctement et je ne sais pas comment résoudre ce problème.

Merci Les ps Notez que si je lance le Terminal et que je tape xterm, il se lance comme prévu

Lee Sande
la source
Pourquoi ne pas utiliser le terminal intégré? Il est vraiment hautement personnalisable et vous pouvez le faire émuler x-term. Le terminal apporte de nombreux avantages comme le mode plein écran, le copier / coller avec + cet + v. Il vous permet également de créer vos propres profils personnalisés, permettant des polices personnalisées, de la transparence et même des commandes par défaut exécutées au démarrage (comme pour démarrer une session SSH).
Alexander - Rétablir Monica

Réponses:

16

Vous pouvez l'écrire en tant que script shell dans l'action Exécuter le script shell dans Automator:

Automator

Enregistrez-le avec le type Application (au lieu de Workflow) et placez-le dans votre dossier Applications. Il peut maintenant être placé dans le Dock.

Alexander - Rétablir Monica
la source
2
Une idée de comment je peux changer l'icône de cet exécutable?
Lee Sande
1
Vous pouvez changer l'icône de pratiquement n'importe quel volume / dossier / fichier en appuyant sur + iet en collant n'importe quel fichier image dans l'image bien dans le coin supérieur gauche
Alexander - Réinstallez Monica
Merci pour votre réponse. J'ai fait apple + i et puis j'ai glissé et déposé l'image (un fichier png); cependant, l'icône se transforme en une icône générique de type MIME de fichier "PNG" et non pas l'image réelle. Dois-je avoir un format de fichier spécifique pour les icônes? J'ai également suivi les étapes ici ( 365icon.com/icon-styles/dock-icons/how-to-change-mac-dock-icons ) mais même après avoir collé la nouvelle image (après avoir sélectionné l'icône en haut à gauche), le la nouvelle image n'apparaît pas (après redémarrage du programme).
Lee Sande
2
Oups, j'aurais dû mieux clarifier: vous devez coller l'image elle-même, pas le fichier image. La façon la plus rapide à laquelle je peux penser est de double-cliquer sur un fichier image (pour l'ouvrir dans Preview.app), appuyez sur + a, copiez la sélection et collez-la bien dans l'image
Alexander - Reinstate Monica
1
Je ne peux pas évaluer parce que je n'ai pas une réputation suffisante pour le faire. Pardon.
Lee Sande
2

Automator et AppleScript sont les meilleurs moyens de créer des scripts / applications personnalisés qui exécutent des commandes comme vous l'avez décrit. Chacun a ses avantages et ses inconvénients. Pour la plupart des tâches, je préfère écrire des scripts Apple, probablement parce que je suis moi-même programmeur et parce qu'ils sont faciles d'accès et de modification.

Pour écrire des AppleScripts, vous pouvez utiliser le programme fourni par OS X appelé «AppleScript Editor». L'éditeur AppleScript vous permet d'écrire vos AppleScripts et de les enregistrer comme un AppleScript réel avec une extension de fichier .scpt ou comme une application (.app) qui peut être exécutée de n'importe où.

Si vous enregistrez votre AppleScript au format AppleScript (.scpt), et à l'aide d'une application appelée FastScripts (également disponible dans le Mac App Store), tous vos scripts personnels et scripts système peuvent être facilement accessibles dans la barre de menus. Et Fast Scripts offre l'avantage supplémentaire de vous permettre de leur attribuer des raccourcis clavier. Vous pouvez faire de même avec les workflows Automator, je trouve que c'est plus facile à faire avec AppleScripts et FastScripts.

Voici un exemple d'AppleScript que j'ai créé que j'ai déjà partagé sur les cartes qui bascule la visibilité des fichiers cachés dans OS X. C'est l'un de mes scripts les plus basiques, c'est pourquoi je le montre comme un exemple de la simplicité pour écrire un AppleScript. Avec l'aide de FastScripts, j'ai défini un raccourci clavier de ^+ + + .pour activer ce script.

tell application "System Events"

    set hiddenFilesDisplayStatus to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    set hiddenFilesNewDisplayStatus to "NO"

    if hiddenFilesDisplayStatus is "NO" then
        set hiddenFilesNewDisplayStatus to "YES"
    end if

    do shell script "defaults write com.apple.finder AppleShowAllFiles " & hiddenFilesNewDisplayStatus
    do shell script "killall Finder"

end tell

J'ai une variété d'autres AppleScripts qui effectuent diverses tâches, donc si j'étais vous, regardez d'abord AppleScripts, puis regardez à l'aide d'Automator. Il existe de nombreuses ressources pour vous aider à créer des AppleScripts, et vous constaterez qu'il y en a beaucoup d' autres qui ont déjà écrit des AppleScripts qui peuvent déjà faire ce que vous recherchez.

Pour répondre à votre cas d'utilisation spécifique

Essayez de créer un AppleScript avec la commande suivante, notez le chemin d'accès complet à xterm. Sur ma machine, c'était différent du vôtre. Il est important de noter que j'ai XQuartz installé sur ma machine car Mavericks n'est plus livré avec X11.

do shell script "/usr/X11/bin/xterm -fg orange -bg black -e ssh me@myserver"

J'ai essayé la commande ci-dessus, pointé mon serveur et cela a bien fonctionné. Ce qui serait vraiment cool si vous fonctionniez avec cet AppleScript, c'est que vous pourriez même configurer l'AppleScript pour demander l'entrée du nom d'utilisateur et du serveur avec lequel vous vous connectez, et cela le définira dans la commande de script shell pour vous et si rien n'est fourni, vous pourriez avoir par défaut un nom d'utilisateur / serveur particulier. :)

Pour info, j'ai trouvé le problème de cheminement vers xterm en utilisant cet article SO: /programming/11206872/open-xterm-telnet-connection-mac-os-x

Anil Natha
la source
Merci pour votre réponse et le lien vers le problème de chemin dans xterm.
Lee Sande