Ouvrir le menu principal

MacGeneration

Recherche

Le bac à sable de macOS peut gêner les commandes « defaults write »

Nicolas Furno

mardi 29 septembre 2020 à 09:51 • 14

macOS

Avec la généralisation du sandboxing sur macOS, on ne peut plus aussi facilement modifier les réglages cachés de certaines apps en utilisant l’outil en ligne de commande defaults write. C’est ce qu’a découvert Dan Moren de Six Colors quand il a voulu activer le menu « Debug » de Safari, en utilisant cette commande qui fonctionnait depuis des années :

defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
Le menu Debug de Safari 14.

Cette commande existe pourtant toujours et elle devrait fonctionner pour activer le menu supplémentaire de Safari, un menu utile surtout aux développeurs qui doivent optimiser un site web ou comprendre pourquoi un élément ne fonctionne pas normalement dans le navigateur d’Apple. Le sandboxing et les mesures de sécurité régulièrement renforcées viennent toutefois la perturber à deux niveaux, comme le détaille le développeur Jeff Johnson.

Quand une app est mise à jour pour gérer le bac à sable de macOS, ses réglages sont déplacés de leur emplacement historique (dans le dossier ‌~/Library/Preferences) à un sous-dossier dans ‌~/Library/Containers/. Dans le cas de Safari, la transition a eu lieu l’an dernier avec Safari 13 et son fichier de préférences est désormais accessible à cet endroit : ~/Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari.plist.

En théorie, la commande default writes devrait être suffisamment maligne pour le savoir et modifier le bon fichier. Mais deux problèmes peuvent se poser : d’une part, Apple ne supprime jamais les anciens fichiers de préférences, si bien qu’il y a un doublon dans le système pour chaque app sandboxée. Il y a ainsi deux fichiers de réglages de Safari, celui indiqué précédemment et la version historique est conservée à cet autre emplacement : ~/Library/Preferences/com.apple.Safari.plist.

D’autre part, si votre application de terminal n’est pas configurée pour avoir un accès complet aux données (une nouveauté de macOS Mojave), la ligne de commande va modifier le fichier historique et non le nouveau. L’explication est simple : sans cet accès complet, le terminal ne peut pas lire ou écrire dans le dossier ‌~/Library/Containers et la ligne de commande se rabat sur l’ancien fichier qui est toujours accessible.

Pour vérifier ce paramètre, ouvrez les Préférences système, puis le panneau « Sécurité et confidentialité » et enfin l’onglet « Confidentialité ». Cliquez sur le cadenas en bas à gauche et saisissez le mot de passe de votre session, puis cliquez sur « Accès complet au disque » dans la barre de gauche et vérifiez que l’app Terminal soit dans la liste. Si ce n’est pas le cas, ajoutez-la en touchant le bouton +.

L’app Terminal doit avoir accès au disque complet pour que le bon fichier de préférences soit modifié par la ligne de commande.

Cet exemple lié à Safari met en avant un problème qui se pose de plus en plus et qui va se poser encore plus à l’avenir. Cette ligne de commande historique de macOS fonctionne toujours, mais les restrictions de sécurité de ces dernières années peuvent imposer des étapes supplémentaires à connaître pour bien l’utiliser.

Si la commande defaults write ne semble pas fonctionner, vérifiez que vous n’êtes pas dans le cas d’une app qui est passée dans le bac à sable et de l’app Terminal qui n’a pas accès à toutes les données.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Non, ceci n'est pas un HomePod

20:11

• 7


N'attendez pas ! Le MacBook à moins de 500 € existe déjà

19:25

• 0


Test des iPad Pro M5 : toujours plus forts, pas vraiment plus pros

10:48

• 17


Cyberpunk 2077 : le MacBook Pro M5 explose le MacBook Air M4

08:45

• 118


Sortie de veille : à peine lancé, l’iPhone Air est-il déjà condamné ?

08:00

• 79


Le MacBook avec puce iPhone peut-il sortir d'ici la fin de l'année ?

24/10/2025 à 21:56

• 28


Réparer des photos anciennes, floues ou bruitées avec Aiarty Image Enhancer (licence à vie à -45 %) 📍

24/10/2025 à 18:12

• 0


AirDrop surveille des canaux Wi-Fi et peut perturber votre appareil Apple si vous ne les utilisez pas

24/10/2025 à 17:00

• 32


Alors qu’Apple Intelligence se traîne, Apple livre en avance ses serveurs d’IA « made in USA »

24/10/2025 à 15:20

• 55


Crayola s’associe à Sandisk pour lancer des clés USB format crayon

24/10/2025 à 14:20

• 14


Comme ChatGPT, Claude se base sur les conversations précédentes, mais c’est payant pour le moment

24/10/2025 à 12:30

• 26


Microsoft ressuscite Clippy avec Mico, un nouvel assistant vocal carburant à l’IA

24/10/2025 à 10:28

• 9


La fin de Windows 10 donne un coup de fouet aux ventes de Mac

24/10/2025 à 09:05

• 49


OpenAI achète Sky, l’outil d’automatisation basé sur IA des créateurs de Raccourcis

24/10/2025 à 08:30

• 15


Amplify : les chaussures électriques signées Nike

24/10/2025 à 08:13

• 116


Apple : la fin annoncée du panneau “Autoriser le suivi” (ATT) en Europe ?

24/10/2025 à 08:13

• 116