rustdesk

(★ 121,416)

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

  • .gitattributes
  • .gitignore
  • .gitmodules
  • AGENTS.md
  • build.py
  • build.rs
  • Cargo.lock
  • Cargo.toml
  • CLAUDE.md
  • Dockerfile
  • entrypoint.sh
  • GEMINI.md
  • LICENCE
  • README.md
  • vcpkg.json

# Installation Guide

1. Get the code
git clone https://github.com/rustdesk/rustdesk

Downloads the entire project code from GitHub to your computer.

cd rustdesk

Moves into the project folder you just downloaded.

2. Official Install Script

Easy Recommended
Prerequisites
  • APT (Debian/Ubuntu 계열) Built into Debian/Ubuntu-based Linux distributions.
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \

Installs directly from the APT package repository (Debian/Ubuntu-based).

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Downloads and runs the official install script in one line — this handles the full setup automatically.

After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.

Pulled directly from this repo's README.

3. Docker

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t "rustdesk-builder" .

Builds a runnable image based on the Dockerfile.

docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder

Runs the built image as an actual container.

Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

4. CMake

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • CMake The tool used to generate build configuration.
  • C/C++ 컴파일러 Windows needs Visual Studio (Community edition, free), macOS needs Xcode Command Line Tools, Linux needs the gcc/g++ package.
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \

Type this command into your terminal and run it.

sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel

Type this command into your terminal and run it.

sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel

Type this command into your terminal and run it.

sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire

Type this command into your terminal and run it.

Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).

Pulled directly from this repo's README.

5. .NET

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • .NET SDK The SDK required for the dotnet command.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd res/msi

This project's files live in a subfolder, so move into it first.

dotnet restore

Downloads the packages the project depends on.

dotnet run

Builds the project and runs it immediately.

After dotnet run, check the message or address shown in the terminal.

6. Gradle (Java/Kotlin)

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • JDK (Java) Required to build and run Java/Kotlin projects.
  • Gradle If the repo includes gradlew (Gradle Wrapper), you don't need to install Gradle separately.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd flutter/android/app

This project's files live in a subfolder, so move into it first.

./gradlew build

Builds the project using Gradle.

A BUILD SUCCESSFUL message means it worked. The output is created under build/.

7. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
⚠️ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
pip install -r libs/portable/requirements.txt

Installs the Python libraries listed in requirements.txt (or similar).

python <실행할 파일명>.py # README에서 정확한 실행 파일명을 확인하세요

Runs the Python script (or module).

If it runs without errors and prints output in the terminal, it worked.

8. Rust

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Rust (rustup) Installing via rustup also installs cargo.
source $HOME/.cargo/env

Type this command into your terminal and run it.

VCPKG_ROOT=$HOME/vcpkg cargo run

Builds and then immediately runs the program.

docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder

Runs the built image as an actual container.

If cargo build finishes without errors, it worked. The executable is created under target/.

Pulled directly from this repo's README.

// repository documentation