icona errata del collegamento simbolico di Unix nel Finder

3

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 ):

  1. 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).

  2. 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).

  3. 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).

  4. 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:

  1. 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".

  2. 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.

  3. 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:

  1. ln -s ~/Downloads ~/tmp . L'icona di tmp è l'icona della cartella di download con alias comeprevisto.

  2. rm~/tmp.

  3. 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.

    
posta 4ae1e1 12.11.2013 - 00:51
fonte

1 risposta

10

Ho avuto lo stesso problema e sembra il problema in LaunchService in OS X. Per cancellarlo "cache" prova questo comando nel terminale

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user ;

e poi

killall Finder; killall Dock;

In Mavericks dovrebbe funzionare senza riavvio o re-login.

    
risposta data 23.03.2014 - 18:39
fonte

Leggi altre domande sui tag