J'essaie de suivre les instructions pour épingler des onglets de démarrage dans Chrome . Sous OS X, comment ajouter des arguments de ligne de commande aux éléments persistants dans mon dock?
J'essaie de suivre les instructions pour épingler des onglets de démarrage dans Chrome . Sous OS X, comment ajouter des arguments de ligne de commande aux éléments persistants dans mon dock?
Réponses:
Vous avez essentiellement deux options:
Option 1 : utilisez Automator pour créer une application qui lance Chrome avec des arguments de ligne de commande.
Démarrez Automator et choisissez de créer une application . Double-cliquez sur Exécuter le script shell dans le dossier Bibliothèque / Utilitaires et remplacez le contenu du texte cat
- par ce qui suit:
open -a "Google Chrome.app" --args -pinned-tab-count=4
# keep the .app suffix or will break with Parallels
Enregistrez où vous voulez.
Pour remplacer l'icône de cette application, obtenez des informations sur votre vrai Google Chrome, cliquez sur l'icône en haut à gauche, appuyez sur Cmd-C
, Obtenir des informations sur votre application Chrome Automator, cliquez sur l'icône, puis appuyez sur Cmd-V
.
Dans la mesure où il s’agit d’une application différente, le Dock affiche deux applications Chrome lorsqu’il est en cours d’exécution: Chrome et votre lanceur Chrome.
Option 2 : Modifiez votre lot d'applications pour lancer un script à la place. Ce script va démarrer l'application réelle, en ajoutant l'argument de ligne de commande.
Cliquez avec le bouton droit Google Chrome.app
et sélectionnez Afficher le contenu du paquet . Accédez à Contents/
et ouvrez-le Info.plist
dans Property List Editor / Xcode (outils de développement Apple) ou un plist
éditeur tiers .
Cherchez l'entrée CFBundleExecutable
ou Executable File
. Rappelez-vous sa valeur (par exemple firefox-bin
pour Firefox). Remplacez-le par parameterized-app.sh
.
Ouvrez Terminal et entrez les informations suivantes:
touch /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
open /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Un éditeur pour le .sh
fichier s'ouvrira. Définissez le contenu du fichier sur:
#!/usr/bin/env bash
exec /Applications/Firefox.app/Contents/MacOS/firefox-bin -ProfileManager
(en utilisant le nom de l'exécutable que vous avez supprimé Info.plist
, en ajoutant les arguments de ligne de commande souhaités)
Sauver et fermer. Dans Terminal, entrez les informations suivantes:
chmod +x /Applications/Firefox.app/Contents/MacOS/parameterized-app.sh
Maintenant, fermez Terminal et déplacez votre application (qui ne doit pas être en cours d’exécution) dans un autre dossier et inversement. Cela mettra à jour les services de lancement , sinon vos modifications seront ignorées et vous irriteront énormément.
Désormais, lorsque vous ouvrez votre application, le .sh
fichier sera exécuté , ce qui lancera le fichier exécutable réel et enverra les arguments de ligne de commande.
Il ressemblera et se comportera comme vous le souhaitez, mais vous devrez le répéter chaque fois que vous mettrez à jour votre application, car cela remplacera généralement le paquet d'applications et toutes les modifications que vous avez apportées.
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/Hello\ World.app
Vous pouvez écrire un script qui lance Chrome, mais ce ne serait pas l'icône de l'application dans le dock et cela ferait apparaître une icône Chrome distincte. Vous devrez donc créer un package d'application.
Commencez par créer une copie de votre application Chrome. Ensuite, il y a deux approches possibles. Je ne sais pas ce qui fonctionnera le mieux avec la mise à jour automatique de Mac OS X et / ou de Chrome.
Créez un "lanceur" qui appelle simplement Chrome avec les arguments.
Dans le dossier MacOS, supprimez l'exécutable «Google Chrome» et remplacez-le par un script shell qui appelle le vrai Chrome:
#!/bin/sh
exec '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' -pinned-tab-count=4
N'oubliez pas chmod +x
le script.
Modifiez le package Chrome que vous exécutez réellement.
Dans le dossier MacOS, renommez «Google Chrome» et écrivez un script shell qui appelle la vraie avec les arguments supplémentaires:
#!/bin/sh
exec '/Applications/My Modified Google Chrome.app/Contents/MacOS/Google Chrome-real' -pinned-tab-count=4
CodeResources
et / ou _CodeSignature
le faire fonctionner avec ces modifications.Tout est basé sur ma compréhension des packages d'applications Mac; Je n'ai pas testé ces modifications sur Chrome en particulier. Il est même possible que l'exécutable de Chrome sur Mac ne prenne pas cette option en charge, car les applications Mac ne doivent généralement pas être exécutées avec des options de ligne de commande contrôlables (contrairement à Windows, par exemple, où les applications sont normalement lancées via des raccourcis ont des options intégrées).
chmod 755 Google\ Chrome
(votre script) une fois que vous avez terminé. En fait, j'ai nommé mon script launch.sh et l'ai lié à Google \ Chrome pour faciliter les mises à jour.