1. Tổng quan.
RustDesk là một phần mềm mã nguồn mở cho phép bạn thực hiện điều khiển từ xa (remote desktop) và hỗ trợ từ xa trên máy tính. Nó được xây dựng bằng ngôn ngữ lập trình Rust, với mục tiêu cung cấp một trải nghiệm remote desktop đơn giản, bảo mật và hiệu suất cao.
Với RustDesk, bạn có thể truy cập và điều khiển máy tính từ xa thông qua một kết nối internet. Nó hỗ trợ chia sẻ màn hình, truyền tải âm thanh và điều khiển từ xa các ứng dụng và file trên máy tính từ xa. RustDesk được thiết kế để dễ sử dụng và có tính bảo mật cao, giúp bạn tiện lợi làm việc từ xa hoặc hỗ trợ từ xa cho người dùng khác.
RustDesk là một lựa chọn phổ biến cho việc thiết lập kết nối từ xa giữa các máy tính và được ưa chuộng trong cộng đồng phát triển phần mềm mã nguồn mở.
RustDesk không phải là một ứng dụng chuyên về chơi game từ xa. Mặc dù bạn có thể sử dụng RustDesk để truy cập và điều khiển máy tính từ xa, nó không được tối ưu hóa đặc biệt để chơi game.
Trong khi RustDesk có thể hỗ trợ truyền tải hình ảnh và âm thanh từ máy tính từ xa, hiệu suất và độ trễ có thể không đủ thấp để tạo ra trải nghiệm chơi game mượt mà. Điều này do các yếu tố như độ trễ mạng và khả năng xử lý hình ảnh của ứng dụng.
Để chơi game từ xa với trải nghiệm tốt hơn, có thể nên xem xét các ứng dụng hoặc dịch vụ chuyên dụng như Steam Remote Play, Parsec hoặc NVIDIA GameStream. Các ứng dụng này được thiết kế đặc biệt để cung cấp trải nghiệm chơi game từ xa với khả năng tương tác nhanh, độ trễ thấp và chất lượng hình ảnh tốt.
RustDesk hỗ trợ các hệ điều hành sau:
- Windows: RustDesk có phiên bản dành cho Windows, bao gồm Windows 10 và Windows Server.
- macOS: RustDesk cung cấp phiên bản cho macOS, cho phép bạn truy cập và điều khiển từ xa các máy tính chạy macOS.
- Linux: RustDesk hỗ trợ các bản phân phối Linux, bao gồm Ubuntu, Debian, CentOS, Fedora và nhiều hệ điều hành Linux khác.
Với việc hỗ trợ đa nền tảng này, bạn có thể sử dụng RustDesk trên nhiều hệ điều hành khác nhau để thực hiện việc điều khiển từ xa và hỗ trợ từ xa cho các máy tính khác.
2. Triển khai Private RustDesk Server.
RustDesk có thể triển khai trên Docker. RustDesk cung cấp hình ảnh Docker cho việc triển khai dễ dàng trên các máy chủ hoặc môi trường Docker.
Để triển khai RustDesk bằng Docker, bạn cần thực hiện các bước sau:
Lần lượt cài đặt Docker và Docker Compose trên máy chủ của bạn bằng 2 link dưới:
- https://wiki.hoanghd.com/cai-dat-docker-tren-ubuntu/
- https://wiki.hoanghd.com/cai-dat-docker-compose-tren-ubuntu/
Tạo file docker-compose.yml
với nội dung như dưới:
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs:
container_name: hbbs
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
volumes:
- ./data:/root
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
ports:
- 21117:21117
- 21119:21119
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
Nội dung file docker-compose.yml được sử dụng để triển khai hai dịch vụ “hbbs” và “hbbr” trong môi trường Docker.
- Dịch vụ “hbbs” được cấu hình để chạy trên các cổng 21115, 21116 (TCP và UDP), và 21118 trên máy host. Nó sử dụng hình ảnh rustdesk/rustdesk-server:latest để tạo ra một phiên bản của RustDesk, một phần mềm điều khiển từ xa mã nguồn mở. Tham số “command” được sử dụng để chạy lệnh “hbbs -r rustdesk.example.com:21117”, trong đó “rustdesk.example.com” là địa chỉ và cổng của dịch vụ “hbbr” mà “hbbs” sẽ kết nối. Thư mục dữ liệu được gắn kết vào thư mục “/root” bên trong container. Dịch vụ này được liên kết với network “rustdesk-net” và phụ thuộc vào dịch vụ “hbbr”. Nó sẽ được khởi động lại nếu không được dừng lại.
- Dịch vụ “hbbr” được cấu hình để chạy trên các cổng 21117 và 21119 trên máy host. Nó cũng sử dụng hình ảnh rustdesk/rustdesk-server:latest để tạo ra một phiên bản RustDesk. Tham số “command” được sử dụng để chạy lệnh “hbbr”. Thư mục dữ liệu được gắn kết vào thư mục “/root” bên trong container. Dịch vụ này cũng được liên kết với network “rustdesk-net” và sẽ được khởi động lại nếu không được dừng lại.
Network “rustdesk-net” được định nghĩa trong cùng tệp docker-compose.yml và không phải là mạng ngoại vi.
Chạy lệnh docker-compose up -d
để khởi chạy 2 container trên.
docker-compose up -d
Sau khi triển khai xong bạn có thể xác nhận các container đã chạy bằng lệnh docker-compose ps
.
$ docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
hbbr "hbbr" hbbr running 0.0.0.0:21117->21117/tcp, 0.0.0.0:21119->21119/tcp, :::21117->21117/tcp, :::21119->21119/tcp
hbbs "hbbs -r rustdesk.ex…" hbbs running 0.0.0.0:21115-21116->21115-21116/tcp, 0.0.0.0:21116->21116/udp, 0.0.0.0:21118->21118/tcp, :::21115-21116->21115-21116/tcp, :::21116->21116/udp, :::21118->21118/tcp
3. Cài đặt RustDesk Client.
Tiếp theo bạn hãy vào trang https://github.com/rustdesk/rustdesk/releases/
để download RustDesk Client về máy tính của mình và hãy tiến hành cài đặt nó.
Hình dưới đây mình đã cài đặt xong RustDesk Client trên hệ điều hành MacOS, bạn hãy để ý các chỉ mục như sau:
- Số (1) là ID được cấp bởi RustDesk Server (đây là server nằm ở ngoài giống như Anydesk, Ultraview,…).
- Số (2) bạn nhìn thấy thông báo
faster connection. For please set up own server your
với ý nghĩa RustDesk nói bạn nên kết nối đến một Private Server để tăng tính ổn định mà chúng ta đã triển khải ở phần trên.
Bạn hãy bấm vào (3) để vào phần Setings.
Chọn Network -> Unlock Network Settings
.
Gõ địa chỉ IP của Private RustDesk Server
mà bạn đã triển khai ở phần trên vào ID Server
và Relay Server
sau đó bấm Apply.
Bạn quay về Home
và nhìn vào (1) thông báo faster connection. For please set up own server your
không còn xuất hiện nữa, bây giờ chỉ còn thông báo Ready
và ở phần (2) là ID do chính Private RustDesk Server
cấp cho bạn.
Giờ mình cũng sẽ cài đặt RustDesk Client thứ 2 tương tự cho một máy tính thứ 2 đang chạy Windows, sau khi cài đặt xong mình cũng chỉnh trỏ về Private RustDesk Server và bạn có kết quả như hình dưới.
Giờ mình sử dụng máy MacOS để remote vào máy Windows.
Nhập mật khẩu và bấm OK.
Hoặc phía máy remote cũng có thể bấm Accept để đồng ý.
Và đây là kết quả khi remote thành công.