0 votes

Ajouter un effet sonore de déverrouillage

Chaque fois que je déverrouille mon ordinateur MacOS, je veux qu'il joue un effet sonore à partir d'un fichier mp3.

  • J'ai donc créé un automate .app pour lire le son en utilisant Afplay commande shell.
  • J'ai testé l'application avec succès.
  • Et j'ai ajouté cette application comme élément de connexion sous Utilisateurs et Groupes.
  • J'ai donné au système la permission d'accéder à l'emplacement des mp3 lorsqu'il m'a demandé de le faire.

Cependant, je crains qu'il ne se déclenche que lorsque je me déconnecte complètement. Pas à chaque fois que je déverrouille l'écran de verrouillage.

enter image description here

Catalina 10.15.6 (19G73)

2voto

user3439894 Points 52496

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.

    • Sur Terminal :

      cd ~/Library/LaunchAgents
      launchctl unload com.my.detect.screen.unlocked.plist 
      rm com.my.detect.screen.unlocked.plist

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

0 votes

Merci de votre attention ! Attendez-vous à ce que ~/sound_effects pour répondre à la question "A la racine de mon dossier Home se trouvent des dossiers que j'ai créés et qui ne s'y trouvaient pas à l'origine" ? $pwd retours /Users/layne/sound_effects

0 votes

Il semble que vous ayez créé ou installé quelque chose /System/Library/Frameworks/SecurityInterface.framework parce que je ne l'ai pas

0 votes

@HashRocketSyntax Oui, ~/sound_effects devrait suffire. -- RE : "On dirait que c'est vous ou quelque chose que vous avez installé qui a été créé". /System/Library/Frameworks/SecurityInterface.framework parce que je ne l'ai pas" -- Comme je l'ai indiqué dans ma réponse "Ce qui suit a été testé et fonctionne sur une installation propre de MacOS Catalina 10.15.6.". -- /System/Library/Frameworks/SecurityInterface.framework/Versi‌​ons/A/Resources/lock‌​Opening.aif fait partie de MacOS et c'est le son qui est joué lorsque l'on déverrouille l'appareil. Verrouiller dans, par exemple, Préférences du système > Sécurité et vie privée .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X