Ceci est lié à cette question ici , sauf que, en plus de supprimer le Finder, je veux le faire automatiquement. Il existe plusieurs solutions sur le Web qui suggèrent d'utiliser ce script AppleScript:
tell application "System Events" tell UI element "Finder" of list 1 of process "Dock" perform action "AXShowMenu" click menu item "Remove from Dock" of menu 1 end tell end tell
Malheureusement, l'save en tant qu'application et l'avoir exécuté lors de la connection ne fonctionne pas; Il est intéressant de noter que l'exécution dans Script Editor
fonctionne, mais cela ne résout pas le problème de la suppression automatique du Finder.
La solution consiste à créer un LaunchAgent ( man launchctl
pour plus d'informations) qui exécute le script ci-dessus via la command line. Essentiellement, vous voulez stocker le script ci-dessus dans un file, dites 'killfinder.scpt', puis exécutez la command osascript /path/to/killfinder.scpt
.
Nous voulons le faire automatiquement lors de la connection, nous utilisons donc un LaunchAgent. Puisque je veux utiliser ceci parce que j'utilise Pathfinder et que ma femme ne le fait pas, je vais le mettre dans ~/Library/LaunchAgents
, mais si vous voulez que ce soit à l'échelle du système, mettez-le dans /Library/LaunchAgents
.
Vous aurez trois files:
~/dev/scripts/killfinder.bash
. Créez le file et ajoutez ce contenu:
#!/bin/bash osascript /path/to/AppleScriptFile.scpt
Assurez-vous que les permissions sont correctes (c.-à-d chmod ug+x killfinder.bash
)
Vous pouvez appeler osascript directement avec le code AppleScript comme argument. Je laisse cela comme un exercice au lecteur; dans ce cas, vous pouvez créer ce file. Mais si vous voulez le faire de cette façon: 1. Mettez ceci dans un path approprié. 2. Créez le file et ajoutez ce contenu:
tell application "System Events" tell UI element "Finder" of list 1 of process "Dock" perform action "AXShowMenu" click menu item "Remove from Dock" of menu 1 end tell end tell
chmod ugo+r Finder\ Remove.scpt
) Placez ceci dans ~/Library/LaunchAgents
ou /Library/LaunchAgents
selon que vous souhaitez simplement ce comportement pour votre count personnel ou pour l'set du système.
Créez un file appelé com.<whateveryouwant>.KillFinder.plist
avec le contenu suivant:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <ssortingng>com.<whateveryouwant>.KillFinder</ssortingng> <key>Program</key> <ssortingng>/path/to/unixscript</ssortingng> <key>RunAtLoad</key> <true/> </dict> </plist>
Il est important de s'assurer que la valeur "string" après la key Label
est correcte ainsi que le path vers le script unix.
Maintenant, tout ce que vous avez à faire est de quitter et de vous connecter et ça devrait marcher!