Kali Linux に Kindle for PC をインストールする。

#Kali Linux に Kindle for PC をインストールする。

LinuxでKindleを読むために手こずったため、メモ化しておく。
・playonlinuxの環境構築
・Kindleのインストール
・Kindleの日本語化

##この記事を書いたときの環境

```console
$ uname -a
Linux kali 4.19.0-kali4-amd64 #1 SMP Debian 4.19.28-2kali1 (2019-03-18) x86_64 GNU/Linux
$ playonlinux --version
PlayOnLinux 4.3.4
$ ls ~/Downloads/
kindle-for-pc-1-17-44183.exe
```

##playonlinuxのインストール

wineを直接使ってもいいんですが、バージョン管理が（非常に）面倒なのでplayonlinux上でwineの適切な
バージョンを設定してKindleをインストールしたいともいます。

```console
$ sudo apt install playonlinux
```

```console
$ playonlinux --version
PlayOnLinux 4.3.4
```

terminalから起動して設定していきます。メニューバー等からも起動はできますが、terminalから起動した場合
ログがでるのでエラーへの対処がしやすくなります。

```console
$ playonlinux
```

言語設定で日本語を選んでいる場合は言語を英語にして起動したほうが無難です。次のコマンドで言語を英語にして起動できます。

```console
$ LC_ALL=C playonlinux
```

##Kindle for PCのダウンロード

playonlinuxから直接Kindleをインストールできますが、
これだと適切なバージョンが設定できないのでうまく動きません。
自分で適切なバージョンのものをダウンロードしてインストールします。
wineとKindleのバージョンの組み合わせは次を確認すればいいでしょう。
https://appdb.winehq.org/objectManager.php?sClass=application&iId=10597
ここからRatingがGoldかPlatinumの組み合わせを選べば良いと思います。
今回はwine-2.15, Kindle-1.17.xで行います。
Kindle-1.17.xのダウンロードは以下のページから。
https://kindle-for-pc.en.uptodown.com/windows/download

またamazon.co.jpから最新バージョンのものをダウンロードしても（2019.5.7現在では）
バージョンがよくわからないのでうまく行くかは運次第。

##playonlinuxの仮想環境の設定

ツールバーの Tools > Manage Wine Versions を選択。
Wine Version(x86)からWine 2.15を選択。

次にConfigureから新たにWindows,wineの環境を構築。
New > 32 bit windows installation > 2.15 を選択。
virtual driveの名前を聞かれるので適当に"KindleJP"と入力。


##Kindle for PCのインストール

メニューのinstall > install-not-a-listed-programを選ぶ。
上記のplayonlinuxで仮想環境の設定をおこなっている場合は、Edit or update an existing applicationを選択。
仮想環境の設定を行ってなくてもInstall a program in a new virtual driveを選択すれば同様の設定を行える。
installを行う前にUse another version of Wine とConfigure Wineにチェックを入れる。
（チェックを入れなくても後で設定できる。）
チェックを入れた場合、wineのバージョンとwindowsのバージョンを聞かれるので
wineは2.15、windowsはwindows 7もしくはwindows 8.1を選択。

その後インストールするアプリを聞かれるのでダウンロードしたkindle-for-pc-1-17-44183.exeを選択。
インストール中、アカウントを聞かれるが一旦無視してよい。
インストールが終了するとplayonlinux上にKindleのアイコンが表示されると思います。

##Kindle for PCの日本語化

インストールは完了しましたが、日本語が表示できないので表示させるためにレジストリをいじります。
自分でwindowsのレジストリをいじる場合は、間違えた場合取り返しがつかないことがあるので必ずバックアップコピーをとるのですが
今回はLinux上の仮想環境であること（と、あとめんどくさい）からレジストリのバックアップは行いません。

~~Kindleのアイコン上で右クリック > Registory Editor
regeditが表示されるので
HKEY_USRS/S-1-5-21-0-0-0-1000/Software/Amazon/Kindle/User_settings/lang.iso639
のValue dataをenからjpに変更します。
ただし、これを変更しても全部うまく日本語化されるわけではないみたい。
うまいやり方だれか教えてください。~~

[2020/08/17:追記]
いつのまにかうまく日本語化できてたのでそれとなく書いときます。
次のレジストリファイルを作ってインポートすれば良いです。

```kindle_setting.reg
Windows Registry Editor Version 5.00                                        
 
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"MS Gothic"="TakaoGothic"
"MS Mincho"="TakaoMincho"
"MS PGothic"="TakaoPGothic"
"MS PMincho"="TakaoPMincho"
"MS UI Gothic"="TakaoPGothic"
"UI Gothic"="TakaoGothic"
```

wine上で使うフォントを置き換えるという設定です。
MSたちをTakaoに置き換えるようにすれば豆腐化は治ると思います。


##参考文献・リンク
Ubuntu 16.04 に Kindle for PC をインストールする
http://nkenbou.hatenablog.com/entry/2017/04/25/125733
Where are Amazon Kindle ebooks on my Linux PC after I download them for offline reading w/“Kindle Cloud Reader” Chrome app, & how to convert to PDF?
https://askubuntu.com/questions/1011989/where-are-amazon-kindle-ebooks-on-my-linux-pc-after-i-download-them-for-offline