GNU/Linux >> Linux の 問題 >  >> Debian

scrcpy を使用してデスクトップから Android デバイスを制御する (Ubuntu、Fedora、Debian、Linux Mint のインストール)

scrcpy は、Linux、Windows、または macOS デスクトップから USB 経由で接続された (またはワイヤレスですが、パフォーマンスは低下します) Android デバイスを表示および制御するための無料のオープン ソース アプリケーションです。

少なくとも Android 5.0 が必要で、Android デバイスで ADB デバッグが有効になっている必要があります。 root アクセスは必要ありません。

軽さ、パフォーマンス、品質に重点を置いた scrcpy は、1920×1080 以上の解像度で 30 ~ 60 FPS を提供します . 短い待ち時間も 1 回あります 、70から100ミリ秒の間のどこか。 scrcpy を初めて試したときは、そのパフォーマンスに驚かされました。Linux デスクトップ コンピューターからではなく、Android デバイスを手にしているように感じました。

サーバー (この場合は Android デバイス) とクライアント (デスクトップ コンピューター) 間の通信は、ADB トンネル経由のソケット経由で行われます。サーバーはデバイス画面の H.264 ビデオをストリーミングし、それをクライアントに渡してデコードおよび表示します。 遅延を最小限に抑えるためのバッファリングなし .マウスとキーボードのイベントがキャプチャされてサーバーに送信され、サーバーがそれらを Android デバイスに挿入します。

特徴:

  • Linux、Windows、または macOS でデスクトップ (マウスとキーボードを使用) から Android デバイスを制御
  • USB または WiFi 経由で動作します (ただし、WiFi 経由で使用するとパフォーマンスが低下します)
  • ミラーリング中に Android 画面を録画できます
  • Android ミラー解像度の幅と高さを制限できます
  • ビデオのビット レートを変更できます
  • デバイスの画面はトリミングできます
  • 同時に複数のデバイスをミラーリングできます
  • scrcpy アプリケーションは全画面モードで直接起動できます
  • プレゼンテーションの場合、scrcpy は Android デバイスでの物理的なタッチを表示できます (デバイス上での指による物理的なタッチのみ!)
  • APK を Scrcpy ウィンドウにドラッグ アンド ドロップするか、ファイルをデバイス /sdcard に転送してインストールします APK 以外のファイルをドラッグ アンド ドロップする
  • 入力キー、マウス イベント、ドラッグ アンド ドロップの操作を無効にする読み取り専用モード


これは Android オープン アクセサリ プロトコルの制限であるため、音声転送は機能しません。

画質が良くないと感じた場合 (フォントやグラデーションなど)、画面が縮小されている可能性があります。 Android デバイスをランドスケープ モードに切り替え、scrcpy をフル スクリーン モードで実行します (Ctrl + F )より良い品質のために。

「scrcpy」という名前が「スクリーン コピー」に由来することも注目に値します。これで覚えやすくなるはずです?️.

scrcpy は https://github.com/Genymobile/scrcpy からダウンロードできます。開発者は、Microsoft Windows 用のコンパイル済みバイナリと macOS 用の自作パッケージを提供しています。 Arch Linux GOLD Package と gentoo Ebuild も利用できます。

Android 関連:

  • Anbox:Google Play ストアをインストールして ARM サポート (libhoudini) を簡単に有効にする方法
  • GSConnect を使用して、KDE ​​に依存せずに Android スマートフォンを Gnome Shell と統合

Ubuntu、Fedora、Debian、または Linux Mint に scrcpy をインストールします

[[編集]]scrcpy が公式の Pop! に含まれるようになりました。 _OS / Ubuntu 20.04、20.10、および 21.04 (および Linux Mint 20.x) リポジトリ、および Debian Sid (ただし、最新バージョンではない可能性があります)。以下でインストールします:

