1. 多开的用途
若你在某平台有多个帐号,需要同时登陆,比如多个公众号,多个知乎号,多个微博等等。
一般来说,你需要准备多个不同的浏览器,比如切换到 Safari 浏览器,或者再装一个 Firefox 浏览器。
虽然可以解决多个帐号同时登陆的问题,可同时也给使用上带来了不少的问题。
因为 Chrome 上有非常多实用的插件,而大部分的部分只开发了 Chrome 的版本,你没有办法在 Safari 或者 Firefox 上安装使用它。
就比如我运营公众号所需要的 美编助手,几乎是我离不开的工具。
因为我就在研究,是不是有办法可以在同一台电脑上多开 Chrome 呢?
这样一来,既可以实现多帐号的登陆,也还可以使用 Chrome 上海量的插件。
今天就来和你分享一下我的成果,以下教程在 Mac 上实践的,Win 用户虽说没用,但也可以了解下思路。
2. 多开的原理
想要一个 Chrome 多开,那么需要满足两个条件:
- 有两个 Chrome App
- 两个 App 的数据文件不同,不互相干扰
3. 复制 Chrome
满足第一个条件很简单,只要复制一个 app 就行。
打开访达,进入应用程序,找到 Google Chrome ,右键复制一个副本到当前目录
然后对副本进行重新命名,取一个你认为 OK 的名字。
4. 多开的核心
打开终端,进入上面复制的副本目录下,以我的为例
cd "/Applications/MING Chrome.app/Contents/MacOS"
可以看到该目录下有一个 Google Chrome 的可执行文件,这个就是你双击 Chrome 时的启动入口。
尝试使用 vim 打开 Google Chrome 的可执行文件,发现全是编译过的二进制,想要通过修改入口文件来更改默认的数据存放路径,这条路看来行不通。
虽然 Chrome 默认的数据存放路径是固定的,但你可以通过命令行的形式修改数据的路径。
于是我就想出一个办法,将原来的 Google Chrome 的可执行文件,改个名,降级成二级入口。
而一级入口,可以我自己写一个 shell 脚本,脚本里会调用原来的 Google Chrome 可执行文件,并且调用的时候,会加上 --user-data-dir 参数指定新路径。
# 重命名降级为二级入口
$ mv Google\ Chrome Google\ Chrome.real
# 新增一级入口
$ cat > Google\ Chrome12 <<EOF
#!/bin/bash
cd "/Applications/MING Chromeapp/Contents/MacOS"
"/Applications/MING Chrome.app/Contents/MacOS/Google Chrome.real" --user-data-dir="/Users/MING/Documents/Chrome/config"
EOF
# 修改一级入口权限
$ chmod +x "Google Chrome"
一级入口中有一个数据存放路径,你可以自定义,但记得提前创建它。
一切准备就绪,通过 Alfred2 搜索 Chrome 就会出现我修改的 MING Chrome 。
打开它后,就是一个全新的 Chrome 的,就跟刚安装似的,什么插件啊,书签啊,浏览记录啊,通通没有。而且与原浏览器是完全独立的,接下来后面的事,就可以自己折腾了。