Ejecutar acción cuando el dispositivo está separado

Estoy usando un agente de launchd para ejecutar un script de shell cada vez que conecto mi Thunderbolt Dock. He podido utilizar IOKit notifications de IOKit para detectar cuándo se está conectando el dock, pero también quiero ejecutar un script de shell cada vez que se extrae el dock.

Para detectar el file adjunto del dock utilizo el evento de device-attach com.apple.iokit.matching :

  • ¿Cómo puedo desactivar la opción + hacer clic en ocultar el comportamiento?
  • ¿Dónde debe una herramienta de command-line almacenar files de caching en OS X?
  • Cuando cambio a uno de mis espacios de trabajo con Chrome, salta al otro espacio de trabajo de Chrome
  • No se puede usar el nombre de la máquina para iniciar session usando SSH en Yosemite, ¿cómo solucionarlo?
  • ¿Qué significa cuando excede un% de CPU (n. ° de núcleos) x 100%?
  • Maximizar el Dock al ancho completo
  •   <key>LaunchEvents</key> <dict> <key>com.apple.iokit.matching</key> <dict> <key>com.apple.device-attach</key> <dict> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>idVendor</key> <integer>21</integer> <key>idProduct</key> <integer>4</integer> <key>IOMatchStream</key> <true/> <key>IOMatchLaunchStream</key> <true/> </dict> </dict> </dict> 

    Debería haber un evento que se dispare en separarse también, aunque todavía no lo he disfrutado. La documentation de Apple sobre este tema es deplorable.

    Realmente quiero evitar el uso de un método de votación que siga comprobando si el dispositivo todavía está conectado. Algunas mejores soluciones deben

    También growl, ControlPlane y otras aplicaciones similares están fuera de cuestión.

    Editar:

    Para ser claro. Quiero ejecutar un script de shell cada vez que este dock específico esté conectado o desconectado, no siempre que se adjunte / desconecte algún dispositivo.

  • No se puede concatenar text en JXA
  • Algún process se está apoderando lentamente del espacio en disco ... ¿cómo averiguo qué es esto y cómo lo manejo?
  • Ulises en macOS: comparte contenido local entre counts de usuario
  • ¿Diccionario de español a inglés en la aplicación de dictionary de Mac?
  • El nombre de usuario y la contraseña de Mac para la configuration del proxy se reinician por sí mismos
  • ¿Cómo cambiar la variable de entorno PATH a OS X 10.8 Mountain Lion que será visible para las aplicaciones GUI?
  • 2 Solutions collect form web for “Ejecutar acción cuando el dispositivo está separado”

    ////////////////////////////////////////////////// ////////////////////////////

    EDITAR: Al volver a leer la pregunta, veo que mi respuesta estaba fuera del tema.

    ////////////////////////////////////////////////// ////////////////////////////

    Tengo una solución para lo que te gustaría hacer. En realidad es muy simple, pero me resultaría difícil explicarlo por escrito, así que grabé un video para ti.

    Dispara un evento USB usando la aplicación Automator de Apple

    🙂

    PD. En el video hablo de dispositivos UBS porque no me di count de que querías que esto funcionara para Thunderbolt. Pero estoy bastante seguro de que la solución seguirá funcionando igual de bien para Thunderbolt. 🙂

    Cuando estaba buscando algo similar antes, escuché acerca de una solución algo desorderada que ejecutará su código cada vez que un dispositivo sea "Expulsado".

    Lo que hicieron fue encontrar el progtwig OSX que normalmente realiza una operación de expulsión de USB, y lo renombró a algo como Eject_old. Luego escribieron su propio progtwig, que primero ejecuta el código que desean y luego llama al progtwig Eject_old.

    Llamaron a este nuevo progtwig cualquiera que fuera el nombre del otro, por lo que ahora cada vez que expulsan un dispositivo, ejecuta primero su progtwig. Por supuesto, esto probablemente no ayude si su base de acoplamiento se desconecta sin ser expulsado primero.

    Si crees que esto puede ayudarte con lo que te gustaría hacer, házmelo saber y puedo investigarlo un poco más.

    🙂

    PD. Hay aplicaciones de terceros que hacen cosas similares. Tal vez pueda contactarlos directamente y preguntar cómo funcionan sus progtwigs.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).