Simule cómo se monta un volumen usando diskarbitrationd

0

Estoy intentando emular cómo normalmente se monta un volumen para mi volumen NTFS que agregué a /private/etc/fstab . Normalmente, cuando se encuentra un volumen, como un disco duro externo, se monta y luego se coloca un acceso directo a ese volumen en el Escritorio y en la barra lateral izquierda del Finder. Sin embargo, como para montar un volumen NTFS como lectura / escritura en fstab , se debe agregar el indicador nobrowse , esto evita que se muestre en el escritorio y en la barra lateral del Finder.

Mi investigación me ha indicado que diskarbitrationd es el programa que escucha los nuevos volúmenes y los monta. Me gustaría emular la adición automática de accesos directos al escritorio y el Finder y la eliminación en el desmontaje de volúmenes, y me gustaría crear un script que escuche la información de diskarbitationd y lo haga por mí.

¿Cómo me conecto a diskarbitrationd y escucho los nuevos eventos, luego agrego los accesos directos al escritorio y al Finder una vez que se monta el volumen?

¡Gracias por tu ayuda!

    
pregunta josh 12.05.2014 - 10:02

1 respuesta

1

Usted se conecta a diskarbitrationd utilizando el marco de Arbitraje de Disco de Apple. Básicamente, usted llama a DASessionCreate () para crear un DASessionRef, y luego registra una o más devoluciones de llamada de notificación.

Necesitaría registrarse para el DARegisterDiskMountApprovalCallback. Esto le da una notificación cada vez que diskarbitrationd va a montar algo nuevo. Al devolver un DADissenterRef desde esta devolución de llamada, puede evitar que diskarbitrationd realmente monte el sistema de archivos.

Luego, puede montar el sistema de archivos usted mismo y crear accesos directos, etc. utilizando métodos estándar, como la llamada al sistema mount ().

Aquí hay un enlace directo a la página en la guía de programación, deberá examinar:

enlace

    
respondido por el jksoegaard 12.05.2014 - 10:55

Lea otras preguntas en las etiquetas