web-dev-qa-db-fra.com

Icône? déposer sur le bureau OS X

Lorsque je ls mon bureau à partir du terminal (en utilisant ls ~/Desktop), je vois un fichier nommé Icon?. Autant que je sache, il est vide (nano Icon? ne montre rien). Il ne s'affiche pas sur mon bureau actuel et open Icon? affiche l'alerte du Finder.

Cet élément est utilisé par Mac OS X et ne peut pas être ouvert.

Voici le résultat de mdls Icon?:

kMDItemContentType         = ""
kMDItemFSContentChangeDate = 2009-09-23 13:32:52 -0600
kMDItemFSCreationDate      = 2009-09-20 07:27:46 -0600
kMDItemFSCreatorCode       = "MACS"
kMDItemFSFinderFlags       = 16384
kMDItemFSHasCustomIcon     = 0
kMDItemFSInvisible         = 1
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery      = 0
kMDItemFSLabel             = 0
kMDItemFSName              = "Icon "
kMDItemFSNodeCount         = 0
kMDItemFSOwnerGroupID      = 20
kMDItemFSOwnerUserID       = 501
kMDItemFSSize              = 0
kMDItemFSTypeCode          = "icon"

Est-ce que quelqu'un a une idée de ce que c'est?

81
Chris

Qu'Est-ce que c'est?

Son nom est en fait Icon\r, \r étant le retour chariot 0x0D. Si le shell complète automatiquement le chemin d'accès dans Terminal, il génère Icon^M, ^M étant \r.

Icon^M est un fichier existant dans tous les répertoires ayant une icône personnalisée dans le Finder. Si vous modifiez l’icône d’un répertoire, par exemple dans son dialogue Obtenir des informations en collant une image dans l'icône située dans le coin supérieur gauche, le fichier Icon^M est créé.

La modification de l'icône d'un volume crée un fichier .VolumeIcon.icns masqué.

Pourquoi est-ce invisible?

Il est invisible dans le Finder, car son attribut hidden est défini.

$ ls -lO Icon^M 
-rw-r--r--@ 1 danielbeck  staff  hidden 0 24 Apr 23:29 Icon?

Changer avec chflags nohidden Icon^M.

Où sont ses données?

Alors que le fichier fork (c.-à-d. Le contenu) du fichier est vide (c’est-à-dire que la taille du fichier dans Terminal est de 0 octets), les données d’icône réelles sont stockées dans le fichier fork du fichier .

$ ls -l@ Icon^M
    com.Apple.ResourceFork  350895 

Vous pouvez copier la branche de ressources dans un fichier (pour l'afficher par exemple dans un éditeur hexadécimal) comme ceci:

$ cp Icon^M/..namedfork/rsrc Icondata

Comment puis-je le voir?

Le moyen le plus simple d’obtenir l’image est de copier l’icône de la boîte de dialogue Obtenir des informations du dossier qui la contient dans le Presse-papiers, puis de créer une nouvelle image à partir du Presse-papiers dans Aperçu ( Cmd-N). C'est une image icns puis par défaut.

Son format est JPEG 2000 selon la version Mac OS de XnView et vous devriez pouvoir l'ouvrir avec ce programme. Cela ne semble pas fonctionner avec les autres programmes qui devraient supporter JPEG 2000, ce format est donc probablement faux.

96
Daniel Beck

Un fichier Icon? dans un répertoire contient une image d'icône personnalisée pour ce répertoire. L'image elle-même est stockée dans un attribut de fichier étendu, plus précisément, com.Apple.ResourceFork, raison pour laquelle le fichier Icon? ne semble pas avoir de longueur.

Vous pouvez récupérer ces données avec $ xattr -p com.Apple.ResourceFork Icon? ou afficher tous les attributs étendus avec $ xattr -l Icon?

Sous Snow Leopard, au moins, elles semblent avoir été supprimées progressivement pour les icônes système (dans le cas de ~/Desktop /, cette icône serait visible lors de l'affichage de votre répertoire de base dans la vue des icônes.) Mais pour les deux icônes de répertoire personnalisées I avoir sur mon système, il existe toujours.

10
NReilingh

Qu'Est-ce que c'est?

C'est le fichier qui stocke l'image pour l'icône de votre dossier. Je n'ai pu le créer que si j'avais chargé manuellement une image dans le dossier. Je ne les ai pas sur mon système par défaut.

Comment trouver les fichiers Icon ^ M

REMARQUE:

Ce n'est pas la même chose que .icns extension de fichier.

Si vous êtes paranoïaque à propos de la découverte d’un faux positif, utilisez:ctrl+vctrl+m au lieu de ?

#!/bin/bash
# =============================================================================
# MAC OSX High Sierra 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================

echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;

Comment créer le fichier Icon ^ M

  1. Open Finder
  2. Clic droit sur un dossier
  3. Appuyez et maintenez Option sur votre clavier
  4. Sélectionnez Afficher l'inspecteur
  5. Faites glisser une image vers l'icône du dossier en haut à gauche.
  6. Exécutez ls -lah sur ce répertoire
    1. Tu devrais voir:
      • -rw-r--r--@ 1 username staff 0B May 13 22:23 Icon?

Comment supprimer le fichier Icon ^ M

Si vous avez besoin de le retirer pour une raison quelconque ... dites-le accidentellement à des fins de test.

#!/bin/bash
# =============================================================================
# MAC OSX High Sierra 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================

echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;

Référence de mon post sur une autre question:

Comment puis-je supprimer des dossiers vides sous Mac OS X?

5
JayRizzo