Je crois que vous devrez utiliser un Agent de lancement a regarder pour quand le /Bibliothèque/Préférences/com.apple.loginwindow.plist fichier est touché comme c'est le cas lorsque le écran verrouillé est déverrouillé pour que quelque chose que vous voulez se produise quand le déverrouillage de l'écran de verrouillage par mot de passe l'événement se produit.
Veuillez lire la réponse dans son intégralité avant de l'appliquer.
Ce qui suit a été testé et fonctionne sur une installation propre de l'ordinateur. MacOS Catalina 10.15.6.
Ouvrir Terminal et exécutez ce qui suit commandes :
mkdir -p ~/Library/LaunchAgents
cd ~/Library/LaunchAgents
touch com.my.detect.screen.unlocked.plist
open -e com.my.detect.screen.unlocked.plist
Copiez et collez le exemple XML code montrée plus loin, dans la zone ouverte com.my.detect.screen.unlocked.plist document puis enregistrez et fermez la document .
Retour dans Terminal exécutez ce qui suit commande :
launchctl load com.my.detect.screen.unlocked.plist
Vous pouvez maintenant fermer Terminal si vous le souhaitez.
Pour tester, cliquez sur le bouton Écran de verrouillage dans le menu puis connectez-vous à nouveau.
Exemple XML code :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.detect.screen.unlocked</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/afplay</string>
<string>/System/Library/Frameworks/SecurityInterface.framework/Versions/A/Resources/lockOpening.aif</string>
</array>
<key>RunAtLoad</key>
<false/>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/com.apple.loginwindow.plist</string>
</array>
</dict>
</plist>
Notes :
-
Le fichier son dans ce exemple XML code peut évidemment être changé en ce que vous voulez, cependant, je suggère que son chemin n'est pas dans les limites de la valeur par défaut dossiers de la Racine de votre Accueil dossier car il peut y avoir un problème pour y accéder. Vous devrez tester si c'est un problème pour vous. Par exemple, dans le Racine de mon Accueil dossier J'ai dossiers J'ai créé ce qui n'était pas là à l'origine, c'est là que je le placerais.
-
Cela se déclenchera également lorsque vous se déconnecter comme le /Bibliothèque/Préférences/com.apple.loginwindow.plist fichier est également touché pendant un se déconnecter . Par touché cela signifie au minimum que date/heure de la fichier a changé, pas nécessairement son contenu. (Je n'ai pas été en mesure de détecter une modification de son contenu, si tant est qu'il y en ait eu une, en dépit de l'utilisation de l'option date/heure de la fichier ayant changé). Il peut y avoir d'autres événements qui peut faire en sorte qu'il soit touché Il ne s'agit donc pas d'une solution parfaite. Je la mettrais quand même en place et la testerais pendant un certain temps. Si vous êtes satisfait, vous pouvez la laisser en place ou la supprimer comme vous le souhaitez.
-
Pour arrêter le /Bibliothèque/Préférences/com.apple.loginwindow.plist d'être regardé et, par conséquent, le son n'est plus joué lorsque la touche écran verrouillé est déverrouillé vous devrez décharger le site com.my.detect.screen.unlocked.plist fichier puis le supprimer.
Méthode alternative
Cela implique l'utilisation d'une tierce partie application appelé EventScripts qui coûte 4,99 $. USD sur le US App Store Cependant, il existe une version de démonstration que vous pouvez télécharger à partir du site Web des développeurs pour faire un essai et voir si vous pensez que le prix en vaut la peine.
Ce site application se trouve dans la zone de la barre de menu avec les autres applets de menu et répond à une variété de questions. événements l'un en particulier de ce sujet est Déverrouillage du mot de passe de l'écran dans lequel vous utiliseriez le AppleScript do shell script
commande à exécuter, par exemple afplay /path/to/filename.mp3
.
Note : Je ne suis pas affilié au développeur de EventScripts Je suis juste un utilisateur satisfait du produit.
Exemple AppleScript code :
on run eventArgs
set thisTrigger to (trigger of eventArgs)
if thisTrigger is "Screen password unlocked" then
do shell script "/usr/bin/afplay /System/Library/Frameworks/SecurityInterface.framework/Versions/A/Resources/lockOpening.aif"
end if
end run