网页本地文件夹链接:Linux下点击如何打开对应文件管理器?
这个问题我之前帮同事折腾过好几次,分几种场景给你捋清楚,保证能搞定:
一、先明确你的网页类型
首先得区分:你是在本地HTML文件里加的file://链接,还是远程服务器上的网页里的这类链接?两者的处理逻辑不一样:
- 本地网页:浏览器通常默认允许访问本地文件/目录,只需配置打开方式即可
- 远程网页:出于安全策略,浏览器默认会阻止跨域的本地文件访问,得先解除限制
二、本地网页的解决方案(最简单)
如果是本地HTML里的链接,直接配置浏览器用系统默认文件管理器打开file://目录就行:
1. Chrome/Chromium 系列
Chrome默认会在新标签页显示file://目录的文件列表,想直接唤起文件管理器可以这么操作:
- 地址栏输入
chrome://settings/handlers - 找到「文件」相关的处理选项,选择「使用系统默认应用」(也可以直接指定你的文件管理器,比如Nautilus、Dolphin)
- 要是还是不行,右键点击
file://链接,选择「链接另存为」旁边的箭头,选「使用应用打开」,然后选中你的文件管理器并勾选「始终使用此应用打开此类链接」
2. Firefox
Firefox的设置更直观:
- 地址栏输入
about:preferences打开设置页面 - 找到「应用程序」选项卡,搜索框输入「file」
- 找到「file」协议对应的选项,下拉选择「使用系统默认应用」,或者直接指定你的文件管理器
- 保存设置后,再点击
file://链接就会直接唤起文件管理器了
三、远程网页的
file://链接(需解除安全限制) 远程网页里的file://链接会被浏览器安全策略拦截,得给浏览器加启动参数解除限制:
1. Chrome/Chromium
- 先关闭所有Chrome窗口
- 找到Chrome的启动器(桌面快捷方式、应用菜单图标都行),右键选「属性」
- 在「命令」栏末尾加上
--allow-file-access-from-files(注意前面有空格) - 比如原命令是
google-chrome %U,改成google-chrome %U --allow-file-access-from-files - 保存后重启Chrome,远程网页的
file://链接就能访问本地目录了,再配合上面的外部协议设置,就能直接唤起文件管理器
注意:这个参数会降低浏览器安全性,要是你常访问不信任的网站,用完记得改回去!
2. Firefox
Firefox需要修改配置项:
- 地址栏输入
about:config,点击「接受风险并继续」 - 搜索
security.fileuri.strict_origin_policy - 把这个选项的值改成
false - 重启Firefox后,远程网页的
file://链接就能正常访问本地目录了,再去应用程序设置里指定打开方式即可
四、系统全局兜底配置(确保
xdg-open正常工作) Linux下大部分桌面环境用xdg-open处理各类协议,得确保它能正确唤起你的文件管理器:
- 先检查默认文件管理器:终端输入
xdg-mime query default inode/directory,正常会输出你的文件管理器(比如org.gnome.Nautilus.desktop) - 如果输出不对,手动设置:比如想设Nautilus为默认,输入
xdg-mime default org.gnome.Nautilus.desktop inode/directory - 测试一下:终端输入
xdg-open file:///home/your-username/,看是否能唤起文件管理器,要是可以,浏览器那边只要配置成调用系统默认应用就没问题
内容的提问来源于stack exchange,提问作者siffed




