Scoop安装Chrome设置默认浏览器不加载用户数据的问题

环境

json:googlechrome.json

前置知识

通常chrome的用户数据是存储在 "C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data"文件夹中,不过scoop为了便携,让用户数据可以单独放在scoop的persist目录里,会在安装后创建的chrome快捷键方式中使用--user-data-dir=参数来设置用户数据路径

使用scoop安装后,开始菜单中chrome的快捷方式中填写的地址是这样的

C:\Users\{你的用户名}\scoop\apps\googlechrome\current\chrome.exe --user-data-dir="C:\Users\Hex\scoop\apps\googlechrome\current\User Data"

这很好(也许),使得可以迁移scoop依然能保留chrome的用户数据

问题

在scoop第一次安装完chrome后,如果没有在登录页面直接点击设置成默认浏览器,可能会导致一些通过默认浏览器打开网页的软件不加载scoop下的用户数据,这时候即使卸载chrome重新安装也一样

比如使用 explorer.exe "https://google.com" 命令在powershell中使用explorer拉起chrome就可以观察到,或者在vscode中拉起也可以观察到这个现象

解决

这个问题的关键就在于在设置默认浏览器的时候没有传递--user-data-dir参数,让chrome去读取了 "C:\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data"文件夹中的数据,而这个现在并不是我们使用chrome时存放用户路径的,或者这个路径下就是空的,这时候打开chrome就变成了登录页面了。

所以需要找到设置默认浏览器的配置文件或者注册列表之类的,并把这个参数加上

搜索了一下,发现这个是在注册列表中配置的

我当前系统是在这个路径下(你电脑上肯定不一样的)

Computer\HKEY_USERS\S-1-5-21-4241745024-2731878371-2167451356-1001\SOFTWARE\Classes\ChromeHTML.LRUVAM7VSMNF7N22QFWSTVUJYQ\shell\open\command

有个 default 项

"C:\Users\Hex\scoop\apps\googlechrome\current\chrome.exe" --single-argument %1

只需要加一个--user-data-dir=参数(记得把Hex换成你自己的用户名)

"C:\Users\Hex\scoop\apps\googlechrome\current\chrome.exe" --user-data-dir="C:\Users\Hex\scoop\apps\googlechrome\current\User Data" --single-argument %1

这样通过默认浏览器打开网页就可以加载scoop目录下的用户数据了

那么如何找这个路径?

关键是ChromeHTML.LRUVAM7VSMNF7N22QFWSTVUJYQ 这个,但这个看着像是随机生成的,所以可以先搜索ChromeHTML.来找到全称,或者干脆直接搜索chrome的完整路径。(要记得先去设置chrome为默认浏览器才会有这个注册列表项)

scoop的一个issue也提到了这个问题 After updating scoop's Google Chrome it went nuts

posted @ 2024-04-22 01:39  Dir-A  阅读(167)  评论(0编辑  收藏  举报