前回最後に使ったプロファイルから切り替えるのが面倒。メモリ消費大のため単独で起動したい。
対象環境
- Chromium 65.0.3325.181 Built on Raspbian , running on Raspbian 9.6
手順
$ chromium-browser --profile-directory="Profile 1"
上記の例では~/.config/chromium/Profile 1/
のプロファイルで起動する。
プロファイル名
勝手にProfile 1
と名付けられる。ユーザ名を設定・変更できるがフォルダ名に変化なし。そこでユーザ名を取得する方法を探してみた。
- コマンド名を調べる
- バージョン確認する
- ヘルプを表示する
- ユーザデータを調べる
1. コマンド名を調べる
まずchromium
のコマンド名を調べる。
- メインメニュー→
インターネット
→Chromium ウェブ/ブラウザ
を右クリックする プロパティ
をクリックするリンク先
のパスをコピペする/usr/share/applications/chromium-browser.desktop
テキストエディタで開く
- ファイル末尾へ移動する
- 以下の記述からコマンド名は
chromium-browser
であると判明する
Exec=chromium-browser --temp-profile
2. バージョン確認する
$ chromium-browser --version --disable-quic --enable-tcp-fast-open --disable-gpu-compositing --ppapi-flash-path=/usr/lib/chromium-browser/libpepflashplayer.so --ppapi-flash-args=enable_stagevideo_auto=0 --ppapi-flash-version= Chromium 65.0.3325.181 Built on Raspbian , running on Raspbian 9.6
3. ヘルプを表示する
$ chromium-browser --help
4. ユーザデータを調べる
上記からユーザデータは以下にあることが判明。
- ~/.config/chromium/
4-1. プロファイル・ディレクトリ
- ~/.config/chromium/
- System Profile/
- Default/
- Profile 1/
- Profile 2/
- Profile 3/
- ...
4-2. ユーザ設定ファイル
- ~/.config/chromium/
- Default/
- Preferences
- Default/
ユーザの設定はプロファイル・ディレクトリ配下のPreferences
ファイルにてJSON形式で保存されている。
4-2-1. ユーザ名の調べ方
- Preferencesファイルをテキストエディタで開く
managed_user_id
で検索する- その右隣にある
name
属性値がプロファイルのユーザ名である
... ,"managed_user_id":"","name":"{自分で設定したプロファイルのユーザ名}", ... ... {"account_id":"{UUID}","last_account_id":"{UUID}","last_username":"{UUID}","username":"{UUID}"}}, ...
- https://www.chromium.org/developers/design-documents/preferences
- https://wiki.archlinux.jp/index.php/Chromium%E8%A8%AD%E5%AE%9A#Chromium.E3.81.8C_Preferences_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.B8.8A.E6.9B.B8.E3.81.8D.E3.81.97.E3.81.A6.E3.81.97.E3.81.BE.E3.81.86
4-2-1-1. JSON階層の調べ方
先のJSONはインデントがなく大量であるため、階層が不明。JSONを整形してインデントを挿入した形にして目で確認する。
cat "/home/pi/.config/chromium/Profile 1/Preferences" | python -m json.tool > /tmp/work/Preferences.json
以下の階層であることが判明。
profile
name
Pythonでプロファイル名を表示するコードは以下。
show_profile.py
#!/usr/bin/python3 # coding: utf-8 import sys import json f = open("/home/pi/.config/chromium/Profile 1/Preferences", 'r') chromium_preferences = json.load(f) print(chromium_preferences['profile']['name'])
5. プロファイル選択したい
プロファイル選択できるランチャーが欲しい。
chromium_user_select.sh
chromiumを起動します。ユーザを選択してください。 1) default 2) userA 3) userB $?)
- プロファイル情報を自動で読み込む
- 全ユーザを網羅する
- ユーザ名を表示する(フォルダ名でなく)
- 全ユーザを網羅する