Mon
illétrisme dans le domaine des écrits informatiques trouve toujours à exercer sa candeur en suivant les pistes de lecture grâcieusement fournies par
François 
.
D'après Google, il y aurait une formule qui exorcise le com.apple.IconServicesAgent :
Bloc de code:
mkdir ${TMPDIR}/com.apple.IconServices
=
https://discussions.apple.com/thread/5472367?start=60&tstart=0
♤
J'ai donc lu avec attention le billet du dénommé
Kieran Healy, dont le nom de scène '
healy' (que je traduirais par un : 'retourné_à_la_santé_après_accès_maladif') paraît des plus approprié en l'occurrence.
En résumé : ayant constaté sur son Mac des
accès temporaires d'enfièvrement de la consommation de CPU, joint à une immobilisation conséquente de RAM, occasionnés par l'
Agent : '
IconServices', il s'est demandé
pourquoi cela se produisait et
comment y pallier.
- Pourquoi => son interprétation d'après des messages de la «Console» est que l'Agent en question échouerait à écrire des fichiers temporaires dans un dossier temporaire : «com.apple.IconServices» à l'intérieur du répertoire : /var sous l'effet conjoncturel de tentatives de la part l'utilisateur d'ouvrir tel ou tel dossier personnel recelant des fichiers-images, ce parce que :
- ledit dossier devant accueillir ces fichiers temporaires n'existe pas à l'adresse attendue de son OS («If you take a look at the named directory in Terminal that the Agent is trying to write to, you’ll find it isn’t there») ;
- ledit Agent n'aurait pas les permissions d'écrire les fichiers temporaires évoqués à l'adresse attendue («the Agent tries to create files in a temporary location in /var/ but is having permission to do this denied»)
- Comment => la méthode qu'il préconise est donc de de baliser à l'adresse attendue un 'terrain d'opération' pour que l'Agent puisse effectuer sa tâche sans 'mouliner dans l'échec' :
- ce, en créant à l'adresse attendue un dossier temporaire : «com.apple.IconServices» avec des permissions : 755 user:staff (soit : drwxr-xr-x) grâce à une commande dans le «Terminal» au chemin abrégé par une variante environnementale = mkdir ${TMPDIR}/com.apple.IconServices.
- cette création d'un dossier temporaire devrait être ré-itérée pour chaque 'accès d'écriture de fichiers temporaires' de la part de l'Agent, suscitées par les actions d'ouverture de dossiers-images de l'utilisateur, c'est-à-dire à chaque ré-ouverture de la session d'utilisateur («this is necessary at most only once per startup or proper login cycle»)
♧
Je dois dire que, dans mon existence de lecteur exercé aux seules rigueurs de la
logique discursive du commissaire Bougret du langage naturel, j'ai rarement eu l'occasion de contempler autant de
confusion intellectuelle en si peu de mots.
Parce que, à la racine, le répertoire
/var de l'OS n'accueille nullement des '
fichiers temporaires' (réservés au répertoire
/tmp), mais des '
fichiers-caches' ; à l'intérieur duquel le sous-répertoire '
folders' n'est aucunement un 'classeur' d'accueil provisoire dédié à une espèce de '
fichiers-temporaires', mais est un sous-répertoire-système, parfaitement structurel, attendu en mode constant, pour l'écriture de '
fichiers-caches' ; à l'intérieur duquel le répertoire au 3è degré : «
com.apple.IconServices» n'a rien d'un
dossier temporaire servant à accueillir, le temps d'une session, des '
fichiers-temporaires' écrits par un
Agent de tâches '
iconographiques' en réponse à des problèmes ponctuels d'ouverture par l'utilisateur d'un dossier d'images personnel, mais est un dossier structurel d'accueil des caches graphiques à l'échelle du Système.
Il ne peut donc pas être question, par une commande du «
Terminal» abrégé dans son chemin grâce à une variable environnementale, de créer avec statut de
dossier temporaire un répertoire «
com.apple.IconServices» requis par le Système
comme répertoire-système permanent dédié aux caches graphiques. Si un tel dossier fait défaut dans l'OS du dénommé
Healy, c'est tout bonnement que son OS a un problème architectural et devrait être ré-installé.
♡
Cette
erreur d'interprétation de la nature du répertoire et des fichiers qu'il doit receler, d'une part s'accompagne d'une
incohérence logique chez le susdit, et d'autre part donne lieu à une
fuite-en-avant tactique totalement futile :
- incohérence logique. On ne peut pas simultanément et sous le même rapport supposer qu'un objet n'existe pas (le répertoire «com.apple.IconServices» qui ferait défaut à l'adresse attendue) et que le même objet existe (mais serait doté de permissions insuffisantes à y permettre une tâche d'écriture de fichiers). C'est pourtant ce qu'assume Healy en cherchant contradictoirement à la fois à créer un répertoire temporaire ET à doter de permissions qui lui auraient fait défaut un répertoire temporaire présupposé exister sans elles en tant que raison de l'échec d'écriture de la part de l'Agent. CQFD

