Erreurs survenues lors de la modification d'un fichier en lecture seule (le dictionnaire CSS du dictionnaire contextuel) sous OS X

3

Quand j'ai essayé d'éditer un fichier CSS pour ajuster la police de la pop-out via vim in terminal, j'ai eu
W10: Warning: Changing a readonly file. Pensant que sudo pourrait être utilisé pour résoudre ce problème, je suis quand même allé éditer le fichier.

body {font-size: 12pt;} → body {font-size: 14pt;}

Mais alors je ne pouvais pas sauver le changement. J'ai essayé une commande suggérée en ligne :w !sudo tee %et j'ai

/bin/bash: -c: line 0: unexpected EOF while looking for matching `''
/bin/bash: -c: line 1: syntax error: unexpected end of file

shell returned 2

Comment améliorer cette commande?

/System/Library/Assets/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/3300e8c78ceb9a7ceeb617334b1df9018e6b46b8.asset/AssetData/Oxford\ American\ Writer\'s\ Thesaurus.dictionary/Contents/Resources/DefaultStyle.css

macOS Sierra 10.12.6

après midi
la source

Réponses:

2

Vous essayez de modifier un fichier dans un emplacement restreint, protégé par System Integrity Protection.

$ ls -O / Système / Bibliothèque / Assets / com_apple_MobileAsset_DictionaryServices_dictionaryOSX
total 104
drwxr-xr-x 7 restreint roue radiculaire     224B 19 avril 09:29 ./
drwxr-xr-x @ 24 restreint roue de base     768B 31 mars 12:15 ../
drwxr-xr-x 5 restreint roue de roue     160B 31 mars 12:19 2fcc349eb53d7c336b8372758b70508eb8e2ac0b.asset /
drwxr-xr-x 5 restreint roue de roue     160B 31 mars 12:19 61b49f47f0dce1c061c688d415e1f1a84c37fce0.asset /
drwxr-xr-x 5 restreint roue de roue     160B 31 mars 12:19 cd4d7cc1cd227a13d2b9c029f86c940f94b7543a.asset /
-rw-r - r-- 1 roue de motrice   restreinte   3.4K 19 avril 09:29 com_apple_MobileAsset_DictionaryServices_dictionaryOSX.plist
-rw-r - r-- 1 roue racine   limitée    44K 19 avril 09:29 com_apple_MobileAsset_DictionaryServices_dictionaryOSX.xml

Ceux-ci ne peuvent pas être édités même avec sudo. Pour éditer des fichiers dans des emplacements restreints, soit:

  • Effectuez la modification à partir de Recovery HD.

    1. Démarrez dans Recovery HD en redémarrant tout en maintenant R.
    2. Utilisez le terminal dans le menu Utilitaires de Recovery pour effectuer la modification. Notez que / est le point de montage de l'environnement de récupération. Par conséquent, vous devez accéder à votre disque à partir de /Volumes/yourdiskname/….
    3. Redémarrer
  • Désactivez la protection de l'intégrité du système , effectuez la modification, puis réactivez-la.

    1. Démarrez dans Recovery HD en redémarrant tout en maintenant R.

    2. Ouvrez Terminal (à partir du menu Utilitaires).

    3. Exécutez la commande suivante dans Terminal:

      csrutil disable
      
    4. Redémarrer.

    1. Effectuez les modifications que vous souhaitez apporter aux fichiers.

    2. Démarrez une fois de plus dans Recovery HD et exécutez-le csrutil enablepour réactiver SIP.

grg
la source
J'avais essayé les deux. Je ne sais pas pourquoi mais le mauvais chemin pour la première méthode, car le terminal a ouvert un nouveau fichier vierge pour moi. En ce qui concerne la deuxième méthode, les modifications ne pouvaient toujours pas être conservées après la désactivation de csrutil; cette fois, le message d'erreur est «E212: Impossible d'ouvrir le fichier en écriture». Merci pour votre aide quand même.
Après midi
@afternoon Méthode 1: Avez-vous fourni le bon chemin avec le nom de votre disque sous / Volumes? Vérifiez que vous avez le bon chemin avec ls? Méthode 2: Le fait que SIP soit désactivé ne signifie pas que votre compte dispose d'un accès en écriture au fichier. Il ne vous appartient toujours pas. Vous devez donc vous adresser à sudo pour le modifier.
grg