rustdesk/README-CS.md
2022-08-31 23:07:52 -07:00

9.4 KiB
Raw Blame History

RustDesk – vaše vzdálená plocha
ServerySestavení ze zdrojových kódůDockerStrukturaUkázky
[česky] | [中文] | | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [العربي] | [Tiếng Việt]
Potřebujeme Vaši pomoc s překláním textů tohoto ČTIMNE, uživatelského rozhraní aplikace RustDesk a dokumentace k ní do vašeho jazyka

Dopisujte si s námi: Discord | Twitter | Reddit

ko-fi

Zase další software pro přístup k ploše na dálku, naprogramovaný v jazyce Rust. Funguje hned tak, jak je není třeba žádného nastavování. Svá data máte ve svých rukách, bez obav o zabezpečení. Je možné používat námi poskytovaný propojovací/předávací (relay) server, vytvořit si svůj vlastní, nebo si dokonce svůj vlastní naprogramovat, budete-li chtít.

Projekt RustDesk vítá přiložení ruky k dílu od každého. Jak začít se dozvíte z CONTRIBUTING.md.

Jak RustDesk funguje?

STAHOVÁNÍ ZKOMPILOVANÝCH APLIKACÍ

Veřejné, zdarma službu nabízející servery

Níže jsou uvedeny servery zdarma k vašemu použití (údaje se mohou v čase měnit). Pokud se nenacházíte v oblastech světa poblíž nich, spojení může být pomalé.

umístění dodavatel parametry
Soul AWS lightsail 1 VCPU / 0,5GB RAM
Singapur Vultr 1 VCPU / 1GB RAM
Germany Hetzner 2 VCPU / 4GB RAM
Germany Codext 4 VCPU / 8GB RAM

Softwarové součásti, na kterých závisí

Varianta pro počítač používá pro grafické uživatelské rozhraní sciter stáhněte si potřebnou knihovnu.

Windows | Linux | MacOS

Varianta pro mobilní platformy používá aplikační rámec (framework) Flutter. Na tu také v budoucnu předěláme i variantu pro počítač.

Stručně kroky pro sestavení ze zdrojových kódů

  • Připravte si vývojové prostředí pro jazyky Rust a C++

  • Nainstalujte vcpkg, a nastavte správně proměnnou prostsředí VCPKG_ROOT

    • Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
    • Linux/MacOS: vcpkg install libvpx libyuv opus
  • spusťte cargo run

Sestavení ze zdrojových kódů

Jak zkompilovat na Linuxu

Ubuntu 18 (Debian 10)

sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake

Fedora 28 (CentOS 8)

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

Arch (Manjaro)

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

Instalace vcpkg

git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus

Oprava libvpx (pro Fedoru)

cd vcpkg/buildtrees/libvpx/src
cd *
./configure
sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile
sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile
make
cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd

Sestavení

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run

Změna z Wayland na X11 (Xorg)

RustDesk (zatím) nepodporuje zobrazovací server Wayland. Jak nastavit Xorg jako výchozí pro relace v prostředí GNOME naleznete zde.

Jak sestavit prostřednictvím Docker kontejnerizace

Začněte tím, že si naklonujete tento repozitář a sestavíte docker kontejner:

git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .

Poté pokaždé, když bude třeba aplikaci sestavit, spusťte následující příkaz:

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

Všimněte si, že prvotní sestavení může trvat déle (než se do mezipaměti uloží veškeré softwarové součásti, které jsou potřeba) následná opakování už budou rychlejší. Dále, pokud potřebujete příkazu pro sestavení zadat nějaké argumenty, je možné je zapsat na konec příkazu na pozici <OPTIONAL-ARGS>. Například, pokud byste chtěli sestavit optimalizovaně pro vydání, spustili byste výše uvedený příkaz následovaný --release. Výsledný spustitelný soubor se objeví v cílové složce na vašem systému a bude ho možné spustit pomocí:

target/debug/rustdesk

Nebo, pokud spouštíte variantu pro vydání:

target/release/rustdesk

Zajistětě, abyste tyto příkazy spouštěli z kořene repozitáře s RustDesk, jinak aplikace nemusí být schopná nalézt potřebné prostředky (resources). Také si všimněte, že ostatní dílčí príkazy nástroje cargo, jako třeba install nebo run zatím nejsou prostřednictvím této metody podporovány, protože by vedly k instalaci či spuštění program uvnitř kontejneru namísto přímo v systému.

Struktura souborů

  • libs/hbb_common: kodek videa, nastavení, obalovaní tcp/udp, vyrovnávací paměť protokolu, funkce souborového systému pro přenos souborů a pár dalších podpůrných funkcí
  • libs/scrap: zachytávání obsahu obrazovky
  • libs/enigo: ovládání klávesnice/myši pro jednotlivé platformy
  • src/ui: grafické uživatelské rozhraní
  • src/server: služby pro zvuk/schránku/zadávání/video a síťová spojení
  • src/client.rs: spouští připojení k protějšku
  • src/rendezvous_mediator.rs: komunikace s rustdesk-server, očekávání vzdálených příméhých („proděrováváním“ TCP) nebo předávaných (relay) spojení
  • src/platform: zdrojové kódy, specifické pro jednotlivé platformy
  • flutter: zdrojové kódy pro použití s aplikačním rámcem (framework) Flutter pro mobilní platformy
  • flutter/web/js: Javascript pro Flutter webový klient

Ukázky

image

image

image

image