Skip to content

Latest commit

 

History

History
173 lines (119 loc) · 9.23 KB

README-JP.md

File metadata and controls

173 lines (119 loc) · 9.23 KB

RustDesk - Your remote desktop
ServersBuildDockerStructureSnapshot
[English] | [Українська] | [česky] | [中文] | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [العربي] | [Tiếng Việt] | [Ελληνικά]
このREADMEをあなたの母国語に翻訳するために、あなたの助けが必要です。

Chat with us: Discord | Twitter | Reddit

ko-fi

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

image

RustDeskは誰からの貢献も歓迎します。 貢献するには docs/CONTRIBUTING.md を参照してください。

RustDeskはどの様に動くのか?

BINARY DOWNLOAD

無料のパブリックサーバー

下記のサーバーは、無料で使用できますが、後々変更されることがあります。これらのサーバーから遠い場合、接続が遅い可能性があります。

Location Vendor Specification
Germany Hetzner 2 vCPU / 4GB RAM
Germany Codext 4 vCPU / 8GB RAM

依存関係

デスクトップ版ではGUIに sciter が使われています。 sciter dynamic library をダウンロードしてください。

Windows | Linux | MacOS

モバイル版はFlutterを利用します。デスクトップ版もSciterからFlutterへマイグレーション予定です。

ビルド手順

  • 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
  • run cargo run

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

Install 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

Fix libvpx (For 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

Wayland の場合、X11(Xorg)に変更します

RustDeskはWaylandをサポートしていません。 こちら を確認して、XorgをデフォルトのGNOMEセッションとして構成します。

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

なお、最初のビルドでは、依存関係がキャッシュされるまで時間がかかることがありますが、その後のビルドではより速くなります。さらに、ビルドコマンドに別の引数を指定する必要がある場合は、コマンドの最後にある <OPTIONAL-ARGS> の位置で指定することができます。例えば、最適化されたリリースバージョンをビルドしたい場合は、上記のコマンドの後に --release を実行します。できあがった実行ファイルは、システムのターゲット・フォルダに格納され、次のコマンドで実行できます。

target/debug/rustdesk

あるいは、リリース用の実行ファイルを実行している場合:

target/release/rustdesk

これらのコマンドをRustDeskリポジトリのルートから実行していることを確認してください。そうしないと、アプリケーションが必要なリソースを見つけられない可能性があります。また、 installrun などの他の cargo サブコマンドは、ホストではなくコンテナ内にプログラムをインストールまたは実行するため、現在この方法ではサポートされていないことに注意してください。

ファイル構造

  • libs/hbb_common: ビデオコーデック、コンフィグ、tcp/udpラッパー、protobuf、ファイル転送用のfs関数、その他のユーティリティ関数
  • libs/scrap: スクリーンキャプチャ
  • libs/enigo: プラットフォーム固有のキーボード/マウスコントロール
  • src/ui: GUI
  • src/server: オーディオ/クリップボード/入力/ビデオサービス、ネットワーク接続
  • src/client.rs: ピア接続の開始
  • src/rendezvous_mediator.rs: rustdesk-server, と通信し、リモートダイレクト (TCP hole punching) または中継接続を待つ。
  • src/platform: プラットフォーム固有のコード

スナップショット

image

image

image

image