sudo apt install scrcpy
[[編集]]scrcpy を a で使用できるようになりました。 Fedora Copr リポジトリにインストールされています。次のようにリポジトリを追加してインストールします:
sudo dnf copr enable zeno/scrcpy
sudo dnf install scrcpy
以下の手順は、Debian / Ubuntu / Linux Mint および Fedora で scrcpy をビルドし、ソース コードからインストールする場合に適用されます。これにより、使用している Debian / Ubuntu / Linux Mint または Fedora のバージョンに関係なく、最新バージョンをインストールできます。

公式の scrcpy build Instructions for Linux は少しわかりにくいので、簡単にすることにしました。 Snap Store で利用可能な新しい非公式の scrcpy snap Package があります。 . scrcpy パッケージが機能するようになったため、scrcpy snap パッケージを使用してアプリケーションを簡単にインストールできます。

私は次の手順を試し、Ubuntu 18.10 と 18.04、および Fedora 29 で自分自身を scrcpy しました。 .

1. Debian、Ubuntu、および Linux Mint または Fedora で scrcpy をビルドして実行するために必要な依存関係をインストールします。

  • Debian、Ubuntu、または Linux Mint :
sudo apt install adb ffmpeg libsdl2-2.0-0 make gcc pkg-config meson ninja-build libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev

  • Fedora (最初のコマンドで RPMFusion リポジトリが有効になります。Fedora マシンで既に有効になっている場合はスキップしてください):
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install android-tools ffmpeg SDL2-devel ffms2-devel meson gcc make

Meson 0.37 以降が必要であることに注意してください (Ubuntu 16.04 を使用している場合は、バックポート リポジトリを有効にして、新しいバージョンの Meson をインストールできるようにします)。公式のビルド手順に反して、OpenJDK はコンパイル済みの scrcpy-server-jar を使用して作業を容易にするため、私のマニュアルには含まれていません。

これらは唯一のディストリビューション固有の指示です。したがって、これらの依存関係 (使用している Linux ディストリビューションによって名前が異なる場合があります) を別の Linux ディストリビューションにインストールする方法を知っている場合は、他の手順は同じです。

2. scrcpy サーバー JAR をダウンロードしてインストールします。

最新のものをダウンロード scrcpy-server-v*.jar アプリケーション共有ページの、ホーム フォルダーに配置します。ファイルにその .jar が含まれていない場合 拡張子、名前を変更して自分で追加してください。

次に、/usr/local/bin にインストールします (ただし、/usr/local/share/scrcpy でもインストールされます) 、何らかの理由で scrcpy は /usr/local/bin でそれを探しています ):

sudo install scrcpy-server-v*.jar /usr/local/bin/scrcpy-server.jar

3. scrcpy の最新バージョンのソース コードをダウンロードし、ホーム フォルダーに展開します。

scrcpy ソース コードをダウンロードします (.tar.gz アーカイブ) をアプリケーション バージョン ページからダウンロードし、ホーム ディレクトリ内の scrcpy というフォルダーに展開します。 (scrcpy フォルダー名からバージョン番号を削除します。これにより、scrcpy の将来のバージョンでこれらの手順を使用しやすくなります)。

ホームフォルダーには、というファイルが含まれているはずです。 scrcpy-server-v*.jar を持つ (例:scrcpy-server-v1.17.jar scrcpy v1.17 用) と scrcpy というフォルダー .

4. scrcpy をビルドしてインストールします。

scrcpy を作成するには、scrcpy フォルダーに移動し、アプリケーションを作成してインストールします。

cd scrcpy
meson build --buildtype release --strip -Db_lto=true  -Dprebuilt_server=../scrcpy-server-v1.17.jar
cd build
ninja
sudo ninja install

scrcpy の別のバージョンをインストールする場合は、scrcpy-server-v1.17.jar を置き換えます

必要に応じて、scrcpy フォルダーをホーム ディレクトリから削除できるようになりました。

Linux で scrcpy を使用して、Linux デスクトップから Android デバイスを制御する (またはその画面を記録する) 方法

これは記事の冒頭でも述べましたが、もう一度言いたいと思います。デスクトップから scrcpy で制御するには、Android 5.0 以降のデバイスが必要です。また、Android デバイスで ADB デバッグが有効になっていることを確認してください。一部のデバイスでは、追加の「USB デバッグ (セキュリティ設定)」を有効にする必要がある場合もあります。デスクトップ コンピューターから Android デバイスを制御できるようになります。

