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.
-
Zainstaluj zależności dla vcpkg:
Generated bash
sudo apt-get install -y tar -
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).
-
Pobierz kod wraz z submodułami:
Generated bash
git clone --recursive https://github.com/rustdesk/rustdesk.gitFlaga –recursive jest kluczowa – pobiera ona również mniejsze, zależne projekty (jak hbb_common), których RustDesk potrzebuje.
-
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.
-
Zainstaluj narzędzia do kompilacji dla Windows:
Generated bash
sudo apt-get install -y mingw-w64 -
Dodaj cel „Windows” do Rusta:
Generated bash
rustup target add x86_64-pc-windows-gnu -
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 -
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.





Leave a Reply