macos – OS Xデスクトップのアイコン?

desktop ls macos terminal

ターミナルからデスクトップをls(ls ~/Desktopを使って)起動すると、Icon?という名前のファイルが出てきます。私が見た限りでは、それは空っぽです (nano Icon? は何も表示していません)。実際のデスクトップには表示されず、open Icon? には Finder アラートが表示されています

このアイテムはMac OS Xで使用しているため、開くことができません

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"

誰か心当たりのある方はいませんか?

  86  Chris  2011-06-18


ベストアンサー

それは何ですか?

実際の名前は Icon\r で、\r はキャリッジリターン 0x0D です。Terminal でシェルにパスをオートコンプリートさせると、Icon^M^M\r となります

Icon^M ファイルは、Finder のカスタムアイコンを持つすべてのディレクトリに存在するファイルです。情報の取得ダイアログで左上のアイコンに画像を貼り付けるなどしてディレクトリのアイコンを変更すると、Icon^M ファイルが作成されます

ボリュームのアイコンを変更すると、代わりに隠された.VolumeIcon.icnsファイルが作成されます

なぜ見えないのか?

Finderではhidden属性が設定されているので見えません

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

chflags nohidden Icon^Mで変更します

データはどこにあるの?

ファイルのデータフォーク(つまりコンテンツ)が空である間(つまりターミナルではファイルサイズが 0 バイト)、実際のアイコンデータはファイルの リソースフォーク に格納されます

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

このように、リソースフォークをファイルにコピーすることができます (例: 16進数エディタで表示するため)

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

どうやって見ればいいですか?

画像を取得する最も簡単な方法は、そのアイコンが入っているフォルダの情報を取得ダイアログからクリップボードにコピーして、 プレビューでクリップボードから新しい画像を作成することです (Cmd-N)。デフォルトでは icns の画像になっています

フォーマットはXnViewのMac OS版によるとJPEG 2000となっており、そのプログラムで開くことができるはずです。JPEG 2000に対応しているはずの他のプログラムでは動作しないようなので、このフォーマット情報はおそらく間違っていると思われます

102  Daniel Beck  2011-06-18


ディレクトリ内の Icon? ファイルには、そのディレクトリ用のカスタムアイコン画像が含まれています。画像自体は拡張ファイル属性、具体的には com.apple.ResourceFork の中に格納されています

そのデータを$ xattr -p com.apple.ResourceFork Icon?で取得したり、$ xattr -l Icon?ですべての拡張属性を表示したりすることができます

少なくとも Snow Leopard では、システムアイコンは段階的に廃止されたようですが (‾/Desktop/ の場合、ホームディレクトリをアイコンビューで表示するとそのアイコンが表示されます)、私のシステムにある 2 つのカスタムディレクトリアイコンについては、まだ存在しています

11  NReilingh  2011-06-18


それは何ですか?

これは、フォルダアイコンのイメージを保存するファイルで、手動でフォルダにイメージをロードした場合にのみ作成することができました。私のシステムにはデフォルトではこのファイルはありません

Icon^Mファイルの探し方

NOTE:

.icnsのファイル拡張子とは異なります

もし偽陽性が見つかった場合には、?

#!/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;

Icon^Mファイルの作成方法

  1. Open Finder
  2. フォルダを右クリックします
  3. キーボードのOptionを押したままにします
  4. インスペクタを表示] を選択します
  5. 画像を左上のフォルダアイコンにドラッグします
  6. そのディレクトリでls -lahを実行してください
    1. 見た方がいいですよ
      • -rw-r--r--@ 1 username staff 0B 5月13日 22:23 アイコン?

Icon^Mファイルを削除する方法

何らかの理由でそれを削除する必要がある場合…それをテストするために偶然にそれを言ってください

#!/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;

別の質問での私の投稿からの引用です

Mac OS Xで空のフォルダを削除するには?

7  JayRizzo  2018-05-14


Icon^Mファイルは、格納されているフォルダのカスタムイメージを管理するmacOSの隠しシステムファイルです。しかし、ユーザーはこれらのファイルが別の理由で作成されたことに気づくかもしれません

例えば、macOS版のGoogle Driveでは、同期状況を把握するためにフォルダごとにアイコンファイルを作成していました

これらのファイルは安全に削除してください。ターミナルで親ディレクトリから以下のコマンドを実行してください。(ctrl-v, ctrl-m キーを押しながら ^M を挿入してください)

を検索します。-type f -name ‘Icon^M’ -exec rm -f {}.\;

1  Mike Conant  2020-04-16


タイトルとURLをコピーしました