Manjaro LinuxにPlayOnLinuxとWineでKindleを使えるようにする
LinuxでKindleを使えるようにしたので記録しておきます。
すでにブログを書かれている方はいますが、バージョンの変化などで少しずつ対応する内容が変わっていそうなので少しでも最新の情報でお役に立てば幸いです。
LinuxでKindleの本を読むには
LinuxでKindleの本を読むには大きく2つ方法があります。
Kindle Cloud Readerを使う方法ですが、現時点では読める本が限られており、私が持っている本はほぼ読めませんでした。少し試したところでは、固定レイアウトの本なら読める感じでしょうか。
ということで、ちゃんとKindleの本を読むにはアプリを入れるしかありません。
LinuxでKindleアプリを使えるようにする
KindleアプリはLinux用のものがないので、Windows用のアプリを使えるようにします。私は次の対応を行いました。一つずつ説明していきます。
- PlayOnLinuxのインストール
- Kindleのダウンロード
- PlayOnLinuxでの環境構築
- Kindleのエラーへの対応
- Kindleの文字化け対応
確認時の環境
- Manjaro Linux 21.1.5
- PlayOnLinux 4.3.4
- Wine 6.0.1
- Kindle for PC 1.31.60170
PlayOnLinuxのインストール
LinuxでWindowsアプリを使えるようにするために、PlayOnLinuxを利用しました。
PlayOnLinuxとは
PlayOnLinuxについて簡単に説明しますが、まず前提として、LinuxにはWineというWindowsのアプリをLinux上で動くようにするアプリケーションがあります。
このWineには使いづらい部分があります。使いたいWindowsのアプリごとに最適なWineのバージョンが異なり、バージョンがずれるとうまく動きません。
普通にWineを使うと、Windowsのアプリを使うたびにそのアプリに最適なWineのバージョンに切り替えなければならず大変です。PlayOnLinuxを使うと、アプリごとに指定したWineをうまく切り替えてくれます。
ただPlayOnLinux特有のバグがあるようで私が使っていても変なエラーがいくつか起きていました。利用する上で困るエラーではなかったのでそのままスルーして使いました。
PlayOnLinuxのインストール〜起動
$ pacman -S playonlinux
$ playonlinux --version PlayOnLinux 4.3.4
起動します。
$ playonlinux
調べていると、言語を英語で起動したほうが良いと書かれているものをいくつか見かけました。私は日本語で動かして特に困りませんでしたが、一応載せておきます。この後の説明は日本語で動かした場合で進めていきます。
$ LC_ALL=C playonlinux
Kindleのダウンロード
WineとKindleのバージョンの組み合わせが適切でないとうまく動きません。
https://appdb.winehq.org/objectManager.php?sClass=application&iId=10597 にバージョンの組み合わせとその評価が書かれているので参考にできます。
私は、これや他の方が書かれているブログを参考にしてWineは安定版の6.0.1、Kindleは1.31.xを使うことで上手くいきました(Kindleで1.33.xを最初試しましたが、それでは上手く動きませんでした)。
https://kindle-for-pc.en.uptodown.com/windows/versions から選択したバージョンのKindleをダウンロードします。
PlayOnLinuxでの環境構築
PlayOnLinuxを立ち上げた後、ツールバーの ツール > Wineのバージョンを管理 を選択します。 それで開かれた画面でWine Version(x86)からWine 6.0.1を選択して「>」でインストールします。
次にツールバーの ファイル > インストール を選択し、「リストにないプログラムをインストールする」を押してインストール画面に進みます。
インストール画面では次のように進めます。
- 「Install a program in a new virtual drive」を選択
- virtual driveの名前を入力するように言われるので、"Kindle"など適当な名前をつける
- 「Use another version of Wine」と「Configure Wine」にチェックを入れて進める
- その後WineとWindowsのバージョンを聞かれるのでWineは6.0.1を選択、Windowsは32bitでWindows8.1を選択
- インストールするアプリを聞かれるのでダウンロードしたkindle-for-pc-1-31-xxxxx.exeを選択
インストール後、私の環境では次のようにエラーが表示されました。
また、PlayOnLinux上に表示するショートカットを聞かれるので、Kindle.exeを選択します。するとPlayOnLinux上にKindleのアイコンが表示されます。
エラーへの対応
エラーの原因を調べる際は、ターミナルに表示されるログを確認します。
私の場合は次のようにしてKindleのキャッシュデータ用のディレクトリを作ってあげることで解決できました。
$ mkdir -p ~/.PlayOnLinux/wineprefix/Kindle/drive_c/users/$USER/AppData/Local/Amazon/Kindle
1つ目のKindleの部分は環境構築時につけたvirtual driveの名前に変えてください。
再度Kindleアプリを立ち上げると、エラーせずログインして使うことができるようになりました。
あとは日本語が文字化けしてしまうのでこれを解決するだけです。
Kindleの文字化け対応
日本語の文字化けを修正します。文字化けの原因はMSフォントが入っていないことなので、レジストリをいじってフォントを置き換えます。
まずレジストリファイルを準備します。適当な場所(~/.PlayOnLinux/wineprefix/Kindle/
など)にkindle_setting.reg
を作成します。ファイルの内容は次のようにします。
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] "MS Shell Dlg"="IPAGothic" "MS Shell Dlg 2"="IPAGothic" "MS UI Gothic"="IPAGothic"
IPAGothic
の部分は自分のPCにインストールされている好きなフォントにしてください。利用できるフォントはfc-list
コマンドで確認できます。
次に、アイコン上で右クリック > レジストリエディタ をクリックしてレジストリエディタを開きます。
そして、レジストリエディタのツールバーの レジストリ > レジストリのインポート から先ほど作成したレジストリファイルを選択しインポートします。
正しくインポートできていれば、再度Kindleを起動した際に文字化けが直っているはずです。