Esta es una especie de tema difícil de hacer si usted no desea utilizar 3rd party software. Sin embargo, con algunos bash y plist de secuencias de comandos que podemos llegar a trabajar!
En primer lugar, en su ~/Library/LaunchAgents
carpeta crear el siguiente .plist archivo (en este caso la he denominado - com.my.bluetoothdetector.plist
; si cambia el nombre, asegúrese de cambiar la línea de 4 en el archivo):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.bluetoothdetector</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>/Users/YOURUSERNAME/Desktop/script.sh</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/com.apple.Bluetooth.plist</string>
</array>
</dict>
</plist>
El archivo de arriba se llame a cualquier secuencia de comandos se encuentra en /Users/YOURUSERNAME/Desktop/script.sh
cuando hay un cambio en el Bluetooth. Por supuesto, puede cambiar la ubicación del archivo llamado desde el Escritorio a donde quieras (asegurando que se trata de una ruta de acceso completa).
Ahora, vamos a hacer un script en bash, que, cuando se activa por nuestra com.my.bluetoothdetector.plist
de archivo, compruebe si el dispositivo está conectado. En este caso, vamos a guardar este archivo a /Users/USERNAME/Desktop/script.sh
:
#!/bin/bash
connectedyesorno="$(system_profiler SPBluetoothDataType | awk '/BLUETOOTHDEVICENAME/{f=1}/Connected:/ && f{print $2; exit}')"
if [ "$connectedyesorno" == "Yes" ]
then
open /Applications/YOURAPPNAME.app
elif [ "$connectedyesorno" == "No" ]
then
echo "Not connected..."
else
echo "ERROR"
fi
Aquí, sustituto BLUETOOTHDEVICENAME
para el nombre de su dispositivo y el /Applications/YOURAPPNAME.app
parte de la open /Applications/YOURAPPNAME.app
comando para la ubicación de la Automator/AppleScript aplicación que se desea ejecutar. También se puede sustituir esta línea totalmente para ejecutar cualquier script de shell que usted desea cuando está conectado el dispositivo que puede negar la necesidad de tener un AppleScript/Automator aplicación se llama.
Por último, utilice el comando:
launchctl load ~/Library/LaunchAgents/com.my.bluetoothdetector.plist
Esto inicia el proceso de verificación para que el cambio en el Bluetooth y, a continuación, llamar a la script.bash
cuando se detecta.
Ahora, espero, que cuando se conecte el dispositivo Bluetooth a su ordenador, después de sólo un par de segundos, su AppleScript/Automator archivo se debe ejecutar!
Tengo un Applescript que se conecta un altavoz bluetooth para mi Mac...
Previamente dispositivos bluetooth conectados debería conectarse automáticamente a un Mac, cuando estén disponibles. Si este no es el caso para usted, tal vez hay algún tipo de problema de que hacer con la configuración de bluetooth. Eche un vistazo a este artículo, si el problema persiste.
P. S. En el futuro, si desea eliminar esto, ejecute los siguientes comandos:
launchctl unload ~/Library/LaunchAgents/com.my.bluetoothdetector.plist
rm -r ~/Library/LaunchAgents/com.my.bluetoothdetector.plist
rm -r ~/Desktop/script.sh