scrcpy を使用するには、Android デバイスを USB 経由でコンピュータに接続し、端末で scrcpy を実行します。

scrcpy

adb を使用して Android デバイスで現在のコンピューターを認証していない場合は、初めて scrcpy を実行するときに、Android デバイスの画面がロック解除されていることを確認し、scrcpy を認証します (OK をクリックします)。 承認を求められたときに Android デバイスで)!

また、私の場合、adb を実行したことがないコンピューターでは、scrcpy が機能するまでに 3 回実行する必要があったことにも注意してください (おそらく、認証を十分に待機していない可能性があります)。すぐにうまくいかない場合でも、これを行ってください:

[email protected]:~$ scrcpy
* daemon not running. starting it now on port 5037 *
free(): invalid next size (fast)
ADB server didn't ACK
* failed to start daemon *
adb: error: connect failed: cannot connect to daemon
ERROR: "adb push" returned with value 1
[email protected]:~$ scrcpy
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adb: error: connect failed: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
ERROR: "adb push" returned with value 1
[email protected]:~$ scrcpy
[100%] /data/local/tmp/scrcpy-server.jar
INFO: Initial texture: 1440x2560

デスクトップから (キーボードとマウスを使用して) Android デバイスを制御しながら、Android 画面を記録しますか? --record で scrcpy を実行します 拡張子として mkv または mp4 を付けて、含めるファイル名が続きます。例:

scrcpy --record file.mp4

Android デバイスをデスクトップから制御しているときに前の画面に戻る方法、ホーム画面に移動する方法、または物理ボタンのあるデバイスのアプリ スイッチャーを使用する方法について疑問に思われるかもしれません。いくつかの接続を使用できます。

  • マウス right-click または Ctrl + b (または Ctrl + Backspace ) 戻る
  • マウス middle-click または Ctrl + h (または Home キー) HOME の
  • Ctrl + s アプリ スイッチャー用

デスクトップから Android デバイスをワイヤレスで制御する方法については、アプリケーション プロジェクト ページの詳細な手順を参照してください。ミラーリングされた画面サイズの縮小、ビット レートの変更、画面のトリミング、複数の Android デバイスでの複数の scrcpy インスタンスの実行などの高度な使用法については、scrcpy ページも参照してください。

scrcpy をアンインストールする方法 (ソースからインストール)

(この記事の手順を使用して) ソースから scrcpy を削除したいユーザーは、次の 2 つのコマンドを実行できます。

sudo rm /usr/local/share/scrcpy/scrcpy-server.jar
sudo rm /usr/local/bin/scrcpy-server.jar
sudo rm /usr/local/bin/scrcpy


Debian
  1. Scrcpy –UbuntuデスクトップからAndroidフォンをミラーリングして制御する

  2. Ubuntu、Debian、または Linux Mint 用の新しい Oracle Java 11 インストーラー (ローカルの Oracle Java .tar.gz を使用)

  3. Ubuntu、Linux Mint、または Debian で永続的なライブ USB ストレージを作成します (UEFI、> 4 GB の永続性をサポート)

  1. Grub Customizer を使用して、Ubuntu、Linux Mint、Debian、または Fedora で GRUB のブート順序またはデフォルトのブート エントリを変更する方法

  2. Ubuntu、Linux Mint、Debian、Fedora、openSUSE での VirtualBox Guest Additions のインストール [ハウツー]

  3. install-java.sh を使用して、Ubuntu、Debian、Linux Mint、または Fedora に任意の Oracle Java (JDK) バージョンをインストールします。

  1. Ubuntu / Debianjdownloaderlinuxのインストール方法

  2. Ubuntu、Debian、または Linux Mint でパッケージが更新されないようにする方法 [APT]

  3. シンプルな NFS GUI (サーバーとクライアント) を使用して、Ubuntu、Linux Mint、または Debian で NFS 共有を簡単にセットアップ