Flash Sale! to get a free eCookbook with our top 25 recipes.

Jak skompilować własnego klienta RustDesk na systemie Debian 12 (Kompletny Przewodnik 2025)

Ten przewodnik krok po kroku pokaże, jak stworzyć własnego, niestandardowego klienta RustDesk, skonfigurowanego do łączenia się z Twoim prywatnym serwerem. Instrukcja jest przeznaczona dla czystego systemu Debian 12 i uwzględnia wszystkie znane problemy oraz ich rozwiązania.

Część 1: Przygotowanie Twojego Serwera

Zanim zaczniemy kompilować klienta, upewnij się, że Twój serwer jest gotowy.

Co potrzebujesz?

  • Serwer z publicznym adresem IP lub skonfigurowaną domeną.

  • Uruchomione usługi RustDesk Server: Na serwerze muszą działać dwa programy: hbbs (serwer ID) i hbbr (serwer przekazujący).

  • Otwarte porty sieciowe: Upewnij się, że na zaporze sieciowej (firewallu) Twojego serwera otwarte są porty TCP (21115-21119) oraz UDP (21116).

  • Klucz publiczny: Po pierwszym uruchomieniu hbbs tworzy plik id_ed25519.pub. Skopiuj jego zawartość – będzie to Twój „sekretny składnik” do skonfigurowania klienta.

Część 2: Konfiguracja Środowiska Deweloperskiego na Debianie 12

Teraz przygotujemy Twoją stację roboczą (komputer z Debianem 12) do kompilacji.

Krok 2.1: Aktualizacja Systemu

Co robimy? Zapewniamy, że nasz system ma najnowsze listy pakietów i aktualizacje bezpieczeństwa.
Dlaczego? Jest to podstawowa dobra praktyka, która zapobiega problemom z instalacją starych lub niekompatybilnych wersji oprogramowania.

sudo apt-get update
sudo apt-get upgrade -y

Co robimy? Instalujemy język programowania Rust wraz z jego menedżerem pakietów cargo.
Dlaczego? RustDesk jest napisany w języku Rust, więc potrzebujemy jego oficjalnych narzędzi do zbudowania programu z kodu źródłowego.


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

Postępuj zgodnie z instrukcjami na ekranie (zazwyczaj wystarczy wcisnąć Enter, aby wybrać opcję domyślną). Po instalacji aktywuj Rusta w bieżącym terminalu:

Generated bash

source "$HOME/.cargo/env"

Krok 2.3: Instalacja Zależności Systemowych

Co robimy? Instalujemy wszystkie biblioteki deweloperskie, których RustDesk potrzebuje do kompilacji.
Dlaczego? RustDesk do działania potrzebuje wielu elementów systemu: do rysowania okien (GTK), do obsługi dźwięku (Opus, PulseAudio), do przechwytywania obrazu (X11, RandR) i wielu innych. Poniższa komenda instaluje wszystkie te „klocki” naraz.

Generated bash

sudo apt-get install -y build-essential git pkg-config curl libgtk-3-dev libayatana-appindicator3-dev libdbus-1-dev libglib2.0-dev libvdpau-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libclang-dev libpam0g-dev libyuv-dev libopus-dev libxcb-randr0-dev

Krok 2.4: Obejście Problemu z scrap (Instalacja vcpkg)

Co robimy? Instalujemy menedżer pakietów C++ od Microsoftu (vcpkg) i używamy go do zainstalowania jednej, kluczowej biblioteki (libyuv).
Dlaczego? To jest najważniejszy krok, który wynika z naszego śledztwa. Okazuje się, że skrypt budujący moduł do przechwytywania obrazu (scrap) w RustDesk jest wadliwy i na nowoczesnych systemach Linux nie potrafi znaleźć biblioteki libyuv standardowymi metodami. Zamiast tego „płacze” o vcpkg. Dajemy mu więc to, czego chce.

  1. Zainstaluj zależności dla vcpkg:

    Generated bash

    sudo apt-get install -y tar
  2. Pobierz i zainstaluj vcpkg:

    Generated bash

    git clone https://github.com/microsoft/vcpkg.git ~/vcpkg
    ~/vcpkg/bootstrap-vcpkg.sh
    ```3.  **Zainstaluj `libyuv` za pomocą vcpkg (z katalogu domowego!):**
    ```bash
    cd ~
    ~/vcpkg/vcpkg install libyuv

