LoginSignup
1
2

More than 5 years have passed since last update.

USERPROFILE弄ったらGoogleChromeが起動しなくなった

Last updated at Posted at 2016-10-19

環境変数USERPROFILEを変更したらGoogle Chrome(以下chrome)が立ち上がらなくなった。
標準のブラウザに設定しているのに。

Google Chromeはどうしちゃったの

chromeは起動時に%USERPROFILE%\AppData\Local\Google\Chrome\User Dataのユーザーデータを見に行っている。
USERPROFILEを変更したせいでユーザーデータのディレクトリが見えなくなってしまっている。

ユーザーデータのディレクトリは、起動オプション--user-data-dir=<ディレクトリパス>で明に指定できる。1
つまりchromeの呼び出し時に--user-data-dir="C:\Users\<username>\AppData\Local\Google\Chrome\User Data"を指定すればよい。

…標準ブラウザの呼び出しとは?

関連付けはどうなってるの

httpプロトコルや拡張子.htmlに関連付けられているのがいわゆる「標準ブラウザ」だ。
この呼び出しはレジストリに定義されている。2

レジストリの値は、コマンドラインからreg query <キー>で参照できる。

$ reg query 'HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice'
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
    Progid    REG_SZ    ChromeHTML

$ reg query 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice'
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice
    Progid    REG_SZ    ChromeHTML

変数Progidが定義されており、値がChromeHTMLになっている。3

Progid=ChromeHTMLの場合はどんなコマンドに関連付けられるのか。それもやはりレジストリに定義されている。
キー名HKEY_CURRENT_USER\Software\Classes\ChromeHTML\shell\open\commandの無名の変数(Default)がそれだ。

どうすればいいの

都合により環境変数USERPROFILEは弄っている(これ自体あまり推奨されない)が、chromeは常に同じユーザーとして開きたい。
なのでChromeHTMLのコマンド呼び出し定義に--user-data-dirオプションを加える。

regeditを使ってHKEY_CURRENT_USER\Software\Classes\ChromeHTML\shell\open\command(Default)を変更する。
※ regeditの使用は自己責任でお願いします。

変更した値を確認する。

$ reg query 'HKCU\Software\Classes\ChromeHTML\shell\open\command'
HKEY_CURRENT_USER\Software\Classes\ChromeHTML\shell\open\command
    (Default)    REG_SZ    "C:\Users\<username>\AppData\Local\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\Users\<username>\AppData\Local\Google\Chrome\User Data" -- "%1"

実際に設定が利いていることも確認しよう。
元々はPython経由で標準ブラウザが呼び出せなかったので調べ始めたのだった。4
試してみる。

$ python -m webbrowser -t "http://www.python.org"

chromeが起動した。


1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2