web-dev-qa-db-fra.com

Supprimer les applications des services de localisation dans Security & Confidentialité sur Mac OS X 10.8

Je voulais supprimer des applications des services de localisation dans les paramètres de sécurité et de confidentialité sur Mac OS X 10.8 Mountain Lion. (Les applications étaient encore énumérées même si elles étaient désinstallées.) J'ai trouvé la post Supprimer l'application des services de localisation dans Security & Confidentialité sur Mac OS X 10.7 , et cela me permettra d'aller dans la bonne direction. Voici l'équivalent de lion de montagne OS X 10.8.2 qui a fonctionné pour moi. La principale différence est l'emplacement des clients.Plist Fichier. Je voulais aussi fournir un processus étape par étape.

Disclaimer: cela a fonctionné pour moi. Assurez-vous d'avoir une bonne sauvegarde de votre système. Ce processus comprend une sauvegarde des clients.Plist Fichier, mais on ne peut jamais être trop sûr.

1. Démarrer le terminal, puis sudo à une coquille racine
[.____] Sudo -s

2. Allez à/var/dB/emplacementd
[.____] cd /var/db/locationd

3. Faites une sauvegarde des clients.Plist Fichier
[.____] cp -p clients.plist clients.plist.save

4. Convertissez des clients.plist au format XML (format modifitable)
[.____] plutil -convert xml1 clients.plist

5. Utilisez VI (VIM) pour modifier les clients.Plist Fichier et supprimer l'application.
[.____] vi clients.plist

Le fichier contiendra probablement de nombreuses entrées d'application. Voici le format d'une seule entrée d'application (Safari dans ce cas). L'entrée entière doit être supprimée.

    <key>com.Apple.Safari</key>
    <dict>
        <key>Authorized</key>
        <true/>
        <key>BundleId</key>
        <string>com.Apple.Safari</string>
        <key>Executable</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>LocationTimeStopped</key>
        <real>376348187.80421197</real>
        <key>Registered</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>RequirementString</key>
        <string>identifier "com.Apple.Safari" and anchor Apple</string>
        <key>Whitelisted</key>
        <false/>
    </dict>

6. Convertissez les clients.Plist Dossier en binaire
[.____] plutil -convert binary1 clients.plist

7. Redémarrez l'emplacementD
[.____] killall locationd

Si les applications sont toujours là, faites le processus à nouveau, sauf Redémarrez LocationD à l'aide de Kill -9 après avoir déterminé le PID comme suit. Le PID est le deuxième champ de la sortie PS.

ps -ef | grep locationd | grep -v grep
Production: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
[.____] kill -9 427

J'ai couru le processus deux fois pour supprimer une application à la fois. La première fois, Killall était suffisante. La deuxième fois, ce n'était pas. Je ne sais pas pourquoi. Il a agi comme EmplacementD gardé un cache et reconstituer des clients .Plist. Je dis cela parce que les entrées ont été ajoutées à Clients.Plist après avoir exécuté Killall - et même sur un redémarrage. Quelle que soit la cause première, utiliser Kill -9 a résolu le problème pour moi.

Si les choses vont mal, copiez le fichier d'origine et redémarrez LIEYD.
[.____] cp -p clients.plist.save clients.plist
[.____] killall locationd (ou la méthode Kill -9)

J'espère que ça aide. Acclamations!

20
Scot S

L'éditeur de liste de propriétés de XCode peut également être utilisé pour supprimer les entrées d'anciennes applications, mais que le fichier est difficile à atteindre, les autorisations doivent être temporairement ouvertes:

mini-nevie:~ root# chmod o+rwx /var/db/locationd/ /var/db/locationd/clients.plist

donc, le répertoire et le fichier peuvent être lus et écrits par tous les utilisateurs. Ensuite, pour la commodité, Suivez votre identifiant de connexion:

mini-nevie:~ root# su - nevinwilliams
mini-nevie:~ nevinwilliams$ open /var/db/locationd/clients.plist 

Cela assume Xcode est l'application par défaut pour l'ouverture des fichiers * .Plist et vous connaissez l'éditeur de liste de propriétés. Sous la propriété racine, il existe 3 entrées de dictionnaire par défaut:

com.appl
com.appl.locationd.executable-/usr/libexec/UserEventAgent
com.appl.aosnotifyd

Ceux qui ne devaient pas être enlevés. Pour les entrées qui appartiennent à des applications de longue durée, vous pouvez survoler uniquement à gauche de la colonne Dictionnaire de la ligne de l'application correspondante, où un gris inverse '-' apparaîtra. En cliquant dessus, vous supprimerez l'article et tous ses enfants. Si vous préférez inspecter l'entrée en premier, cliquez sur le triangle gris (familier à la liste des utilisateurs de la liste de Finder) à gauche de la chaîne de clés élargira le dictionnaire et affichera ses éléments.

Une fois que vous avez supprimé ou désactiver les clés de votre satisfaction, enregistrez le fichier et quittez Xcode. Puis, dans le terminal, faites:

mini-nevie:~ nevinwilliams$ exit
logout
mini-nevie:~ root# 

appuyez deux fois sur le haut-flèche pour rappeler la commande chmod, ctrl-A aller au début de la ligne, cursor-right Environ huit fois, changez le '+' à un '-' ou entrez ce qui suit comme indiqué pour restaurer les autorisations à ce qu'ils étaient:

mini-nevie:~ root# chmod o-rwx /var/db/locationd /var/db/locationd/clients.plist 

puis HUP Le démon d'emplacement:

 mini-nevie:~ root# killall -HUP locationd

une vérification rapide de l'onglet Confidentialité Security.Prefpane devrait confirmer vos modifications.

Claissions de non-responsabilité standard, contestations de la malheur, grondements, luckingings et "ce voyage est vraiment nécessaire?" Les reflets sont particulièrement applicables.) ==) ==) ==) ==)

5
Nevin Williams

Utilisation de TCCOUTIL (Utilitaire de ligne de commande OS X)

Je pense que le moyen le plus rapide et le plus sûr de le faire est par l'utilitaire de ligne de commande OS X ( TCCOUTIL

  • Ouvrez une nouvelle fenêtre de terminal
  • Fermer les fenêtres de préfpane Open "Security & Confidentialité"
  • Tapez ou coller des commandes en surbrillance suivantes

Réinitialiser les services de localisation

tccutil reset CoreLocationAgent

Réinitialiser l'accès aux contacts/carnet d'adresses:

tccutil reset AddressBook

Réinitialiser l'accès aux rappels

tccutil reset Reminders

Réinitialiser l'accès aux calendriers

tccutil reset Calendar

Et c'est tout ce qu'il y en a. Aucun sudo n'avait besoin, au fait.

3
Andreas

En plus des réponses précédentes, ce problème ne m'a disparu que pour la correction de la propriété du fichier:

# chown -R _locationd:_locationd /var/db/locationd/
# chmod 750 /var/db/locationd/
# chmod 644 /var/db/locationd/clients.plist

Puis redémarrez l'ordinateur.

0
T. Gil