9.6 KiB
Server •
Build •
Docker •
Structure •
Snapshot
[English] | [Українська] | [česky] | [中文] | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [العربي] | [Ελληνικά]
Chúng tôi rất hoan nghênh sự hỗ trợ của bạn trong việc dịch trang README, trang giao diện người dùng của RustDesk - RustDesk UI và trang tài liệu của RustDesk - RustDesk Doc sang Tiếng Việt
Hãy trao đổi với chúng tôi qua: Discord | Twitter | Reddit
RustDesk là một phần mềm điểu khiển máy tính từ xa mã nguồn mở, được viết bằng Rust. Nó hoạt động ngay sau khi cài đặt, không yêu cầu cấu hình phức tạp. Bạn có toàn quyền kiểm soát với dữ liệu của mình mà không cần phải lo lắng về vấn đề bảo mật. Bạn có thể sử dụng máy chủ rendezvous/relay của chúng tôi hoặc tự cài đặt máy chủ của riêng mình hay thậm chí tự tạo máy chủ rendezvous/relay cho riêng bạn.
RustDesk luôn hoan nghênh mọi đóng góp từ mọi người. Hãy xem tệp docs/CONTRIBUTING.md
để bắt đầu.
FAQ BINARY DOWNLOAD NIGHTLY BUILD
Dependencies
Phiên bản máy tính sử dụng Flutter hoặc Sciter (đã lỗi thời) cho giao diện người dùng (GUI). Hướng dẫn này chỉ áp dụng cho phiên bản Sciter, vì nó thân thiện và dễ bắt đầu hơn. Hãy kiểm tra CI của chúng tôi để xây dựng phiên bản Flutter.
Vui lòng tự tải thư viện Sciter
về máy theo hướng dẫn cho từng hệ điều hành.
Các bước build cơ bản
-
Chuẩn bị môi trường phát triển Rust và môi trường biên dịch C++
-
Tải và cài đặt
vcpkg
, và thiết lập biến môi trườngVCPKG_ROOT
.- Windows:
vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS:
vcpkg install libvpx libyuv opus aom
- Windows:
-
Chạy lệnh
cargo run
Build
Cách build cho 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 pipewire
Cách cài đặt vcpkg
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
Cách sửa lỗi libvpx
(Dành cho hệ điều hành 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
Build
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
Cách build bằng Docker
Bắt đầu bằng cách sao chép repo này về máy tính của bạn và tạo Docker container:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
Sau đó, mỗi khi bạn chạy ứng dụng, thì hãy chạy dòng lệnh sau:
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
Lưu ý rằng lần build đầu tiên có thể mất thời gian hơn trước khi các dependencies được lưu vào bộ nhớ cache, nhưng các lần build sau sẽ nhanh hơn. Ngoài ra, nếu bạn cần chỉ định các đối số khác cho lệnh build, bạn có thể thêm chúng vào cuối lệnh ở phần <OPTIONAL-ARGS>
. Ví dụ, nếu bạn muốn build phiên bản tối ưu hóa, bạn sẽ chạy lệnh trên với tùy chọn --release
. Kết quả biên dịch sẽ được lưu trong thư mục target trên máy tính của bạn, và có thể chạy với lệnh:
target/debug/rustdesk
Nếu bạn đang chạy bản build được tối ưu hóa, thì bạn có thể chạy với lệnh:
target/release/rustdesk
Hãy đảm bảo rằng bạn đang chạy các lệnh này từ gốc của thư mục RustDesk, nếu không, ứng dụng có thể không thể tìm thấy các tệp tài nguyên cần thiết. Hãy lưu ý rằng các câu lệnh con khác của cargo như install hoặc run hiện không được hỗ trợ qua phương pháp này, vì chúng sẽ cài đặt hoặc chạy chương trình bên trong container thay vì trên máy tính của bạn.
Cấu trúc tệp tin
- libs/hbb_common: video codec, cấu hình, tcp/udp wrapper, protobuf, fs functions để truyền file, và một số hàm tiện ích khác
- libs/scrap: ghi lại màn hình
- libs/enigo: điều khiển máy tính/chuột trên các nền tảng khác nhau
- src/ui: giao diện người dùng
- src/server: các dịch vụ âm thanh, clipboard, đầu vào, video và các kết nối mạng
- src/client.rs: bắt đầu kết nối với một peer
- src/rendezvous_mediator.rs: giao tiếp với rustdesk-server, đợi kết nối trực tiếp (TCP hole punching) hoặc kết nối được chuyển tiếp.
- src/platform: mã nguồn riêng cho mỗi nền tảng
- flutter: Mã Flutter dành máy tính và điện thoại
- flutter/web/js: Mã JavaScript dành cho giao diện trên web bằng Flutter