Ora sono su OS X 10.9 e non sono sicuro che questo problema si verifichi anche su altre versioni.
Quindi, ho molti collegamenti simbolici nel mio file system (creati da ln -s
). Oggi ne ho modificato uno con ln -f -s
(vedi i passaggi dettagliati sotto). Il link simbolico funziona senza problemi, ma l'icona del link simbolico nel Finder è cambiata dall'icona della cartella (con il badge alias) all'icona del file (con il badge alias). Vale a dire, l'icona dovrebbe essere
(poichéilcollegamentosimbolicopuntaaunacartella)maoraè
I passaggi che ho seguito per modificare il collegamento sono stati i seguenti (ad esempio ho avuto il link simbolico ~/links/folder
che collega a ~/folder
prima e voglio spostare ~/folder
a ~/renamed-folder
mentre aggiorno il link simbolico a ~/links/renamed-folder
):
-
mv ~/links/folder ~/links/wrongly-renamed-folder
, il link è attivo ma rinominato (capita di essere rinominato erroneamente nel mio caso specifico, rivelato dalla mia cronologia zsh). -
mv ~/folder ~/renamed-folder
, qui il link è morto. Dopo questo passaggio l'icona di collegamento dovrebbe essere un'icona di file (che è il comportamento predefinito quando il collegamento è morto). -
mv ~/links/wrongly-renamed-folder ~/links/renamed-folder
, ho corretto il nome del link sbagliato (non so se questo ha contribuito al comportamento finale, quindi lo registro qui fedelmente). -
ln -f -s ~/renamed-folder ~/renamed-folder
, il link funziona di nuovo, e idealmente l'icona del link simbolico dovrebbe tornare all'icona di una cartella. Ma nel mio caso l'icona è ancora un'icona di file.
Ho preso alcune misure per risolvere questo problema ma non ci sono riuscito. Le cose che ho provato:
-
Rimuovi completamente il link e ricostruisci uno nuovo con
ln -s
. Inutile L'icona è ancora un'icona di file. Stranamente, se creo un altro collegamento con la stessa destinazione (ma un nome diverso), l'icona sarà un'icona di cartella come previsto. Solo un singolo nome (~/links/renamed-folder
nell'esempio precedente) è "riservato". -
Prova a incollare il file
icns
corretto nel pannello Informazioni. Inutile E non mi aspettavo che funzionasse davvero, dal momento che i symlink di Unix non hanno le loro icone associate, a differenza degli alias di OS X. -
Riavvia finder, o anche disconnettiti e accedi di nuovo. So che questo è stupido, ma le persone lo fanno quando sono disperati. E a volte fa funziona come un incantesimo; ma non questa volta, sfortunatamente.
Poi ho fatto un esperimento che in realtà ha rivelato un bug in Finder . Passi:
-
ln -s ~/Downloads ~/tmp
. L'icona ditmp
è l'icona della cartella di download con alias comeprevisto. rm~/tmp
.ln-s~/other-folder~/tmp
.L'iconaditmp
,tuttavia,èancoral'iconadellacartelladidownloadconalias,ancheselacartellacollegatanonèpiùlacartelladidownload.
Quindisembraesserciunasortadi"cache" in corso dietro le quinte che controlla le icone dei collegamenti simbolici, e il Finder a volte non riesce ad aggiornare la cache quando il collegamento simbolico viene modificato.
Quindi, la mia domanda è, dov'è la "cache" che controlla le icone dei collegamenti simbolici? Grazie.