如何以编程方式创建 Chrome 配置文件?
How to create a Chrome profile programmatically?
开发、测试、暂存环境是通过我设置中的不同代理服务器控制的。我想用脚本创建多个 Chrome 配置文件(有时称为 "user" 或 "person")并为每个配置文件连接到不同的代理服务器。最后,我想与同事分享此脚本,以便他们可以访问完全相同的设置。
后者可以通过脚本安装扩展来完成,例如 Falcon Proxy or Proxy Helper 到 Chrome 配置文件。我想知道如何编写脚本来创建不同的配置文件。
配置文件是 ~/.config/google-chrome
(Linux, ~/Library/Application Support/Google/Chrome
(Mac OS X) 和 %USERPROFILE%\AppData\Local\Google\Chrome\User Data
(Windows)。但是如何创建和初始化一个?我在哪里注册新的配置文件?
创建用户
以下示例适用于Windows,但基本过程应该相同。
首先,更改到 Chrome 安装中的 UserData 文件夹:
cd "%APPDATA%\..\Local\Google\Chrome\User Data"
此方法会将当前用户复制为新用户的模板。如果新用户应为空白,则需要删除(CTRL + SHIFT + DEL
当前浏览器数据)
现在创建一个新用户:
mkdir NewUser && copy Default NewUser
将您的目录更改为 chrome 安装:
cd "C:\Program Files (x86)\Google\Chrome\Application"
出厂-重置所有用户参数:
chrome.exe --user-data-dir="..\User Data\NewUser" -first-run
其中 --user-data-dir
是之前创建的 NewUser 目录的路径(完整或相对)。
运行 作为新用户
到 运行 chrome 再次使用此配置文件,只需 运行 chrome 而不使用 -first-run
标志。
从这个 documentation,我终于找到了创建 user/person 的方法,而不是单独的配置文件。这种差异在 Mac OS X 中尤为重要,因为可以使用相同的 Chrome 进程同时打开不同的配置文件。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --profile-directory="StagingEnv" --first-run
唯一不幸的是这个新人并没有从配置文件目录中继承名字。相反,它总是被称为 Person X
,其中 X 是一个增量数。
我需要去 Local State
文件更改它。
grep -o '"StagingEnv":{[^}]*}' ~/Library/Application\ Support/Google/Chrome/Local\ State
"StagingEnv":{"active_time":1437709453.172762,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_6","background_apps":false,"is_ephemeral":false,"is_omitted_from_profile_list":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","name":"<b>Person 3</b>","user_name":""}
此文件在 Chrome 退出时被覆盖,因此我需要终止 Chrome,更改文件并再次 运行 Chrome。
我认为创建多个 chrome 配置文件的最简单方法是
- 在您的计算机上,打开 Chrome。
- 点击右上角的
Profile
。
- 点击
Manage people
。
- 点击
Add person
。
- 选择一个名字和一个photo/picture。
- Select
Create a short cut on the desktop
。
- 点击
Save
。一个新的 window 将打开并要求您打开同步
可选。
这样,将创建每个 chrome 个配置文件,您可以查看 C:\Users\youname\AppData\Local\Google\Chrome\User Data
。
开发、测试、暂存环境是通过我设置中的不同代理服务器控制的。我想用脚本创建多个 Chrome 配置文件(有时称为 "user" 或 "person")并为每个配置文件连接到不同的代理服务器。最后,我想与同事分享此脚本,以便他们可以访问完全相同的设置。
后者可以通过脚本安装扩展来完成,例如 Falcon Proxy or Proxy Helper 到 Chrome 配置文件。我想知道如何编写脚本来创建不同的配置文件。
配置文件是 ~/.config/google-chrome
(Linux, ~/Library/Application Support/Google/Chrome
(Mac OS X) 和 %USERPROFILE%\AppData\Local\Google\Chrome\User Data
(Windows)。但是如何创建和初始化一个?我在哪里注册新的配置文件?
创建用户
以下示例适用于Windows,但基本过程应该相同。
首先,更改到 Chrome 安装中的 UserData 文件夹:
cd "%APPDATA%\..\Local\Google\Chrome\User Data"
此方法会将当前用户复制为新用户的模板。如果新用户应为空白,则需要删除(CTRL + SHIFT + DEL
当前浏览器数据)
现在创建一个新用户:
mkdir NewUser && copy Default NewUser
将您的目录更改为 chrome 安装:
cd "C:\Program Files (x86)\Google\Chrome\Application"
出厂-重置所有用户参数:
chrome.exe --user-data-dir="..\User Data\NewUser" -first-run
其中 --user-data-dir
是之前创建的 NewUser 目录的路径(完整或相对)。
运行 作为新用户
到 运行 chrome 再次使用此配置文件,只需 运行 chrome 而不使用 -first-run
标志。
从这个 documentation,我终于找到了创建 user/person 的方法,而不是单独的配置文件。这种差异在 Mac OS X 中尤为重要,因为可以使用相同的 Chrome 进程同时打开不同的配置文件。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --profile-directory="StagingEnv" --first-run
唯一不幸的是这个新人并没有从配置文件目录中继承名字。相反,它总是被称为 Person X
,其中 X 是一个增量数。
我需要去 Local State
文件更改它。
grep -o '"StagingEnv":{[^}]*}' ~/Library/Application\ Support/Google/Chrome/Local\ State
"StagingEnv":{"active_time":1437709453.172762,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_6","background_apps":false,"is_ephemeral":false,"is_omitted_from_profile_list":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","name":"<b>Person 3</b>","user_name":""}
此文件在 Chrome 退出时被覆盖,因此我需要终止 Chrome,更改文件并再次 运行 Chrome。
我认为创建多个 chrome 配置文件的最简单方法是
- 在您的计算机上,打开 Chrome。
- 点击右上角的
Profile
。 - 点击
Manage people
。 - 点击
Add person
。 - 选择一个名字和一个photo/picture。
- Select
Create a short cut on the desktop
。 - 点击
Save
。一个新的 window 将打开并要求您打开同步 可选。
这样,将创建每个 chrome 个配置文件,您可以查看 C:\Users\youname\AppData\Local\Google\Chrome\User Data
。