icono incorrecto del enlace simbólico de Unix en Finder

Ahora estoy en OS X 10.9 y no estoy seguro de si este problema también ocurre en otras versiones.

Entonces, tengo muchos enlaces simbólicos en mi sistema de archivos (creados por ln -s). Hoy modifiqué uno de ellos con ln -f -s(ver los pasos detallados a continuación). El enlace simbólico funciona sin problemas, pero el ícono del enlace simbólico en Finder cambió de ícono de carpeta (con insignia de alias) a ícono de archivo (con insignia de alias). Es decir, el icono debe ser

icono de carpeta con insignia de alias

(ya que el enlace simbólico apunta a una carpeta) pero ahora es

icono de archivo con insignia de alias

Los pasos que tomé para modificar el enlace fueron los siguientes (digamos que tenía el ~/links/folderenlace simbólico a ~/folderantes, y quiero moverme ~/foldermientras ~/renamed-folderactualizo el enlace simbólico a ~/links/renamed-folder):

  1. mv ~/links/folder ~/links/wrongly-renamed-folder, el enlace está activo pero renombrado (en mi caso específico, se renombró incorrectamente, revelado por mi historial de zsh).

  2. mv ~/folder ~/renamed-folder, aquí el enlace quedó muerto. Después de este paso, el ícono del enlace debe ser un ícono de archivo (ese es el comportamiento predeterminado cuando el enlace está inactivo).

  3. mv ~/links/wrongly-renamed-folder ~/links/renamed-folder, corregí el nombre del enlace incorrecto (no sé si esto contribuyó al comportamiento final, así que lo registro aquí fielmente).

  4. ln -f -s ~/renamed-folder ~/renamed-folder, el enlace vuelve a funcionar e, idealmente, el icono del enlace simbólico debería volver a ser un icono de carpeta. Pero en mi caso, el ícono sigue siendo un ícono de archivo.

Tomé algunas medidas para solucionar este problema pero fallé. Las cosas que he probado:

  1. Elimine el enlace por completo y reconstruya uno nuevo con ln -s. Es inútil. El icono sigue siendo un icono de archivo. Por extraño que parezca, si creo otro enlace con el mismo destino (pero con un nombre diferente), el ícono será un ícono de carpeta como se esperaba. Solo ese único nombre ( ~/links/renamed-folderen el ejemplo anterior) está "reservado".

  2. Intente pegar el icnsarchivo correcto en el panel de información. Es inútil. Y no esperaba que esto funcionara en realidad, ya que los enlaces simbólicos de Unix no tienen sus propios íconos asociados, a diferencia de los alias de OS X.

  3. Vuelva a iniciar el buscador, o incluso cierre la sesión y vuelva a iniciarla. Sé que esto es tonto, pero la gente lo hace cuando está desesperada. Y a veces funciona a las mil maravillas; pero no esta vez, por desgracia.

Luego hice un experimento que en realidad reveló un error en Finder . Pasos:

  1. ln -s ~/Downloads ~/tmp. El ícono de tmpes el ícono de la carpeta de descarga con alias descargar carpeta con insignia de aliascomo se esperaba.

  2. rm ~/tmp.

  3. ln -s ~/other-folder ~/tmp. Sin embargo, el icono de tmp, sigue siendo el icono de la carpeta de descarga con alias, aunque la carpeta vinculada ya no es la carpeta de descarga.

Por lo tanto, parece haber algún tipo de "caché" detrás de escena que controla los íconos de los enlaces simbólicos, y Finder a veces no puede actualizar el caché cuando se modifica el enlace simbólico.

Entonces, mi pregunta es, ¿dónde está el "caché" que controla los íconos de los enlaces simbólicos? Gracias.

Respuestas (1)

Tuve el mismo problema, y ​​parece que el problema en LaunchService en OS X. Para borrar el "caché", pruebe este comando en la terminal

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

y luego

killall Finder; killall Dock;

En Mavericks debería funcionar sin reiniciar o volver a iniciar sesión.

Esto es tan oscuro que cada vez que necesito regenerar esas miniaturas de enlaces simbólicos tengo que volver a consultar esto... (Y siempre voy por error a mi perfil de Superusuario primero...)