7 votes

Comment puis-je définir le navigateur par défaut en fonction de l'heure de la journée ?

J'ai un MacBook Pro du travail. Pour garder mon historique de navigation séparé, j'utilise 2 navigateurs différents. (Chrome = travail, Safari = plaisir)

Je veux faire de Chrome mon navigateur par défaut au travail (de 9 h à 18 h) et de Safari mon navigateur par défaut le soir. Cela m'évitera d'ouvrir accidentellement un lien dans le mauvais navigateur.

Comment pourrais-je changer de navigateur par défaut à des moments prédéfinis de la journée ?

Mise à jour

Il ne semble pas y avoir de flux de travail "définir le navigateur par défaut" dans Automator. Peut-être serait-il possible de modifier ce fichier ?

/Users/yourname/Library/Preferences/com.apple.LaunchServices.plist

https://discussions.apple.com/thread/2803775?tstart=0

9voto

NVRAM Points 2555

L'application suivante n'est pas aussi compliquée, mais elle peut être intéressante Choosy . Il vous permet de choisir votre navigateur à chaque fois que vous ouvrez un lien. à l'extérieur de d'un navigateur. Bien que cela puisse sembler onéreux, c'est en fait assez transparent et je trouve cela très utile avant de mettre en ligne un nouveau projet Web et de le tester dans plusieurs navigateurs, encore et encore et encore

Cela pourrait convenir si une frappe supplémentaire n'est pas un problème. Bien entendu, une fois que vous êtes dans Safari, les liens sur lesquels vous cliquez s'ouvrent dans Safari (il existe même un moyen de modifier ce comportement).

POUR INFO.

Choosy

6voto

Vic Points 1820

Développant mon commentaire ci-dessus....


Voir le commentaire de l'utilisateur kerma à l'adresse cet article connexe de StackFlow

Sa petite application en ligne de commande à https://github.com/kerma/defaultbrowser fait ce dont vous avez besoin.

Il a fourni le code source mais il a été conçu pour 10.9. Un petit changement peut le faire compiler sur 10.6 également. Je l'ai testé sur mon système et il a fonctionné correctement.

Tout ce que vous avez à faire est de l'exécuter comme ceci...

#defaultbrowser -set firefox

#defaultbrowser -set safari

Les modifications que j'ai apportées, pour qu'il fonctionne avec la 10.6, sont les suivantes

a) Ajouter le framework Cocoa

b) Apportez la modification suivante au code...

Remplacer

NSString *split = HTTPHandlers[i];

avec

NSString *split = [HTTPHandlers objectAtIndex:i];

EDIT :

Comme cela a été souligné, le code ne change pas le navigateur par défaut pour HTTPS. Pour ajouter cette fonctionnalité, j'ai ajouté les lignes suivantes...

Trouvez la première ligne ci-dessous, et ajoutez la seconde pour https

CFStringRef urlschemeref = ( CFStringRef)@"http";
CFStringRef urlschemeref2 = ( CFStringRef)@"https";

et la même chose ici

OSStatus s = LSSetDefaultHandlerForURLScheme(urlschemeref, newHandler);
OSStatus s2 = LSSetDefaultHandlerForURLScheme(urlschemeref2, newHandler);

Enfin changer

if (s == 0) {

à

if (s == 0 && s2 == 0) {

En ce qui concerne la programmation, puisqu'ils savent ce qu'est cron, je suppose qu'ils savent comment faire les changements nécessaires. Si ce n'est pas le cas, un recherche google fourniraient les réponses nécessaires. Donc les lignes cron seraient...

0 9 0 0 1-5 /path/to/app/defaultbrowser -set chrome
0 18 0 0 1-5 /path/to/app/defaultbrowser -set safari

MAIS, une meilleure solution, parce que les tâches cron ne s'exécutent pas lorsque le système est éteint, est d'avoir un moyen de détecter l'emplacement (comme la connexion wifi) et de changer en fonction de cela. Ainsi, si la tâche cron est réglée à 9 heures et que vous arrivez en retard au travail, vous mettez votre appareil sous tension à 9 h 15, rien ne se passera...

Donc, comme discuté ici Je leur recommanderais d'installer ControlPlane ou quelque chose de similaire, et de programmer le changement lors de la connexion au réseau/wifi.

J'espère que ça vous a aidé.

1voto

spuder Points 498

En me basant sur la réponse de Vic, voici ce que j'ai trouvé.

Télécharger Navigateur par défaut créer un cronjob pour qu'il fonctionne à 9 heures et à 18 heures. Comme il n'y a pas d'interface graphique, il faudra tirer parti du fait que Mac est unix.

Vérifiez d'abord le code source de defaultbrowser et le copier dans /usr/local/bin

git clone https://github.com/kerma/defaultbrowser.git /tmp/defaultbrowser
sudo cp /tmp/defaultbrowser/build/defaultbrowser /usr/local/bin/
sudo chmod +x /usr/local/bin/defaultbrowser

Ensuite, pour programmer l'exécution du binaire à des heures précises, exécutez ce qui suit :

EDITOR=NANO crontab -e

0 9 * * 1-5 /usr/local/bin/defaultbrowser -set chrome >> /Users/sowen/defaultbrowser.log 2>&1 && echo $(date) >> /Users/sowen/defaultbrowser.log 2>&1
0 18 * * 1-5 /usr/local/bin/defaultbrowser -set safari >> /Users/sowen/defaultbrowser.log 2>&1 && echo $(date) >> /Users/sowen/defaultbrowser.log 2>&1

Maintenant, mon navigateur changera à 9 heures et à 18 heures les jours de semaine.

Explication :

EDITOR=NANO crontab -e édite le fichier crontab
0 9 * * 1-5 c'est-à-dire les jours 1 à 5 (lundi - vendredi), exécutez la commande suivante à 9h00 /usr/local/bin/defaultbrowswer -set chrome définit le navigateur par défaut
>> /Users/sowen/defaultbrowser.log s'ajoute à un fichier que j'appelle defaultbrowser.log dans mon répertoire personnel.
2>&1 syntaxe fantaisiste qui envoie les erreurs et les journaux au même endroit.
&& combine deux commandes en une seule
echo $(date) >> /Users/sowen/defaultbrowser.log 2>&1 Ajoute un horodatage au fichier journal

J'ai eu quelques problèmes pour créer le cronjob, j'ai dû utiliser nano sur la base de ces informations .

De plus, cela aurait pu être réécrit en utilisant launchd, mais cron était plus facile.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X