Ubuntu1604LTSでKindleを使う(PlayOnLinux)

#Ubuntu1604LTSでKindleを使う
##前提
###環境
Ubuntu 16.04 LTS
###やりたいこと
amazon.co.jpで購入したKindle書籍を読む
###課題
- 日本語の活字本がメインなので、[KindleCloudReader](https://read.amazon.co.jp/)は利用できない。
- PlayOnLinuxのインストールメニューから利用できるKindleが、北米版のみの対応。

###目標
- PlayOnLinux上で、Kindle for PCを動作させる。
- Kindle for PCから、amazon.co.jpにログインする。

---

##手順
###wineのインストール
####コマンド
```
$ wget https://dl.winehq.org/wine-builds/Release.key
$ sudo apt-key add Release.key
$ sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
$ sudo apt-get update
$ sudo apt-get install --install-recommends winehq-stable
```

2019/03/03 追記。
wineのリポジトリキーが2018/12/19に変更された。16.04は以下。
18.04以降の場合はまた別のものになるため、[こちら](https://wiki.winehq.org/Ubuntu)を参照のこと。

```
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main'
```

####wineのインストール確認
```
$ wine --version
wine-2.0.4
```
バージョンはPlayOnLinuxを使うので任意かな？



###PlayOnLinuxのインストール
####インストール
[リンク](https://www.playonlinux.com/en/download.html)

```
$ wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
$ sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.list
$ sudo apt-get update
$ sudo apt-get install playonlinux
```

####インストール確認
```
$ playonlinux --version
PlayOnLinux 4.2.11
```
最新版は動かない、という[記事](http://mogi2fruits.net/blog/os-software/linux/ubuntu/4252/)も見た。
4.2.11で今のところ不自由していない。



###Kindleのインストール
####KindleのインストーラーEXEを取得
[バージョン間の整合性確認](https://appdb.winehq.org/objectManager.php?sClass=application&iId=10597)を行う。
今回利用したのは[1.17.44183](https://kindle-for-pc.en.uptodown.com/windows)

他にプチハマったのが、インストーラーEXEのファイル名をKindle.exeにしていたら、既にKindleが動いてるやんけ、というエラーになってインストーラーが進まなかった。

####PlayOnLinuxの、インストール前準備
#####Wineバージョン取得
PlayOnLinux 上部メニュー > Tools > Manage Wine versions
Wine versions (x86)タブ上で、利用するバージョンのWineをインストールする。
今回利用したのは2.1。

#####仮想ドライブ設定
######仮想ドライブ作成
PlayOnLinux 上中部の帯メニュー > Configure
左下 New をクリックし、Virtual drive creatorにしたがって仮想ドライブを作成。
- 32 bits windows installation
- 2.1 (上記インストールしたバージョン)
- 名前は適当。KindleJPとか。

######仮想ドライブ設定
wine設定でWindowsバージョンをWin7〜8.1にしないとインストールがコケる。
[参考](https://www.hiroom2.com/2016/09/26/ubuntu-16-04-wine%E3%81%A7kindle-for-pc-windows-%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/)

作成した仮想ドライブを選択し、右側パネル上Wineタブから Configure Wine をクリック。
Applicationsタブ下部のWindows Versionを、Windows 8.1にする。



####Kindle for PCのインストール
#####PlayOnLinux メニュー
PlayOnLinux > 左パネル内、Install a program > Install a non-listed program

#####PlayOnLinux Wizard - Manual installation
2ページ目で、Edit or update an existing application を選択し、次へ。
左下部 Show virtual drives にチェックを入れ、上記作成した仮想ドライブを選択。
バージョン選択やwine設定等は不要なので次へ進む。
32 bits windows installation を選択して次へ。
Browseボタンから、取得しておいたKindleのインストーラーを選択すると、インストールが開始される。
Kindleが起動してもPlayOnLinuxにフォーカスを戻し、Kindle.exeを選択してリンクを作成しておく。



####その他困ったこと
[このリンク](http://nkenbou.hatenablog.com/entry/2017/04/25/125733)を参考に、wine直入れでのインストールを試行していた時のこと。
うまくいかなかったので、「インストールをやりなおす場合」の項にしたがってwineを一度アンインストールした。
そのとき`sudo apt autoremove`で一緒に消えてしまったのがttf-mscorefonts-installer。
hervetica、arial、sans-serifあたりがなくなって、Chromeの表示などがイカれた。
再インストールで直った。`sudo apt-get install ttf-mscorefonts-installer`。

---

##迷走したこと
###PlayOnLinux install menu上のAmazon Kindleをインストール
PlayOnLinux > Install a program で出てくる install menu。
左上の検索ボックスからAmazon Kindleを検索すると、北米版Kindle(?)がインストールできる。
これは他ドメインへの口がなく、amazon.com上の資産しか読めない。


###Amazonアカウントの結合
比較的古い記事([コレ](http://ebook.itmedia.co.jp/ebook/articles/1211/06/news012.html)とか[コレ](http://blog.livedoor.jp/takoyaki4610-ebook/archives/22649043.html)とか)で、北米版と日本版でアカウントを結合することで、北米版ライブラリに資産を統合できる、というものを発見。
これで上記の北米版Kindleでも読めるのね、と思ったが、2017年12月時点では上記記事に記載されているアカウント結合処理のリンクはなく、サポートされていないくさい。


###AnboxでAndroid版Kindleを動かす
上記Kindlw for PCのインストールが停滞していた時、Androidでやってみるかと思って試行したのが以下。
1. Anboxインストール
[ココ](http://gihyo.jp/admin/serial/01/ubuntu-recipe/0468/)を参考に導入。
あわせて android-tools-adb も入れている。
2. Kindle.apkインストール
[ココ](https://www.androidapksfree.com/apk/amazon-kindle-apk-android-latest-download/)からひろったがこれがダメ。エラーは以下。
```
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
```
ネイティブライブラリを使うアプリなのにABIがそれをサポートしていない、というものの模様。
Linux側でドライバをどうにかこうにかしてあげればいいのかな？面倒で挫折。


##起こらなかった問題
 - 豆腐化(フォントない問題)


##参考
 [Xubuntu16.04 で Kindle for PC を動かすメモ（Wine ＆ PlayOnLinux）](http://mogi2fruits.net/blog/os-software/linux/ubuntu/4252/)
 [Ubuntu 16.04: WineでKindle for PC (Windows)を動かす](https://www.hiroom2.com/2016/09/26/ubuntu-16-04-wine%E3%81%A7kindle-for-pc-windows-%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/)
 [Ubuntu 16.04 に Kindle for PC をインストールする](http://nkenbou.hatenablog.com/entry/2017/04/25/125733)