* Update ja.rs Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com> * Update README-JP.md Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com> --------- Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>
10 KiB
Servers •
Build •
Docker •
Structure •
Snapshot
[Українська] | [česky] | [中文] | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [العربي] | [Tiếng Việt] | [Dansk] | [Ελληνικά] | [Türkçe]
READMEやRustDesk UI、 RustDesk Docの翻訳者を歓迎します!
私たちと話す: Discord | Twitter | Reddit
Rustで書かれた、設定不要ですぐに使えるリモートデスクトップソフトウェアです。自分のデータを完全にコントロールでき、セキュリティの心配もありません。私たちのランデブー/リレーサーバを使うことも、自分でサーバーをセットアップする ことも、 自分でランデブー/リレーサーバを作成することもできます。
RustDeskは皆さんの貢献を歓迎します。
貢献の方法についてはCONTRIBUTING.mdをご確認ください。
依存関係
デスクトップ版ではGUIにFlutterまたはSciter(非推奨)を使用しますが、チュートリアルでは分かりやすく、簡単なSciterのみを対象に解説しています。Flutterでのビルド方法についてはCIをご覧ください。
Sciter dynamic libraryを事前にダウンロードしてください。
ビルド手順
-
Rust開発環境とC++ビルド環境を準備します。
-
vcpkgをインストールし、環境変数に
VCPKG_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
-
cargo run
を実行します。
ビルド
Linuxでのビルド方法
Ubuntu 18 (Debian 10)
sudo apt install -y zip 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 make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
openSUSE Tumbleweed
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
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
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
libvpxの修正 (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
ビルド
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
Dockerでのビルド方法
リポジトリをクローンし、Dockerコンテナを構築します:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
以下のコマンドを実行します:
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
このコマンドはRustDeskをビルドする度に実行する必要があります。
初回ビルドは時間がかかるかもしれませんが、2回目以降は依存関係がキャッシュされるため、ビルドにかかる時間が短くなります。
ビルドコマンドに追加の引数を指定する必要がある場合は、コマンドの最後(<OPTIONAL-ARGS>
の位置)で指定することができます。例えば、最適化されたリリースバージョンをビルドしたい場合は、上記のコマンドの後に --release
を追記し実行します。ビルドされた実行ファイルはあなたのシステムのターゲットフォルダに保存され、下記のコマンドで実行することができます。
デバッグビルドを起動する場合:
target/debug/rustdesk
リリースビルドを起動する場合:
target/release/rustdesk
コマンドをRustDeskリポジトリのルートから実行していることを確認してください。また、install
や run
などの他のcargoサブコマンドは、ホストではなくコンテナ内でプログラムをインストール、実行するため、現在の方法ではサポートされていません。
ファイル構造
- libs/hbb_common: ビデオコーデック、設定、tcp/udpラッパー、protobuf、ファイル転送に利用されるfs関数やその他のユーティリティ関数
- libs/scrap: スクリーンキャプチャ
- libs/enigo: プラットフォーム固有のキーボード/マウス操作
- libs/clipboard: Windows、Linux、macOS向けのファイルのコピーと貼り付けの実装
- src/ui: 廃止された Sciter UI (非推奨)
- src/server: オーディオ/クリップボード/入力/ビデオ サービスとネットワーク接続
- src/client.rs: ピア接続の開始
- src/rendezvous_mediator.rs: rustdesk-serverと通信し、リモートの直接接続(TCPホールパンチング)や中継接続を担う。
- src/platform: プラットフォーム固有のコード
- flutter: デスクトップとモバイル向けのFlutterコード
- flutter/web/js: Flutterウェブクライアント向けのJavaScript