様々なブラウザと様々なプロファイルを切り替えて使うスクリプト
有用なユーティリティコード
- TOP
- Old Archives
- 様々なブラウザと様々なプロファイルを切り替えて使うスクリプト
基本解説
これまでFirefox Latestスクリプトを使ってきたが、これではFirefoxしか利用できなかったり、異常終了やフリーズすると問題が生じる可能性があった。
Firefox Latestの仕組みは次のようなものだ。
要はシンボリックリンクで.mozillaを切り替えて起動→終了したらシンボリックリンク修正、をしているだけだ。
ちなみに、もともとはMageiaがFirefoxをLTS版を採用していて、それが気に入らなかったのでこのようにしている。 だが、Manjaroはその必要はないので、Firefoxだけでなく、任意のブラウザを任意のプロファイルで起動できるようなスクリプトを書いた。
多くの関数が定義されているが、まずはプロファイル切り替えの方法をまとめる必要があった。
Chromium系は--user-data-dir
オプションを使用する。
これに該当するのは
- Google Chrome
- Chromium
- Opera (Blink系)
- Vivaldi
- SRWare Iron
- Maxthon
Maxthon for LinuxはあまりにもOUT OF DATEが過ぎるが。
Firefox系は-P profile
か-profile path
のふたつ。設定全体を切り替えることはできず、プロファイルのみの保存切り替えだが、問題はあまりなさそうだった。これに該当するのは
- Firefox
- SeaMonkey
- Palemoon
それ以外
- Midoriは
-c directory
- qupzillaは
-p directory
- Rekonqは
--config directory
この5タイプに対応した上で、それぞれのブラウザに対応した関数を用意し、簡単に起動できるようにしている。
例えば
mybrowsers[shopping]="chr $HOME/.browser-settings/chromium/shopping"
とした上で、
$ mybrowser.zsh shopping
とすれば、$HOME/.browser-settings/chromium/shopping
を設定ディレクトリとしてChromiumが起動することになる。
Zsh Assoc
今回のスクリプトではZshの連想配列を2つ使用している。
ひとつは、ブラウザの起動設定を行うためのものだ。これは
eval "$mybrowsers[$1]"
という部分で作用している。
もうひとつは、ブラウザのコマンドを修正するものだ。Chromeはgoogle-chrome
だったりするかと思うが、Archではgoogle-chrome-stable
だったりもする。
そこでこれを修正するため、ブラウザの各コマンドは"${${modify_browsers[$browser]}:-$browser}"
とすることで修正可能にした。