Część 3: Pobranie Kodu Źródłowego RustDesk

Co robimy? Pobieramy kod programu RustDesk z jego oficjalnego repozytorium.
Dlaczego? Potrzebujemy „przepisu” (kodu), aby móc „upiec ciasto” (program).

  1. Pobierz kod wraz z submodułami:

    Generated bash

    git clone --recursive https://github.com/rustdesk/rustdesk.git

    Flaga –recursive jest kluczowa – pobiera ona również mniejsze, zależne projekty (jak hbb_common), których RustDesk potrzebuje.

  2. Wejdź do katalogu projektu:

    Generated bash

    cd rustdesk

Część 4: Finałowa Kompilacja

Jesteśmy gotowi. Wszystko jest na swoim miejscu. Teraz składamy to w całość.

Co robimy? Uruchamiamy kompilację, podając wszystkie niezbędne informacje w jednej, „pancernej” komendzie.
Dlaczego? Przekazujemy kompilatorowi wszystkie zmienne, których potrzebuje:

  • VCPKG_ROOT: Wskazuje drogę do vcpkg, aby naprawić błąd z przechwytywaniem obrazu.

  • OPUS_LIB_DIR: Podaje ścieżkę do biblioteki dźwięku, na wszelki wypadek.

  • RENDEZVOUS_SERVER: Adres Twojego serwera.

  • RS_PUB_KEY: Twój unikalny klucz publiczny.

Pamiętaj, aby zastąpić wartości twoj.adres.ip.serwera i twoj_klucz_publiczny.

Generated bash

VCPKG_ROOT=$HOME/vcpkg \
OPUS_LIB_DIR=/usr/lib/x86_64-linux-gnu \
RENDEZVOUS_SERVER=twoj.adres.ip.serwera \
RS_PUB_KEY=twoj_klucz_publiczny \
cargo build --release

Po kilku minutach powinieneś zobaczyć zielony komunikat: Finished release [optimized] target(s) in ….

Gratulacje! Twój własny klient RustDesk jest gotowy!

Znajdziesz go w katalogu: ~/rustdesk/target/release/rustdesk

Część 5: (Opcjonalnie) Kompilacja Klienta dla Windows

Jeśli potrzebujesz również wersji dla Windows, możesz ją stworzyć bezpośrednio na swoim Debianie.

  1. Zainstaluj narzędzia do kompilacji dla Windows:

    Generated bash

    sudo apt-get install -y mingw-w64
  2. Dodaj cel „Windows” do Rusta:

    Generated bash

    rustup target add x86_64-pc-windows-gnu
  3. Skonfiguruj Cargo:

    Generated bash

    mkdir -p ~/.cargo
    cat <<'EOF' > ~/.cargo/config
    [target.x86_64-pc-windows-gnu]
    linker = "x86_64-w64-mingw32-gcc"
    ar = "x86_64-w64-mingw32-ar"
    EOF
  4. Skompiluj wersję dla Windows: (Pamiętaj o swoich danych serwera i klucza)

    Generated bash

    cd ~/rustdesk
    VCPKG_ROOT=$HOME/vcpkg \
    OPUS_LIB_DIR=/usr/lib/x86_64-linux-gnu \
    RENDEZVOUS_SERVER=twoj.adres.ip.serwera \
    RS_PUB_KEY=twoj_klucz_publiczny \
    cargo build --release --target=x86_64-pc-windows-gnu

Gotowy plik rustdesk.exe znajdziesz w: ~/rustdesk/target/x86_64-pc-windows-gnu/release/rustdesk.exe

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.