README-JP.md 10.0 KB

RustDesk - あなたのためのリモートデスクトップ
ServersBuildDockerStructureSnapshot
[Українська] | [č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 UIRustDesk Docの翻訳者を歓迎します!

私たちと話す: Discord | Twitter | Reddit

ko-fi

Rustで書かれた、設定不要ですぐに使えるリモートデスクトップソフトウェアです。自分のデータを完全にコントロールでき、セキュリティの心配もありません。私たちのランデブー/リレーサーバを使うことも、自分でサーバーをセットアップする ことも、 自分でランデブー/リレーサーバを作成することもできます。

image

RustDeskは皆さんの貢献を歓迎します。
貢献の方法についてはCONTRIBUTING.mdをご確認ください。

よくある質問

パッケージのダウンロード

ナイトリービルド

[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"

alt="F-Droidで入手する"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)

依存関係

デスクトップ版ではGUIにFlutterまたはSciter(非推奨)を使用しますが、チュートリアルでは分かりやすく、簡単なSciterのみを対象に解説しています。Flutterでのビルド方法についてはCIをご覧ください。

Sciter dynamic libraryを事前にダウンロードしてください。

Windows | Linux | macOS

ビルド手順

  • 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リポジトリのルートから実行していることを確認してください。また、installrun などの他の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

スクリーンショット

Connection Manager

Connected to a Windows PC

File Transfer

TCP Tunneling