Met4licのあけくれ帖

日常とか、勉強したこととかいろいろ書いていくつもりのブログです

GoogleChromeを特定のユーザーでシェルスクリプトから起動しようとした話

だいぶぶりです。
就活大失敗して落ち込んでるなう(古)のMet4licですぅ。

今回はちょっと個人的にシェルスクリプトからGoogleChromeを起動したかったのでその時のメモみたいなもんです。
読みやすさは重視しませんので悪しからず。

何をしたいのか

特定のユーザーで、シェルスクリプト経由で特定のWebページを開きたい

私仕事用のアカウントと個人用のアカウントでChromeのユーザーを分けてまして、で、ふと「だいたいいつも起動すると同じページ起動するし、いちいちChrome開いてクリックしてってめんどくさいな。。。」と思ったわけです。

んで、シェルスクリプトでも書いて自動化しようかしら、と思いました。

結論

Chromeが完全に終了している(Quitされている)状態で

    open "[起動したいApplicationへのパス]" [url] --args --profile-directory="[ユーザーデータ名]"

これで起動できます。

注意しなきゃいけないのは、すでにChromeが立ち上がっていると、このコマンドで開いても、現在アクティブなユーザーで開かれてしまうということです。

なので、シェルスクリプトで複数のユーザーを同時に起動するようなことはできないみたいです。

まずやったこと

まずはシェルスクリプト何それ美味しいの状態なので、とにかく調べました。
で、どうやら

    open -a "[起動したいApplicationへのパス]" [url]

で、特定のブラウザを立ち上げて、指定したurlを開けるらしいので、これを使っていこうと思ったわけですが、問題発生。

ユーザーが自分が開きたいユーザーで開いてくれない

そう、自分が今立ち上げてる(個人の)ユーザーで立ち上げてしまうのですよ。。どうしたものか。
しかしそこはさすがにアプリケーションだし、どっかから設定ファイルを読んでいるにちがいないと思い、いろいろ漁ると、やはりユーザーデータを指定して開くことができるらしい。

どこにあるんだろうな〜と思って探していたら見つけました。

私現在はMacを使っているので、Macでの話になってしまいますが、Macで何もいじってないなら/Users/[UserName]/Library/Application Support/Google/Chromeというところにどうやら色々入っているようです。

ただ、この中身、すごいごちゃごちゃしていて ls コマンドで見ても、どれがユーザーデータなのかいまいち分かりづらかったです。

んで、色々調べて行くと、どうやら一番最初にChromeにログインしたユーザー(もしくはデフォルトに設定しているユーザー)は >Defaultというディレクトリが該当のユーザーデータのようで、そのほかにユーザーがいる人は他にもディレクトリがあると思います。僕はもう一方のデータを使いたかったので、そちらのデータを見つけました。

やってみて

意外とこういうことを調べるのって楽しいもんですね。
これからも楽をするために頑張っていきたいなと思いました。

シェルスクリプトは要練習だな。。。

終わります。