web-dev-qa-db-fra.com

Comment créer des liens ouverts emacs org-mode vers des sites dans Google Chrome

Chrome est défini comme navigateur par défaut. Toutefois, il ouvre des liens dans Firefox, ce qui est indésirable.

Googler cela ne révèle rien d'utile, alors avez-vous des idées?

38
tobeannounced

Emacs 23.2 ne supporte pas directement chrome, mais il supporte un navigateur "générique", et quelque chose comme ça devrait marcher:

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "chromium-browser")

Vous ne mentionnez pas votre système d'exploitation, mais si c'est Windows ou Mac, vous pouvez essayer:

(setq browse-url-browser-function 'browse-url-default-windows-browser)
(setq browse-url-browser-function 'browse-url-default-macosx-browser)

Et si cela ne fonctionne pas, d'autres personnes ont implémenté 'browse-url-chrome. Google a mis en place les liens suivants:

65
Trey Jackson

Comme @Trey le suggère, vous pouvez le configurer sur un navigateur générique, au lieu de "chrome-browser", utilisez "google-chrome", comme ceci:

(setq browse-url-browser-function 'browse-url-generic
      browse-url-generic-program "google-chrome")

Cela a fonctionné pour moi avec Emacs 23.2 et Chrome 12. Bien que ce soit peut-être Chrome 13 au moment où j'ai fini d'écrire cette réponse ;-)

11
Alan Turing

J'ai un problème similaire (bien que ce soit l'inverse: je voulais qu'emacs ouvre Firefox, mais il ouvrait Chromium).

J'utilise Ubuntu 12.04 (mais j'ai déjà eu le problème avec 11.10). La solution ci-dessous s'applique à Linux, peut-être MacOS (?), Probablement pas Windows.

Définir browse-url-generic-program comme suggéré dans d'autres réponses n'a pas fonctionné pour moi. Notez également que mon navigateur par défaut est généralement Firefox: c’est ce que la plupart des applications utilisent pour ouvrir une URL, y compris xdg-open. J'ai donc été surpris qu'Emacs fasse autrement.

J'ai finalement compris qu'Emacs utilisait le script sensible-browser (1). En regardant ce script, j'ai remarqué que:

  • il examine d'abord la variable d'environnement BROWSER;
  • sinon, il essaie plusieurs autres scripts génériques, en commençant par gnome-www-browser

Il se trouve que, sur ma machine, BROWSER n'est pas défini, mais gnome-www-browser est un script apparemment placé ici par chrome et (naturellement) en cours d'exécution.

Donc, long stort court: mettre la ligne suivante

exportez BROWSER = firefox # ou n’importe quel navigateur de votre choix

dans votre .profile peut aider si Emacs n’utilise pas le bon navigateur.

6
Pierre-Antoine

Le paramétrage de la fonction du navigateur est très simple avec l’interface graphique:

  • Dans le menu, cliquez sur Options > Customize Emacs > Top-level customization Group
  • Cliquez sur le lien External (interface avec des utilitaires externes.)
  • Cliquez sur le lien Browse Url (utilisez un navigateur Web pour consulter une URL.)
  • Cliquez sur le petit triangle à gauche de Browse Url Browser Function. Un bouton Value Menu et du texte d'aide s'affichent.
  • Cliquez sur le bouton Value Menu
  • Choisissez votre préférence dans le menu affiché
  • Placez-vous en haut de la mémoire tampon, cliquez sur le bouton Apply and Save pour enregistrer la modification dans votre fichier ~/.emacs.

Terminé :-)

3
ack

J'ai également eu ce problème lors de l'exportation de fichiers org au format HTML. Il utiliserait firefox au lieu de chrome-browser. Je l'ai corrigé en personnalisant org-file-apps (qui, pour une raison quelconque, avait été configuré pour ouvrir les fichiers xhtml et html avec Firefox). J'ai maintenant une entrée pour l'extension \.x?html?\' avec une commande définie sur le formulaire LISP: (browse-url file)

1
enquiry

Pour chrubuntu , l'incantation google-chrome donnée plus haut par Lex Fridman fonctionne avec emacs 23.3.1, la valeur par défaut à ce jour. Je soupçonne que la configuration de chrubuntu, même utilisée pour utiliser le chrome, utilise le mauvais nom binaire.

0
user2157723