Ampliando mi comentario anterior ....
Vea el comentario del usuario kerma en este artículo relacionado de StackFlow
Su pequeña aplicación de línea de comandos en enlace hace lo que necesitas.
Él proporcionó el código fuente pero fue diseñado para 10.9. Un pequeño cambio puede hacer que se compile en 10.6 también. Lo probé en mi sistema y funcionó correctamente.
Todo lo que necesitas hacer es ejecutarlo así ...
#defaultbrowser -set firefox
#defaultbrowser -set safari
Los cambios que hice, para que funcionen con 10.6, fueron
a) Agregue el marco Cocoa
b) Haz el siguiente cambio de código ...
Reemplazar
NSString *split = HTTPHandlers[i];
con
NSString *split = [HTTPHandlers objectAtIndex:i];
EDITAR:
Como se señaló, el código no cambia el navegador predeterminado para HTTPS. Para agregar esa funcionalidad, agregué las siguientes líneas ...
Encuentre la primera línea a continuación y agregue la segunda para https
CFStringRef urlschemeref = ( CFStringRef)@"http";
CFStringRef urlschemeref2 = ( CFStringRef)@"https";
y lo mismo aquí
OSStatus s = LSSetDefaultHandlerForURLScheme(urlschemeref, newHandler);
OSStatus s2 = LSSetDefaultHandlerForURLScheme(urlschemeref2, newHandler);
Finalmente cambiar
if (s == 0) {
a
if (s == 0 && s2 == 0) {
Con respecto a la programación, ya que saben qué es cron, asumo que saben cómo realizar los cambios necesarios. Si no es así, una búsqueda de google proporcionará las respuestas necesarias. Así que las líneas cron serían ...
0 9 0 0 1-5 /path/to/app/defaultbrowser -set chrome
0 18 0 0 1-5 /path/to/app/defaultbrowser -set safari
PERO, una forma mucho mejor, porque las tareas cron no se ejecutarán cuando el sistema se apague, es tener un medio para detectar la ubicación (como la conexión wifi) y cambiar de acuerdo con eso. Entonces, si el trabajo cron se configura a las 9 am y llega tarde al trabajo, enciende su dispositivo a las 9:15 am y no pasará nada ...
Entonces, como se analiza aquí , recomendaría que instalen ControlPlane o algo así, y programen el cambio en la conexión a la red / wifi en su lugar.
Espero que haya ayudado.