技術的ひとりごと(備忘録)

いろいろな備忘録的な何か

異なるKindleアカウントで購入した電子書籍を同時表示する方法 (Windows環境向け)

  1. 経緯
    • Amazon Kindle による電子書籍サービスを利用しているが、趣味用のアカウントと技術書用のアカウントを分けて作っている。
      • 混ざると管理上よろしくないため。(仕事場とかもっていけなくなるし。)
    • ただし、自宅のパソコンでは両方のアカウントで買った電子書籍サービスを読めるようにしたい。
    • Amazon KindleWindows版クライアントは、1アプリあたり1アカウントしか紐付けできないため工夫が必要。
    • Windows版クライアントで落とした書籍は暗号化されており、ダウンロード時に使っていたWindowsアカウントでしか開けない。
  2. 目標
    • 複数Kindleアカウントで購入した書籍を単一のWindowsデスクトップで閲覧できる環境を作る。
  3. 実現方法
    1. 概要
      • runasコマンドを使って別ユーザでKindleクライアントのプログラムを実行すれば良い。
    2. 前提
      • 以下のKindleアカウントが持っているものと仮定する。
        • "KA01":Kindleアカウントその1(趣味用)
        • "KA02":Kindleアカウントその2(技術書用)
    3. 実装
      1. Windowsに以下のアカウントを作成する
        • "winuser01": 通常デスクトップログイン用 兼"KA01"で購入した書籍の閲覧用。
        • "winuser02": "KA02"で購入した書籍の閲覧用
      2. "winuser01"でWindowsにログインし、Kindleクライアントをインストールする。
      3. Kindleクライアントのアカウント設定で"KA01"のアカウント情報を登録する。
      4. "winuser02"でWindowsにログインし、Kindleクライアントをインストールする。
      5. Kindleクライアントのアカウント設定で"KA02"のアカウント情報を登録する。
      6. "winuser01"でWindowsにログインし、以下1行の内容を含むバッチファイル(.bat)を作成する。
        • runas /user:"winuser02" C:\Users\"winuser02"\AppData\Local\Amazon\Kindle\application\Kindle.exe
    4. 使い方
      • Windowsのログインアカウントは"winuser01"を使用する。
      • "KA01"で購入した書籍を閲覧したい場合は、デスクトップもしくはスタートメニューに表示されているKindleクライアントを実行する。
      • "KA02"で購入した書籍を閲覧したい場合は、前述した 3.実装 の 6. で作成したバッチファイルを実行する。
        • その際、パスワードが聞かれるのでのログインパスワードを入力すること。パスワードが正しければ"KA02"の書籍が表示される。

前述の理由でアカウント使い分け必須だと思いますが、見る本を変える度に、アカウント情報もしくはWindowsユーザの切り替えするのも大変不毛ということで、何とかなってよかった。
仮想マシンAndroidを突っ込み、その中にKindleを入れるという方法も過去に試したのですが、その時は、重たくてイマイチでした。