← 所有文章

如何在 Mac 上用指定的 Chrome 个人资料打开链接

Chrome 会在你上次使用的个人资料中打开在其他应用中点击的链接,而且没有设置可以改变这一点。要自己指定某个个人资料,可以在 chrome://version 查到它的文件夹名,然后用个人资料目录参数启动 Chrome;也可以让 Burly 这样能识别个人资料的浏览器选择工具在每次点击时替你完成。

作者:Matt Senter,Burly 的开发者 · 发布于 · 5 分钟阅读

Matt Senter 是一名独立 Mac 开发者,从设计、开发到发布,独自完成一款款小巧的原生应用。他打造 Burly,是为了让自己 Mac 上的每个链接都打开到正确的浏览器个人资料中,包括其他链接路由工具无法触及的 Safari 个人资料。这些页面的内容都来自他的亲身使用经验。

如果你有一个工作 Chrome 个人资料和一个私人的,你几乎肯定见过 Slack 或“邮件”里的链接在错误的那个里打开。这不是故障。Chrome 会把来自其他应用的链接发送到最近位于最前面的那个个人资料窗口,而 Google 的个人资料帮助中没有提到任何选择其他目标的选项。

本指南专门讲 Chrome:Chrome 在底层如何识别个人资料,在命名的个人资料中打开网址的命令,为什么这条命令最直观的写法会失败,以及如何让整个过程自动化。如果你想了解所有浏览器中的同一问题,请见 Mac 浏览器个人资料指南。

为什么 Chrome 会在错误的个人资料中打开链接?

Chrome 把传入的链接当作“在我正在用的那个 Chrome 窗口里打开”。当 macOS 交给它一个网址时,Chrome 会把它交给最近使用的个人资料,只有你恰好在那里时,它才是正确的那个。Chrome 内部既没有按链接的选择,也没有按应用的规则。

macOS 也帮不上忙。“系统设置”只允许你选择一个默认浏览器应用,它不知道应用内部还有个人资料。于是决定权落到了 Chrome 手里,而 Chrome 按最近使用来决定。

如何找到 Chrome 个人资料的文件夹名?

Chrome 通过个人资料在磁盘上的文件夹名来识别它,而不是你在个人资料菜单中看到的名称。第一个个人资料通常叫 Default,之后的依次是 Profile 1、Profile 2 等,即使你早就把它们重命名为“工作”和“个人”也一样。Chromium 关于用户数据目录的文档解释说,每个个人资料都只是 Chrome 数据目录下的一个子文件夹。

要查看哪个文件夹属于哪个个人资料:

  1. 在你关心的那个个人资料中打开一个窗口。
  2. 在地址栏中输入 chrome://version 并按回车键。
  3. 找到标为“个人资料路径”(Profile Path)的那一行。
  4. 记下路径的最后一部分,例如 Default 或 Profile 2。这就是个人资料目录名。
  5. 在每个你想指定的个人资料中重复这一步,并记下哪个文件夹对应哪个个人资料。

如何从终端在指定的 Chrome 个人资料中打开网址?

知道文件夹名后,你就可以用 Chrome 的个人资料目录参数,让它在那个个人资料中打开网址。在 Mac 上,通常的写法是使用 open 命令,让 macOS 替你找到应用:

open -na "Google Chrome" --args --profile-directory="Profile 1" "https://example.com"

把 Profile 1 换成你查到的文件夹名,把网址换成你想打开的页面。引号很重要:像 Profile 1 这样的文件夹名含有空格,没有引号的话,shell 会把它拆成两个参数,Chrome 就会忽略这个参数。直接调用应用包内的 Chrome 可执行文件时,同样的参数也有效,Brian Hogan 的这篇指南记录的就是这种写法。

如果 Chrome 已在运行,它不会启动第二个副本。新的启动会把请求转交给已经打开的 Chrome,由它在你指定的个人资料中打开页面。这正是你想要的行为,所以不需要先退出 Chrome。

为什么用个人资料的显示名称不行?

传入你在菜单中看到的名称,比如 --profile-directory="Work",是最常见的错误。Chrome 会去找一个叫 Work 的文件夹,找不到后,要么在另一个个人资料中打开页面,要么用这个名字创建一个全新的空个人资料。无论哪种,链接都不会落在你想要的地方。这个参数要的永远是 chrome://version 中显示的文件夹名。

