ill-identified diary

所属組織の見解などとは一切関係なく小難しい話しかしません

[日記] Ubuntu 20.04でWine v6を使いKindleを動かす

この記事は最終更新日から3年以上が経過しています


要点

  • Gecko がないと Kindle 上で Amazon のログインページがうまく表示されないらしい
  • Wine v6.0 台でないと上記はサポートされないらしい
  • 以下の投稿を既に見ている人にとっては新しい情報はほぼないので以降を読む価値はない.


方法

一般論として, Wine 関連はバージョンアップのたびによく状況が変わるので, Ubuntu, Wine, Kindle のバージョンが異なるとうまくいかない可能性があることに注意.

結果としては, Wine v5 台では Gecko をサポートしてないため, 初回起動時に Amazon にログインするウィンドウが表示できず真っ白になる. これを解消するには Wine v6 台が必要 (私がインストールしたのは wine v6.0.1) らしい. 現時点では, デフォルトのパッケージリポジトリには v6.0 は登録されていないので新しいパッケージリポジトリを登録する必要がある.

sudo dpkg --add-architecture i386   # 32bit版対応のため必要
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add - 
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
sudo apt install --install-recommends winehq-stable 

(focal の部分は使用する Ubuntu のバージョンに合わせて適宜変更する必要があるが, バージョンアップしたらまた状況が変わるので気休めである)

そして KindleWindows版の v1.31.60170 のインストーラをダウンロードする (少し前は 1.17 あたりじゃないとうまく動かないという話だったが変わったらしい1).

私は https://www.amazon.com/b/ref=ruby_redirect?ie=UTF8&node=16571048011 からダウンロードした.

なお, 私は Kindle をインストールする時点では v5.0 であり, その時は手動でインストールディレクトリを作らないとエラーが発生した. さらに, このツイートによれば開発版の 6.1+α でも同様らしい. (Xubuntu と書いてあるのでたぶん Ubuntu も事情は同じだろう) ので, どちらにしてもインストール前にディレクトリ作成が必要らしい.

mkdir -p ${WINEPREFIX:-$HOME/.wine}/drive_c/users/$USER/AppData/Local/Amazon/Kindle
wine /適当なパス/KindleForPC-installer-1.31.60170.exe

さらに上記のツイートの投稿者は文字化け対策のため「梅UIゴシック」をシステムフォントにする設定をしているが, 私は面倒だったので昔から知られている winetricks 経由で日本語対応フォントをインストールすることにした. おそらくこれを読んでる人のほとんども梅ゴシックをPCにインストールしてないだろうからそっちも紹介しておく. もちろん既に設定している人は不要.

まずは, winetricks を(持ってない人はインストールしてから) 起動する.

sudo apt install winetricks
winetricks

ウィンドウが出てくるので “Select the default wineprefix” -> “Install a font” -> “CJK Font” にチェックを入れて OK で日本語用フォントをインストールできる (インストールされるのはたぶん源の角フォント). このとき, 32bit 版がどうこうという警告が何度も現れるが無視しても大丈夫.

ただしこのフォントだと英数字の表示がかなり汚い (後の画像参照. 実際 Amazon.co.jp すら判読困難) という問題がある. しかし見づらいのは Wine の UI だけで, Kindle 書籍には影響しないため私は放置している. こだわる人は他の方法を探してほしい.

これでおそらく最低限の表示ができるので, Kindle を立ち上げる. しかしデフォルトではたぶんパスが通ってないのでフルパスで書く必要がある. 例:

wine .wine/drive_c/Program\ Files\ \(x86\)/Amazon/Kindle/Kindle.exe

これでログインウィンドウを表示できるので, 同期することができる.

f:id:ill-identified:20210706202606p:plain
表示されたログインウィンドウ

古いバージョンなどでうまく表示できないときはこうなっていた

f:id:ill-identified:20210706202644p:plain
ログインページが表示できない例

なお, Kindle v6.0 にアップグレードするまえに aptwinbind をインストールした. 結局それだけでは解決できなかったが, もしかすると必要かもしれない.




  1. 具体的にはネット接続に証明書が必要になるらしい. https://twitter.com/sagawa_aki/status/1362737844159086595↩︎