サーバー • ビルド • ドッカー • 構造 • スナップショット
[Українська] |[チェスキー] |[中文] | |[マジャール語] |[スペイン語] |[فارسی] |[フランス語] |[ドイツ語] |[ポルスキ] |[インドネシア語] |[スオミ] |[മലയാളം] |[日本語] |[オランダ] |[イタリア語] |[Русский] |[ポルトガル語 (ブラジル)] |[エスペラント語] |[한국어] |[العربي] |[ティエンベトナム] |[ダンスク]
このREADME、RustDesk UI、およびドキュメントを母国語に翻訳するためにあなたの助けが必要です
Rustで書かれたさらに別のリモートデスクトップソフトウェア。箱から出してすぐに動作し、構成は必要ありません。セキュリティを心配することなく、データを完全に制御できます。ランデブー/リレーサーバーを使用するか、独自のランデブー/リレーサーバーを設定するか、独自のランデブー/リレーサーバーを作成できます。
RustDeskは、皆様からの貢献を歓迎します。開始方法については、docs/CONTRIBUTING.md
を参照してください。
以下は無料で使用しているサーバーですが、時間の経過とともに変更される可能性があります。これらのいずれかの近くにいない場合は、ネットワークが遅い可能性があります。
場所 | 売り手 | 仕様 |
---|---|---|
ソウル | AWS ライトセイル | 1 vCPU / 0.5GB RAM |
ドイツ | ヘッツナー | 2 vCPU / 4GB RAM |
ドイツ | コーデックス | 4 vCPU / 8GB RAM |
フィンランド(ヘルシンキ) | 0x101サイバーセキュリティ | 4 vCPU / 8GB RAM |
アメリカ(アッシュバーン) | 0x101サイバーセキュリティ | 4 vCPU / 8GB RAM |
ウクライナ (キエフ) | dc.volia (2VM) | 2 vCPU / 4GB RAM |
デスクトップバージョンはGUIにサイターまたはフラッターを使用しますが、このチュートリアルはサイター専用です。
サイターダイナミックライブラリをご自身でダウンロードしてください。
あなたのRust開発環境とC ++ビルド環境を準備します
vcpkgをインストールし、環境変数を正しく設定する
VCPKG_ROOT
走る
cargo run
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
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
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
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
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
RustDeskはWaylandをサポートしていません。これをチェックして、Xorg をデフォルトの GNOME セッションとして設定します。
Waylandは、キー押下を他のウィンドウに送信するためのAPIを提供していないようです。したがって、rustdeskは下位レベル、つまりデバイス(Linuxカーネルレベル)のAPIを使用します。
/dev/uinput
ウェイランドが制御側である場合は、次の方法で開始する必要があります。
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
注意:Waylandの画面記録では、さまざまなインターフェイスが使用されます。RustDeskは現在、org.freedesktop.portal.ScreenCastのみをサポートしています。
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
まず、リポジトリのクローンを作成し、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
最初のビルドは依存関係がキャッシュされるまでに時間がかかる場合があり、後続のビルドは高速になることに注意してください。さらに、build コマンドに異なる引数を指定する必要がある場合は、コマンドの末尾の位置で指定できます。たとえば、最適化されたリリースバージョンをビルドする場合は、上記のコマンドを実行してから.結果の実行可能ファイルは、システムのターゲットフォルダーで使用でき、次のように実行できます。
<OPTIONAL-ARGS>
--release
target/debug/rustdesk
または、リリース実行可能ファイルを実行している場合:
target/release/rustdesk
これらのコマンドをRustDeskリポジトリのルートから実行していることを確認してください。そうしないと、アプリケーションが必要なリソースを見つけることができない可能性があります。また、 や などの他の cargo サブコマンドは、ホストではなくコンテナー内にプログラムをインストールまたは実行するため、このメソッドでは現在サポートされていないことに注意してください。
install
run