Chrome 在 Mac 上把个人资料文件夹放在哪里?

Chrome 把所有东西存放在你用户目录下的“资源库”中,依次是 Application Support、Google、Chrome。在那个文件夹里,你会看到 Default、Profile 1、Profile 2 等,还有一个名为 Local State 的文件,记录了每个个人资料的显示名称、出现顺序以及各自对应的文件夹。Chrome 读取这个文件来绘制个人资料菜单,这就是为什么重命名个人资料永远不会改变它的文件夹。

你不需要编辑里面的任何东西,Chrome 运行时也不应该去动。知道它的位置只有一个用处:如果你不确定哪个文件夹对应哪个个人资料,chrome://version 中的“个人资料路径”和这个目录里的文件夹名永远是一致的。

同样的命令在其他 Chromium 浏览器中也有效吗?

大多有效。基于 Chromium 的浏览器,比如 Chrome Canary、Brave、Vivaldi 和 Microsoft Edge,使用相同的文件夹结构,也接受相同的个人资料目录参数。不过它们各自有独立的数据目录,所以你需要在那个浏览器自己的版本页面查找文件夹,比如 brave://version 或 edge://version,并在命令中使用那个应用的名称。

有一些例外值得了解。一些 Mac 用户反映,Edge 已在运行时手动启动,它会忽略这个参数;另外 Edge 还有自己的设置来决定哪个个人资料接收外部链接。这两点都在 Mac 上的 Brave、Edge 和 Arc 个人资料中有介绍。

如果命令不再起作用怎么办?

大多数故障归结为三种情况,每种都能快速检查。

  1. 文件夹变了。如果你删除后又重新创建了某个个人资料,它可能有了新的文件夹编号。再查一次 chrome://version,更新你的命令。
  2. 引号丢了。脚本、快捷指令和自动化工具有时会去掉引号。如果个人资料名含有空格,确保它作为一个完整参数传给 Chrome。
  3. 响应的不是那个 Chrome。Chrome Canary 和 Chromium 各有独立的数据目录,所以一个里的文件夹名在另一个里并不存在。确保命令中的应用名称与你查看 chrome://version 的那个浏览器一致。

能让每个 Chrome 链接自动在正确的个人资料中打开吗?

终端命令适合书签或脚本,但对你在 Slack、“邮件”或日历邀请中点击的链接毫无作用,因为这些链接会直接进入你的默认浏览器。要为它们选择个人资料,必须有个东西位于点击和 Chrome 之间,接收链接,然后用正确的文件夹名执行相当于那条命令的操作。

这正是链接路由工具的用途,也正是 Burly 处理 Chrome 的方式。它读取 Chrome 自己的个人资料列表,所以早已知道“工作”就是 Profile 2,并在你选中某个个人资料时,用正确的个人资料目录启动 Chrome。没有需要查找的东西,添加个人资料时也没有需要同步的东西。

  1. 下载 Burly,并把它拖到“应用程序”文件夹。
  2. 打开“系统设置”,进入“桌面与程序坞”,把 Burly 设为默认网页浏览器。
  3. Burly 会自己找到你的 Chrome 个人资料,以及其他 Chromium 浏览器中的个人资料。
  4. 点击任意链接,从选择器中选择 Chrome 个人资料,或按下该个人资料的按键。
点击链接后出现的 Burly 花朵选择器:顶部是按键 1 上的 Chrome 个人资料,其他花瓣上是 Firefox 和两个 Safari 个人资料。
按 1,链接就会在那个 Chrome 个人资料中打开,不需要文件夹名。

如果你的大多数链接都属于同一个个人资料,你也可以把它固定下来:在 Burly 的“跳过”设置中把那个个人资料设为目标并开启“反转”,每个链接都会直接去那里,除非你按住一个键来选择。始终在同一个浏览器个人资料中打开链接介绍了这种设置。如果你整天并排使用好几个 Chrome 个人资料,同时使用多个 Chrome 个人资料介绍了工作流程的另一半。

免费试用 Burly

几秒钟内就能把每个链接路由到正确的浏览器个人资料。原生、私密、免费,无需账号。

下载 macOS 版