先週、
Kindle on Ubuntu
KindleはAmazonが販売・
Kindleは書籍のファイルフォーマットとしてMobipocket形式か、
結論から先に言ってしまうと、
- Kindle Cloud Reader
- Webブラウザー上で動作するKindleリーダーです。ただし日本語の小説
(やおそらくリフロー型の和書全般) には対応していないようで、 基本的に日本語の書籍で読めるのはマンガと雑誌だけです。また当然のことながらオフラインでは動きません。 - Kindle for PC
- PC用のKindleアプリです。書籍データをダウンロードして読むタイプなので、
オフライン状態でも読書はできます。Windows版とMac版が存在します。
Kindle Cloud Readerの使い方は至極単純です。FirefoxやChromiumなどでサイトにアクセスし、
Kindle for PCに、
さてWineを使うと、
Kindle on Ubuntu with Wine
Kindle for PCを起動する前に、
いずれのバージョンのパッケージでもKindleを動かすことはできます。今回は将来的により多くのWindowsソフトウェアを動かすことを考えて、
Wineのインストール
Windowsソフトウェアには32bitバイナリもまだ多いことから、
$ sudo dpkg --add-architecture i386
あとはPPAを追加してwineをインストールするだけです。
$ sudo add-apt-repository -y ppa:wine/wine-builds $ sudo apt update $ sudo apt install winehq-devel
Wineをインストールしたら一度、~/.wine/」
$ wineboot (そこそこ時間がかかります)
wineboot実行時に問われるMonoやGeckoは必要に応じてインストールしてください。今回は不要なので、
新しいWineはUbuntuシステムのフォント情報を取得し、~/.wine/」
[Software\\Wine\\Fonts\\Replacements]
"MS Gothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS PGothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS Sans Serif"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS Shell Dlg"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS UI Gothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
あとは
Kindle for PCのインストール
「Kindle for PC」
あとはこのインストーラーをWine経由で起動するだけです
$ wine Kindle_for_PC_Windows_ダウンロード.exe
そのまま放っておくと~/.wine/」
プロキシ環境だとログインダイアログに何も表示されないかもしれません。Wineそのものは原則としてシステムのプロキシ情報を利用してアクセスするのですが、
無事にログインしたらライブラリの同期が開始します。ちなみにダウンロードしたコンテンツは~/My Kindle Content/」
Kindle on Ubuntu with Wine on LXD
Kindleはプロプライエタリなソフトウェアですし、
やり方としては、
$ sudo apt install lxd
$ sudo lxd init
さまざまな選択肢が表示されます。
基本的に初期値かもしくは左にある項目を選んでおけば問題ありません。
$ lxc launch ubuntu:16.04 kindle
イメージをダウンロードするためにそれなりに時間がかかります。
$ lxc exec kindle apt update
$ lxc exec kindle -- apt full-upgrade -y
$ lxc exec kindle -- apt install -y language-pack-ja \
fonts-takao avahi-daemon
$ lxc exec kindle update-locale LANG=ja_JP.UTF-8
$ lxc exec kindle timedatectl set-timezone Asia/Tokyo
$ lxc exec kindle timedatectl status
$ lxc file push ~/.ssh/id_rsa.pub kindle/home/ubuntu/.ssh/authorized_keys
$ lxc exec kindle chown ubuntu: /home/ubuntu/.ssh/authorized_keys
ここまででベースとなるコンテナができました。この状態でスナップショットをとっておくと便利です。なお、
以降はWine/
$ lxc exec kindle -- dpkg --add-architecture i386
$ lxc exec kindle -- add-apt-repository -y ppa:wine/wine-builds
$ lxc exec kindle apt update
$ lxc exec kindle -- apt install -y winehq-devel firefox
Wineの初期設定と起動テスト
$ ssh -X ubuntu@kindle.local wineboot
$ lxc file edit kindle/home/ubuntu/.wine/user.reg
末尾に以下の内容を追加する
[Software\\Wine\\Fonts\\Replacements]
"MS Gothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS PGothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS Sans Serif"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS Shell Dlg"="TakaoEx\x30b4\x30b7\x30c3\x30af"
"MS UI Gothic"="TakaoEx\x30b4\x30b7\x30c3\x30af"
$ ssh -X ubuntu@kindle.local wine iexplore
Kindleのインストール
$ lxc file push Kindle_for_PC_Windows_ダウンロード.exe \
kindle/home/ubuntu/KindleInstaller.exe
$ ssh -X ubuntu@kindle.local wine KindleInstaller.exe
LXDで作ったコンテナにはデスクトップディレクトリが存在しないので、
$ ssh -X ubuntu@kindle.local QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx \
wine ".wine/drive_c/Program\ Files\ \(x86\)/Amazon/Kindle/Kindle.exe"
Qt製のアプリなので、
うまく動いたら、
$ lxc file pull "kindle/home/ubuntu/.local/share/icons/hicolor/256x256/apps/0914_Kindle.0.png" \
kindle_256.png
$ xdg-icon-resource install --novendor --size 256 kindle_256.png kindle
$ cat > kindle.desktop <<EOF
[Desktop Entry]
Name=Kindle
GenericName=Kindle for PC
Comment=Ebook reader
Exec=ssh -X ubuntu@kindle.local QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx wine ".wine/drive_c/Program\ Files\ \(x86\)/Amazon/Kindle/Kindle.exe"
Terminal=false
Type=Application
Icon=kindle
Categories=Office;Viewer;
EOF
$ desktop-file-validate kindle.desktop
$ desktop-file-install --dir=$HOME/.local/share/applications/ kindle.desktop
Kindle書籍を作成する
最初にも解説したように、
「Kindleパーソナル・
もしファイルサイズが大きすぎてメールで送れなかったり、
- KindleGen
- コマンドラインでHTMLやEPUBなどのXMLベースのドキュメントを変換するツールです。Linux向けのバイナリも存在します。
- Kindleプレビューア
- Kindle端末上での表示をエミュレーションできる変換ツールです。EPUBなどに加えて、
KindleGenで変換後のファイルも表示できます。Linux向けのバイナリは存在しません。
これらのツールは変換元としてHTMLやEPUBなどのみをサポートしています。PDFや画像ファイルを変換したい場合は、
サンプルEPUBファイルの作成
いずれのツールも変換元としてEPUBをサポートしているようなので、
$ sudo apt install default-jre $ git clone https://github.com/IDPF/epub3-samples $ cd epub3-samples/ $ ./pack-single.sh 30/kusamakura-japanese-vertical-writing
リポジトリのサイズは大きめです。pack-all. を実行するとすべてのサンプルをEPUBファイルに変更します。ひとつだけ変換しているのは、kusamakura-japanese-vertical-writing.」
KindleGen
KindleGenはたんなるLinux用のELFバイナリなので、
$ tar xvf kindlegen_linux_2.6_i386_v2_9.tar.gz $ file kindlegen kindlegen: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, stripped $ ./kindlegen kusamakura-japanese-vertical-writing.epub
指定したファイル名の拡張子をmobiに変更したkusamakura-japanese-vertical-writing.」My Kindle Content」
たとえばLXDを使っているなら、
$ lxc file push kusamakura-japanese-vertical-writing.mobi kindle/home/ubuntu/My\ Kindle\ Content/
Kindleプレビューア
KindleプレビューアはWindows版をダウンロードします。200MBぐらいとファイルサイズが大きめですので、
$ wine KindlePreviewerInstall.exe
WineのユーザーディレクトリにあるLocal Settings/」
$ cd ~/.wine/drive_c/users/ubuntu/Local\ Settings/Application\ Data/Amazon/Kindle\ Previewer/ $ wine KindlePreviewer.exe
もちろんLXD上でも動かせますので、
来週のRecipeは休載です
来週はRecipeを休載します。次の公開日は8月24日です。