PC リモートソフトウェア の定番、TeamViewerの商用検知が昨今厳しくなってきたので、その代替として、オープンソースで各種プラットフォーム対応の RustDesk を Ubuntu 、 Windows 10、 Android で試してみます。
Ubuntu 18.04へインストール
公式GitHubにあるUbuntu向けのdebパッケージをダウンロードの上、インストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
$ wget https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb --2022-06-22 09:36:04-- https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb github.com (github.com) をDNSに問いあわせています... 20.205.243.166 github.com (github.com)|20.205.243.166|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: https://objects.githubusercontent.com/github-production-release-asset-2e65be/299354207/822a332d-dcda-478c-9fe2-5a7de18e3b1b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220622T013604Z&X-Amz-Expires=300&X-Amz-Signature=dcccd635e7fbac7bef2a7d4987f0981643b6f3d04d2c953782c0ccb6d08c2a61&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=299354207&response-content-disposition=attachment%3B%20filename%3Drustdesk-1.1.9.deb&response-content-type=application%2Foctet-stream [続く] --2022-06-22 09:36:04-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/299354207/822a332d-dcda-478c-9fe2-5a7de18e3b1b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220622T013604Z&X-Amz-Expires=300&X-Amz-Signature=dcccd635e7fbac7bef2a7d4987f0981643b6f3d04d2c953782c0ccb6d08c2a61&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=299354207&response-content-disposition=attachment%3B%20filename%3Drustdesk-1.1.9.deb&response-content-type=application%2Foctet-stream objects.githubusercontent.com (objects.githubusercontent.com) をDNSに問いあわせています... 185.199.108.133, 185.199.109.133, 185.199.110.133, ... objects.githubusercontent.com (objects.githubusercontent.com)|185.199.108.133|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 6203088 (5.9M) [application/octet-stream] `rustdesk-1.1.9.deb' に保存中 rustdesk-1.1.9.deb 100%[================================================================>] 5.92M 1.14MB/s in 4.9s 2022-06-22 09:36:10 (1.21 MB/s) - `rustdesk-1.1.9.deb' へ保存完了 [6203088/6203088] $ sudo apt install ./rustdesk-1.1.9.deb パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 注意、'./rustdesk-1.1.9.deb' の代わりに 'rustdesk' を選択します 以下のパッケージが新たにインストールされます: rustdesk アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 2 個。 6,203 kB 中 0 B のアーカイブを取得する必要があります。 この操作後に追加で 15.1 GB のディスク容量が消費されます。 取得:1 /home/user/Downloads/rustdesk-1.1.9.deb rustdesk amd64 1.1.9 [6,203 kB] 以前に未選択のパッケージ rustdesk を選択しています。 (データベースを読み込んでいます ... 現在 774585 個のファイルとディレクトリがインストールされています。) .../Downloads/rustdesk-1.1.9.deb を展開する準備をしています ... Failed to stop rustdesk.service: Unit rustdesk.service not loaded. rustdesk (1.1.9) を展開しています... rustdesk (1.1.9) を設定しています ... Collecting pynput Downloading https://files.pythonhosted.org/packages/02/27/4de87850ff87c8dcecaaf8d27f28cec89ef17eeb6938f250449cb2635e06/pynput-1.7.6-py2.py3-none-any.whl (89kB) 100% |████████████████████████████████| 92kB 1.5MB/s Collecting evdev>=1.3; "linux" in sys_platform (from pynput) Downloading https://files.pythonhosted.org/packages/47/f0/650d83c84386d4a79e91e5c826f4ea10315c0708ea784e79c1b67e18bf26/evdev-1.5.0.tar.gz Collecting python-xlib>=0.17; "linux" in sys_platform (from pynput) Downloading https://files.pythonhosted.org/packages/c2/16/950463d36e8b64067c4d535038c5512de8200015e793d7d0a3f400187cbf/python_xlib-0.31-py2.py3-none-any.whl (179kB) 100% |████████████████████████████████| 184kB 1.7MB/s Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from pynput) (1.11.0) Building wheels for collected packages: evdev Running setup.py bdist_wheel for evdev ... done Stored in directory: /root/.cache/pip/wheels/7b/72/de/269ad6972bdeb7f5604fafcf2f6d54443dbddb50b9e4334abc Successfully built evdev Installing collected packages: evdev, python-xlib, pynput Successfully installed evdev-1.5.0 pynput-1.7.6 python-xlib-0.31 Created symlink /etc/systemd/system/multi-user.target.wants/rustdesk.service → /etc/systemd/system/rustdesk.service. desktop-file-utils (0.23-1ubuntu3.18.04.2) のトリガを処理しています ... bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) のトリガを処理しています ... Rebuilding /usr/share/applications/bamf-2.index... gnome-menus (3.13.3-11ubuntu1.1) のトリガを処理しています ... hicolor-icon-theme (0.17-2) のトリガを処理しています ... mime-support (3.60ubuntu1) のトリガを処理しています ... |
早速立ち上げてみると、こちらのシンプルなウィンドウが現れます(各OSのほぼ共通)。
左側の数字の羅列が自身のIDで、パスワードはランダム文字列がデフォルトでセットされていますが、適宜好みの文字列へ変更可能です。
デフォルトでサーバサービスも有効になっていますが、これはID欄右を押すと出てくるメニューにある、 Enable Service のチェックを外せば起動しないようになるようです。
1 2 3 4 5 6 7 8 9 |
$ systemctl status rustdesk ● rustdesk.service - RustDesk Loaded: loaded (/etc/systemd/system/rustdesk.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-06-22 09:37:18 HKT; 33min ago Main PID: 5572 (rustdesk) Tasks: 34 (limit: 4915) CGroup: /system.slice/rustdesk.service ├─4075 /usr/bin/rustdesk --server └─5572 /usr/bin/rustdesk --service |
リモート操作のリクエストを受信すると、画面右上にこのような通知が出てきます(スマートフォンから遠隔操作の例)。
macOS版をインストール→できず!?
続いてmacOS版をダウンロードして、Mac Proへインストールしようとするも、バージョンチェックで弾かれてしまいました。

図3.macOSのバージョンチェック弾き
このMac ProはグラフィックボードがMetalに対応しておらず、10.14以降へはアップデート出来ないので、残念ながら手詰まりです。
ちなみにTeamViewerはこのOSバージョンでも問題無く使える他、同類のAnyDeskの要件を確認しましたが、こちらもmacOSのバージョン要件には触れられていませんでした。
Windows 10へインストール
さらにWindows 10へインストールしようと、Windows版のインストーラを実行してみると、Ubuntu版とは異なり Run without install というモードが用意されていました。PCお助けサポートを受ける際は、この機能を使うよう勧めれば良さそうです。
ファイル転送機能はTeamViewerと類似したUIで、リモート操作同様にサクサクと転送されます。
Android版のインストール
Android 12のASUS ZenFone8 Flipへ、Googleストアからインストールしてみました。
Android版はデフォルトではクライアントモードを想定して設定されているので、スクリーンシェアリングさせたい場合は、設定画面で必要な権限を許可する必要があります。
実際にWindowsやUbuntuへリモート接続してみました。操作はタッチモード、マウスモードが用意されており、どちらもキビキビと反応するので快適。デュアルモニタの切り替えも考慮されています。
しばらく使ってみての難点は、画面上にキーボードが現れている間に、思った通りの挙動をしてくれないことが多い点。アプリ画面を開き直せば元に戻るので致命的ではありませんが、今後の造り込みで改善してくれることでしょう。
RustDeskで興味深い機能は、自前のサーバを建てられることなので、これはまた別の機会にぜひ試してみたいと思います。