Activar o desactivar Bluetooth en Mac OS X usando el Terminal

28/05/2011 por Redacción

Muchos usuarios nos habéis escrito sobre la posibilidad de poder controlar la activación o desactivación de Bluetooth por diferentes situaciones, la mayoría de ellas porque el interfaz se desconecta por motivos desconocidos y deja a muchos de ellos sin la posibilidad de poder volver a activarlo porque ... si tu teclado o ratón es Bluetooth, ¿cómo accedes al ordenador?. Muchos de ellos con este problema se ven forzados a tener un teclado o ratón USB a mano para reconectar el interfaz pero en el caso de algunos administradores de sistemas tener que desplazarse hasta el ordenador con un teclado o ratón, conectarlo y reactivar el interfaz es un fastidio y una pérdida de tiempo si no pueden activar sesiones SSH o de escritorio remoto.

Para todos ellos hay, evidentemente, una solución.

Añadiendo soporte para Mac OS X vía Terminal

Lo que vamos a hacer es añadir soporte a Mac OS X (Leopard, Snow Leopard), para que podamos acceder vía línea de comandos (Terminal) a la activación de Bluetooth. Esto es muy conveniente ya que permite usar la línea de comandos en accesos SSH remotos sin la necesidad de tener que abrir una sesión de escritorio remoto y hacer unos cuantos clicks para activar bluetooth o la posibilidad de activar o desactivar todos los interfaces Bluetooth de una red de una tacada o incluso scriptar esta tarea en otros flujos de trabajo.

Para ello vamos instalar Blueutil, un extra del sistema que permite activar este soporte. Cuando descarguemos la utilidad, nos encontraremos una opción para instalar Blueutil pero en Snow Leopard no funciona, porque Apple ha cambiado la estructura de archivos de Leopard a Snow Leopard y ha eliminado /usr/local/bin. El instalador si funciona pera Leopard pero no en Snow Leopard así que lo instalaremos a mano: ves al Menú Ir> Ir a la carpeta y escribe /usr. Arroja Blueutil dentro de la carpeta bin y listo. Te pedirá la contraseña del administrador y no necesitas reiniciar.

Ahora abre el Terminal y escribe:

blueutil status y el comando te devolverá el estado de Bluetooth Status: on.

Para activar o desactivar Bluetooth usando la línea de comandos solo necesitamos una línea por acción:

blueutil on para encenderlo

blueutil off para apagarlo

Así de sencillo.

Para forzar el encendido de Bluetooth al arrancar (cuando se ha apagado por las circunstancias que sean y no tenemos ningún dispositivo USB, acceso remoto, etc) solo tendremos que crear un Applescript y añadirlo a los items de arranque de nuestro usuario.

Para ello, abre el editor de Scripts, y añádele esta línea

do shell script "blueutil on"

Usando Applescript, Automator y este soporte de activación pueden hacerse también cosas interesantes, como desactivar el teclado y el ratón del ordenador durante ciertas horas del día combinándolo con iCal o simplemente usando el comando con Apple Remote Desktop para desactivar el interfaz de una tacada.

0
Comentarios
  • #1 por pepito5-fm el 01/06/2011
    Este truco me ha interesado por si podía ayudarme en el problema que tengo, que parece que es común a muchos iMacs recientes: el Bluetooth se desactiva solo, pero hasta tal punto que el Perfil del Sistema se "olvida" que lo tiene. De momento la única solución es apagar la máquina, esperar, y volver a arrancar (no vale reiniciar).

    De momento creo que no me ayuda, pero puede ser de interés general reportar que el blueutil se ha instalado perfectamente (iMac i7 27", 10.6.7), y funciona como se espera en circunstancias normales; pero si lo uso tras producirse la anomalía arriba descrita, da unos errores:

    ...$ blueutil off
    Mon May 30 11:18:05 imac.local blueutil[328] <Error>: kCGErrorInvalidConnection: CGSGetCurrentCursorLocation: Invalid connection
    Mon May 30 11:18:05 imac.local blueutil[328] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    Mon May 30 11:18:05 imac.local blueutil[328] <Error>: kCGErrorInvalidConnection: CGSGetCurrentCursorLocation: Invalid connection
    Mon May 30 11:18:05 imac.local blueutil[328] <Error>: kCGErrorInvalidConnection: CGSGetCurrentCursorLocation: Invalid connection
  • #2 por nemessix el 13/08/2012
    Que tal buenas noches:

    Muy útil el tutorial solo que aun no logro activar el bluetooth de mi macbook pro este es el mensaje que arroja:

    localhost:~ nemessix$ blueutil status
    Status: off
    localhost:~ nemessix$ blueutil on
    Error: unable to turn Bluetooth on
    localhost:~ nemessix$

    te comento que realice al pie de la letra los pasos del tutorial, sabes como resolver esta situación..?? el icono del bluetooth de la esquina tiene un zigzag atravesado.

    saludos..!!