7.9 KiB
Servers •
Compilazione •
Docker •
Struttura •
Screenshots
[中文] | [Español] | [Français] | [Deutsch] | [Polski] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어]
Abbiamo bisogno del tuo aiuto per tradurre questo README e la RustDesk UI nella tua lingua nativa
Chatta con noi: Discord | Reddit
Ancora un altro software per il controllo remoto del desktop, scritto in Rust. Funziona immediatamente, nessuna configurazione richiesta. Hai il pieno controllo dei tuoi dati, senza preoccupazioni per la sicurezza. Puoi utilizzare il nostro server rendezvous/relay, configurare il tuo o scrivere il tuo rendezvous/relay server.
RustDesk accoglie il contributo di tutti. Per ulteriori informazioni su come inizare a contribuire, vedere CONTRIBUTING.md
.
Server pubblici gratuiti
Qui sotto trovate i server che possono essere usati gratuitamente, la lista potrebbe cambiare nel tempo. Se non si è vicini a uno di questi server, la vostra connessione potrebbe essere lenta.
Posizione | Vendor | Specifiche |
---|---|---|
Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
Singapore | Vultr | 1 VCPU / 1GB RAM |
Dallas | Vultr | 1 VCPU / 1GB RAM |
Dipendenze
La versione Desktop utilizza sciter per la GUI, per favore scarica sciter dynamic library.
Passaggi per la compilazione
-
Prepara l'ambiente per lo sviluppo e compilazione in Rust e C++
-
Installa vcpkg, e imposta correttamente la variabile d'ambiente
VCPKG_ROOT
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
-
Esegui
cargo run
Come compilare su Linux
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
Installare 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
Fix libvpx (Per Fedora)
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
Compilazione
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
Cambiare Wayland a X11 (Xorg)
RustDesk non supporta Wayland. Controlla questo per configurare Xorg come sessione di default di GNOME.
Come compilare con Docker
Cominciare clonando il repository e compilare i container docker:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Quindi, ogni volta che devi compilare l'applicazione, esegui il comando seguente:
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
Tieni presente che la prima build potrebbe richiedere più tempo prima che le dipendenze vengano memorizzate nella cache, le build successive saranno più veloci. Inoltre, se hai bisogno di specificare argomenti diversi per il comando build, puoi farlo alla fine del comando nella posizione <OPTIONAL-ARGS>
. Ad esempio, se si desidera creare una versione di rilascio ottimizzata, eseguire il comando sopra seguito da ---release
. L'eseguibile generato sarà creato nella cartella di destinazione del proprio sistema e può essere eseguito con:
target/debug/rustdesk
Oppure, se si sta eseguendo un eseguibile di rilascio:
target/release/rustdesk
Assicurati di eseguire questi comandi dalla radice del repository RustDesk, altrimenti l'applicazione potrebbe non essere in grado di trovare le risorse richieste. Notare inoltre che altri sottocomandi cargo come install
o run
non sono attualmente supportati tramite questo metodo poiché installerebbero o eseguirebbero il programma all'interno del container anziché nell'host.
Struttura dei file
- libs/hbb_common: video codec, config, tcp/udp wrapper, protobuf, fs funzioni per il trasferimento file, e altre funzioni utili.
- libs/scrap: cattura dello schermo
- libs/enigo: controllo tastiera/mouse specifico della piattaforma
- src/ui: GUI
- src/server: servizi audio/appunti/input/video e connessioni di rete
- src/client.rs: avviare una connessione peer
- src/rendezvous_mediator.rs: Comunica con rustdesk-server, attende la connessione remota diretta (TCP hole punching) oppure indiretta (relayed)
- src/platform: codice specifico della piattaforma