Scrcpy – Display and Control Your Android Device via Linux Desktop

Brief: This guide shows how to install scrcpy an application that helps you connect, display and control an android device from your Linux desktop computer.

Scrcpy (pronounced “screen copy“) is a free, open-source, and cross-platform application used to display and control an Android device from your Linux desktop computer. It works on Linux, Windows, and macOS, and allows you to control a device connected via a USB or wirelessly (over TCP/IP).

It features mirroring with Android device screen off, configurable screen display quality, recording, copy and paste in both directions, using an Android device as a webcam (Linux only), physical keyboard and mouse simulation, OTG mode, and much more.

To use scrcpy, your Android device must have at least API 21 (Android 5.0), and it must also have adb (Android Debug Bridge) debugging (USB debugging) enabled. But, it does not require root user access on Linux.

Install Scrcpy on Linux Systems

On Debian-based distributions such as Ubuntu and Linux Mint systems, you can install scrcpy from the default repository as shown.

$ sudo apt install scrcpy

On Fedora, you can install it from the Cool Other Packages Repository (COPR), as follows:

$ sudo dnf copr enable zeno/scrcpy
$ sudo dnf install scrcpy

On Arch Linux, issue the following command:

# pacman -S scrcpy

Scrcpy is also available as a snap, for example, to install it on RHEL-based distributions, run the following commands:

$ sudo yum install snapd
$ sudo systemctl enable --now snapd.socket
$ sudo ln -s /var/lib/snapd/snap /snap
$ sudo snap install scrcpy

Connect to An Android Device via USB in Linux

Once the installation is complete, remember to enable USB debugging in your Android device (go to Settings=>Developer –> Options=>USB debugging) as mentioned before, then connect your device to your Linux desktop computer via a USB cable.

Next, a popup should open on the device to request authorization to allow USB debugging from the computer, and select Allow to proceed.

Allow USB Debugging
Allow USB Debugging

Then run the following command from the terminal to launch scrcpy:

$ scrcpy

If the command has run successfully, a window should open up displaying your device’s active screen as shown in the following screenshot.

Connect Android Device from Linux Desktop
Connect Android Device from Linux Desktop

Connect to Android Device via Wifi in Linux Desktop

First, install the adb command-line tool on your computer as follows. If you already have the adb tool installed, skip the installation steps:

$ sudo apt install adb         [On Debian, Ubuntu and Mint]
$ sudo yum install adb         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo pacman -S adb           [On Arch Linux]

Once the adb tool has been installed on your computer, connect your Android device and computer to a common Wi-Fi network. Then connect the Android device to the computer with a USB cable.

Next, disconnect the USB cable from the target device and find the IP address of the Android device (go to Settings –> Connections –> Wi-Fi –> Wi-Fi name –> tap on its settings) or run the following command to view the device IP address:

$ adb shell ip route
Find Android Device IP Address
Find Android Device IP Address

Then set the target Android device to listen for a TCP/IP connection on port 5555 by running the following command (check any prompt on the device):

$ adb tcpip 5555

Next, disconnect the USB cable and connect the target device using its IP address as shown:

$ adb connect

Last but not least, run the scrcpy command to mirror the Android device’s screen on a Linux desktop:

$ scrcpy
Mirror Android Device in Linux Desktop
Mirror Android Device in Linux Desktop

Scrcpy Command Examples with Options

From the previous screenshots, you can see that by default, scrcpy displays the device model as the window title. You can set a custom window title using the --window-title command-line option as shown (remember to replace ‘My device‘ with the title you prefer):

$ scrcpy  --window-title='My device'

To control the width and height of the mirrored Android screen, use the --max-size or -m switch as shown:

$ scrcpy -m 1024
$ scrcpy --max-size=1024

Scrcpy also allows for screen recording while mirroring, using the --record or -r flag as shown:

$ scrcpy -r filename.mp4

If you wish to disable mirroring while recording, use the --no-display or -N flag as follows. Note that to stop the recording process, simply press Ctrl+C:

$ scrcpy -Nr  filename.mp4

To change the bit rate from the default of 8 Mbps, use the --bit-rate or -b option as shown:

$ scrcpy -b 4M

There are several other command-line options to control the behavior of scrcpy, run the following command to view a list of all of them:

$ scrcpy   --help

Last but not least, note that to control some Android devices using a keyboard and mouse, need to enable additional options. For more information, go to the scrcpy Github repository.

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

1 thought on “Scrcpy – Display and Control Your Android Device via Linux Desktop”

  1. What’s the point of this? It’s convoluted, impractical, and just plain irrelevant when things like Anydesk can attain the same goal, without cables, USB, adb, and far more simply.


Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.