Estoy intentando crear un LaunchDaemon que ejecute un script cuando se conecte un dock USB-C o Thunderbolt. He encontrado varias soluciones para ejecutar un script cuando se conecta un específico dispositivo está conectado. Pero necesito una solución que ejecute un script cuando cualquier muelle está conectado.
Como prácticamente todas las bases incluyen un concentrador USB, intenté identificarlos e incluirlos en un LauchDeamon: No hubo suerte. Entonces me fijé en simplemente desencadenar un script en cualquier dispositivo USB como este:
<key>LaunchEvents</key>
<dict>
<key>com.apple.iokit.matching</key>
<dict>
<key>com.apple.device-attach</key>
<dict>
<key>IOProviderClass</key>
<string>IOUSBHostDevice</string>
<key>IOMatchLaunchStream</key>
<true/>
<key>IOMatchStream</key>
<true/>
</dict>
</dict>
</dict>
(No los archivos completos)
Básicamente el mismo enfoque que he encontrado para dispositivos específicos, pero eliminando los identificadores de dispositivo. Tampoco hubo suerte.
He encontrado EventScript . Esta aplicación puede ejecutar un script cuando se conecta un dispositivo USB. Pero prefiero una solución que aproveche las herramientas/capacidades integradas en MacOS.