小白请教emacs调用浏览器的问题

最近刚从Windows环境转到Linux环境使用emacs,emacs无法主动调用系统自带的火狐浏览器,系统为Ubuntu22,点击链接不会自动使用默认浏览器打开,配置好org-roam-ui后,无法使用org-roam-ui-open打开预览,但主动访问http://127.0.0.1:35901/可以看到预览图,浏览器点击从节点返回emacs也无法返回emacs中相应的节点。我感觉到emacs和默认浏览器的配合有问题,但是实在不知道怎么查,怎么解决,求大佬带一带。

从 Emacs 打开跟 browse-url-browser-function 有关,可能 Emacs 没法找到你的 firefox 可执行程序。

返回 Emacs 跟 org-protocol 相关,缺乏更多错误信息,暂时也不知道哪里的问题

可以配置browse-url-generic-program看看,比如我用的是google-chrome-stable

我按照您的配置写入我的config.el并安装了谷歌浏览器,但是没有效果。不过经过今天的尝试,我发现browse-url-firefox这个函数可以打开火狐浏览器,并直接访问我指定的url。应该不是找不到可执行程序的问题。我感觉答案越来越近了,但是还是差一点关键的东西。我使用的是doom emacs,且鼠标点击url时emacs没有任何报错。

你看它的默认值:browse-url-default-browser 的实现就知道了,(executable-find browse-url-firefox-program) 成功了才会使用 browse-url-firefox,你其实直接:

(setq browse-url-browser-function 'browse-url-firefox)

可能就可以了

十分感谢!确实可以!