- fuite-en-avant tactique. Il est clair que s'assigner la tâche itérative de re-créer à l'ouverture de chaque session un dossier temporaire «com.apple.IconServices» pour accueillir des écritures de fichiers interprétées comme temporaires, alors même que le problème se résume à l'absence d'une répertoire-système attendu dans sa permanence par des écritures cache du Système qui n'ont rien de fichiers temporaires, revient à colmater la fuite d'une durite_vapeur avec une manche de chemise [comme l'improvise brillamment Charlie (aka : Humphrey Bogard) dans «The African Queen» afin de pallier à la pression des urgences politiques de Rosie (aka : Katarina Hepburn].
♢
Car ce n'est pas du tout de cela dont il question dans le sujet abordé

. Mais simplement que sous «
Mavericks» un processus parfaitement
structurel et qui n'a rien de temporairement lié à une manœuvre indue d'utilisateur, à savoir le :
com.apple.IconServices écrit continûment du cache graphique à un emplacement-système attendu : le dossier «
com.apple.IconServices» qui doit donc être présent par défaut dans le répertoire
/var/folders. Cette opération d'écriture continue de caches graphiques est indubitablement en relation avec le nouveau dispositif de «
Mavericks» consistant dans la lecture directe de caches par le Système, en court-circuitage de celle des fichiers de référence, pour activer les fonctionnalités qui en dépendent : ici, il s'agit de celle de «
QuickLook», fonctionnalité d'affichage graphique qui procède par lecture directe des caches graphiques.
Lorsque le dénommé
Healy évoque donc un re-création à chaque ouverture de session du dossier d'accueil des caches : «
com.apple.IconServices» en tant que dossier temporaire, il pallie manifestement une architecture bancale de son OS par une rustine pathétique conformément à l'adage :
mettre un cautère sur une jambe de bois. Et lorsqu'il évoque le fait que ledit dossier temporaire pourra ainsi se remplir tranquillement de la série de fichiers temporaires écrits par l'
Agent («
Inside the directory the needed files are now created and IconServicesAgent returns to its normal state of quietude»), il pense être débarrassé du tracas qui le titillait (consommation de la CPU) alors que c'est seulement sur ce point que
commence la question que je soulevais : une discutable instruction inhérente à «
Mavericks» qui, toutes choses étant dans l'ordre attendu (à savoir un dossier-système «
com.apple.IconServices» présent par défaut à l'emplacement attendu), fait écrire une
itération indéfinie de fichiers-cache graphiques suite au changement d'API des ressources graphiques (passage des bibliothèques «
QuickTime»*à celles de l'«
AV Foundation»). Sans parler de la délirante redondance des dossiers «
com.apple.IconServices» dans des répertoires parents distribués en une structure en miroir : à savoir le parallélisme des répertoires : '
C'.
-----
[NB. Il est bien évident que, dans un OS «
Mavericks» à l'architecture non bancale, la commande :
Bloc de code:
mkdir ${TMPDIR}/com.apple.IconServices
ne peut qu'échouer dès lors qu'un dossier-système «
com.apple.IconServices» est bien déjà présent
par défaut à titre permanent sous le même intitulé. Le seul retour de commande possible étant un :
file already exists. Par ailleurs, le dossier-système «
com.apple.IconServices» ne doit pas être en permissions :
755 user:staff mais en
700 user:staff.]
♘