はじめに:きっかけは「ドタキャン」から
お客様から「スマホが故障した、画面が映らない」とのレスキュー依頼がありました。ショップは画面が映らないと対応できないそうです。訪問前日に準備を整えていたのですが、直前で「修理に出した」とのことでドタキャンに。
購入したケーブル、準備した時間。せっかくなので、自分の検証環境を強化することにしました。ターゲットは、手元の Zenfone 10 (Android 15)。これをメインマシンの Ubuntu 24.04 で、MacのiPhoneミラーリングのようにスマートに操作できる環境を構築します。
購入したUSB Type-C to HDMIは、このZenfoneUSB規格が2.0のためでは使えませんでした。
なぜ「ソースからビルド」が必要だったか
Ubuntuの apt や snap で入る scrcpy はバージョンが古いことが多く、最新の Android 15 では動作が不安定になったり、そもそも起動しなかったりすることがあります。
今回は、最新の機能をフルに享受するため、v3.3.4 をソースからビルドしました。
導入ステップ:依存関係の解消
Ubuntu 24.04環境では、いくつかのライブラリが不足しています。まずはこれらを一掃します。
Bash
sudo apt update
sudo apt install ffmpeg libsdl2-2.0-0 adb libavdevice-dev libusb-1.0-0-dev \
gcc git pkg-config meson ninja-build libavcodec-dev \
libavformat-dev libavutil-dev libswresample-dev libsdl2-dev
ビルドとインストール
GitHubからソースを取得し、サーバーファイルを整合させてビルドします。
-
ソースの取得とサーバー準備
Bash
git clone https://github.com/Genymobile/scrcpy cd scrcpy # クライアント(3.3.4)と一致するサーバーを配置 wget https://github.com/Genymobile/scrcpy/releases/download/v3.3.4/scrcpy-server-v3.3.4 -O scrcpy-server.jar -
コンパイル
Bash
meson setup build --buildtype=release --strip -Db_lto=true -Dprebuilt_server=scrcpy-server.jar ninja -C build sudo ninja -C build install
運用:デスクトップから一撃で起動させる
毎回ターミナルを叩くのは非効率です。デスクトップに「有線接続・スマホ画面オフ・常時点灯」のプロ仕様ショートカットを作成しました。
~/Desktop/scrcpy.desktop
Ini, TOML
[Desktop Entry]
Type=Application
Name=Zenfone 10 (Pro-Mode)
Exec=/usr/local/bin/scrcpy --no-audio --turn-screen-off --stay-awake
Icon=/home/marumi/scrcpy/app/data/icon.png
Terminal=false
※右クリックで「起動を許可」するのを忘れずに。
使ってみた感想:Macのミラーリングより快適?
実際に動かしてみると、Zenfone 10のキビキビした動きがそのままUbuntuの大画面に再現されます。
-
充電しながら操作: USB接続なのでバッテリーを気にせず検証に没頭できる。
-
圧倒的な低遅延: Wi-Fiミラーリング特有のカクつきが皆無。
-
画面オフ運用:
--turn-screen-offオプションのおかげで、スマホ本体の発熱を抑えつつPCで全操作が可能。
まとめ
軽さを優先してポケットに入る小さなZenfone10と機能重視のiPhoneを使用しています。これを大きな画面でキーボードとマウスで使えるのはとても便利です。画面が死んでしまったスマホからのデータ救出やこれ一台あれば現場での対応力も一段階上がると確信しています。