How to Have Two Chromes at Linux

需求

  • 由于Tampermonkey的脚本频繁更新,所以有点担心脚本的安全性问题。毕竟没有时间把源码都看一遍。
  • 而由于JavaScript的能力比较有限,所以,我认为,构造一个新的浏览器环境来运行这个脚本应该就可以解决问题。
  • 那么,就需要两个chrome的环境

chrome的用户数据

  • linux下chrome的默认用户数据存储在/home/<user-name>/.config/google-chrome,可以使用--user-data-dir=DIR参数启动chrome来使得chrome使用另一个目录作为用户data目录

    –user-data-dir=DIR
    Specifies the directory that user data (your “profile”) is kept in. Defaults to $HOME/.config/google-chrome . Separate instances of Google
    Chrome must use separate user data directories; repeated invocations of google-chrome will reuse an existing process for a given user data
    directory.

  • 接下来

    1
    2
    3
    4
    cd /home/<user-name>/.config/
    mv google-chrome xxx
    # 注意,不可以使用google-chrome.old,否则chrome还是会从这个文件夹获得用户名等信息
    # 我就是使用了google-chrome.old,结果打开新的chrome,chrome总是显示我已经登录了,然后新的google-chrome目录下的生成的新的Local State文件总是有我的个人信息

    接下来,打开chrome(不加–user-data-dir参数),chrome就会生成新的google-chrome文件夹,从而就可以获得一个全新的chrome环境。然后安装需要的插件和脚本(注意,不要登录账户然后选同步设置。)

  • 把chrome新创建的这个google-chrome文件夹名改为自己要的名字,然后以后要使用新环境就直接加上--user-data-dir=DIR参数打开chrome即可
  • 由于chrome的用户data似乎对chrome版本比较敏感,所以还需要其他措施(当然没有似乎问题也不大——我67使用69的配置只是报个错,没有其他问题)

从chrome 的deb解压获得chrome从而不需要安装也可以使用chrome

  • dpkg -x xxx.deb folder即可把deb包解压到folder文件夹中
  • 然后使用使用chown命令修改folder/opt/google/chrome/chrome-sandbox的拥有者为root,然后使用chmod 4755修改该文件的权限,才可以使用这个chrome
  • 使用方法,直接在folder/opt/google/chrome/目录下运行./chrome即可