有馬総一郎のブログ

(彼氏の事情)

2023年05月02日 19:10:04 JST - 6 minute read - Linux

Linux上でguiscrcpyを使ってAndroid(Kindle Fireも可)を操作してDMMブックスアプリをPCモニターで鑑賞する

DMMブックスアプリ、かつて売れれば売れるほど赤字が膨れあがるセール1をしていたので、利用・購入したことがある人も多いのではないだろうか?私も、エンタメ?系、漫画などはKindleではなく、セール時にDMMでごそっと購入することが多い。

DMMブックスアプリ

DMMブックスアプリのWeb版は使いづらい

しかし、昔はWeb版で自動ページめくり(スライドショー)など出来ていたのだけど、イマイチ出来ることが少なく使いづらい。 Kindle Cloud Readerよりマシという程度だ。デスクトップアプリやモバイルアプリでも、イマイチな操作感なのだが、自動ページめくりやダウンロードして閲覧できる、本棚で整理できる2という点で、少し使いやすくなる。

DMMブックスアプリは仮想環境では動作しない

しかし、例によってWindows版とMac版しかデスクトップアプリは対応していない。Linux上で動かそうと Bottlesで試すも、インストールは出来るが、起動でライセンス的エラーが表示されるので駄目。やれやれと、VirtualBoxでインストールして起動すると、なんと仮想環境での動作をNG3としていて駄目!

Androidエミュレータである AnboxGenymotion4、Android StudioのVirtual Deviceで動作させても、Web版での閲覧は可能だけど、ダウンロードしての閲覧ではSecurity threats has been detected. 20004 (E_CG20004)と表示されてことごとくNGとなる…

DMMブックスアプリ
E_CG20004

正直、そこまでするか、いっそ今まで購入した電子書籍諦めて、Linuxでも快適な動作しそうな電子書籍サービスに乗り換えようかと思ったけど、考えを切り替えて、Android Tableと接続して操作できないか検討してみた。

guiscrcpyで操作して閲覧するという解

結果として Genymobile/scrcpy: Android デバイスの表示と制御のGUI版 guiscrcpyflatpak5でインストール出来て、操作もGUI出来るので、これで操作するようにした。

guiscrcpy

やり方としては簡単で

  1. 接続するAndroid、またはKindle Fire端末を開発者オプションを有効にする6
  2. 設定メニューに表示された開発オプションからデバック項目のUSBデバッグをオンにする。
  3. Linuxとモバイル・タブレット端末を接続する。
  4. モバイル・タブレット端末で「USBデバッグを許可しますか?このパソコンのRSAキーのフィンガープリント」といったダイアログが表示されるので、許可する。
    • このパソコンからのUSBデバッグを常に許可するチェックしておくと次からダイアログは表示されなくなる
  5. モバイル・タブレット端末でのUSB接続モードを ファイル転送PTP にする。USBの管理は このデバイス のまま。
  6. 接続する端末が正しいことを確認して、 START SCRCPY を押下する。
guiscrcpy

Bottle PanelSide PanelSwipe Panel は端末の操作パネルが表示されるのだけど、デスクトップ環境によるものなのかPop!_OSのCOSMICデスクトップでは、パネルをアクティブにすると、マウスと一緒にカーソルではなくウィンドウが動いてしまってまともに操作できないので、OFFにしている。

Fullscreen にすると文字どおりフルスクリーンになるので、当然チェック。ウィンドウバーも無くなってしまうので、どうやって閉じたらいいのか分かなくなるが、まあショートカットキーなどで定義されているAlt+F4Win+qなどで閉じれる。

guiscrcpy
Fullscreenでない
guiscrcpy
Fullscreen

Keep display off 。これをすると、 START SCRCPY とともにモバイル・タブレット端末側でのディスプレイがオフになるので、こちらもチェックしている。これをしていないとモバイル・タブレット端末側でもディスプレイがオンのままになる。

画面の向きは

  • Defalt Rotation(既成回転)

  • Portrait(縦向き)

    guiscrcpy
    既成回転、縦向き
  • Landscape

    guiscrcpy
    横向き
  • Portrait(flipped)

    guiscrcpy
    反転縦向き
  • Landscape(flipped)

    guiscrcpy
    反転横向き

なのだけど、これはLinuxでの画面向きでモバイル・タブレット端末側ではない。通常はDefalt RotationかPortraitになるはず。ここでLandscapeにすると、タブレットの表示内容を垂直に表示することになる。

じゃあ、どうやってモバイル・タブレット端末側を横向きにするのかといえば、モバイル・タブレット端末側で、横向きになるように端末を傾ければ良い。

Keep Default Dimensions アスペクト比固定って意味かな?

Bitrate ビットレードは最大16000 KB/sにしてたけど、そこまで画質が向上した感じがない。もともとDMMブックスアプリでの画質が良くないからか?

これら設定を変更してAttempt reconnectionやらRefreshしても反映されない(?)ので、投影ウィンドウ閉じてしまって、再度 START SCRCPY した方が良い気がする。

guiscrcpy
私の設定

この投影ウィンドウは guiscrcpy の設定ウィンドウを閉じてしまってもそのままなので、必要しないなら閉じてしまってもいい。

余り外に持ち歩くメインとなるスマホなどでUSBデバッグをオンにしたくないので、Fire HD 8(2019年製 第8世代)でも接続して動いたのが嬉しい。動きはもっさりしているが、ダウンロードして動かせば問題ない。

guiscrcpy
Fire HD 8(2019年製 第8世代)

てか、Web版で同期型本棚実装、自動ページめくり対応してくれよ。


  1. 60億円の損害を出した「DMMブックス」70%OFFキャンペーン早期終了の裏側 - DMM inside。その後も50%還元祭などやってくれていたが、最近は 最大 30%と落ち着いてしまった。 ↩︎

  2. 非同期で端末別というのがなぁ…2022年末に再度リニューアルしたが、スマホで見易さ優先して横の余白が大きなり見通しが悪くなり、シリーズもの閲覧が該当の図書に辿りつくまでの操作が増えたりと、更に使いにくくなった。 ↩︎

  3. DMMブックスアプリに制限事項はありますか? DMMブックス DMMヘルプセンターには、仮想マシン上だけでなくリモートデスクトップから閲覧・実行禁止とある。 ↩︎

  4. Genymotion_ARM_Translationを適用してインストール。 ↩︎

  5. snap、AppImage、AUR、しまいにはWindows版exeまである。 ↩︎

  6. Android端末なら設定 -> 端末情報(デバイス情報) -> ビルド番号を7回タップする。Fire端末なら設定 ->Fireタブレットのバージョン情報 ->シリアル番号を7回タップする。 ↩︎