1 votos

¿Cómo puedo activar una aplicación de Applecript o Automator cuando un dispositivo bluetooth específico viene en gama?

Tengo un Applescript que se conecta un altavoz bluetooth para mi Mac y los interruptores de "Juego de efectos de sonido a través de:" "Altavoces Internos".

Quiero que este script se ejecute cada vez que enciendo mi altavoz bluetooth. Actualmente estoy a la activación de la secuencia de comandos de forma manual con un atajo de teclado cada vez que me encender el altavoz, pero sería aún más conveniente si me lo podía configurar el script para que se ejecute automáticamente cada vez que el altavoz bluetooth esté disponible para el Mac, de preferencia sin necesidad de utilizar software de terceros.

Es allí una manera de hacer esto?

5voto

Tom Puntos 186

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X