長年にわたって以下の条件を満たすリモートデスクトップソフトを探していて、ついにRustDeskを見つけた。
- マルチプラットフォーム、最低でもWindows、Linux対応
- H.264やVPx系のエンコーダー対応で、動画も耐えられる
- オープンソース
使ってみたところ、すごく良かったのでXRDPからの移行を進めようかと。もっと早く知りたかったよこれ。
更に、
- GPUによるハードウェアアクセラレーションにも対応。※ただしLinux版はバグがあり、記事作成時点で機能していない模様
- 試験的機能ではあるがLinux版はWaylandにも対応
セッションブローカーのような役割をするサーバーも存在する。このサーバーソフトも「OSS版」は無料!
HPやソフト内のリンクからたどると有料のPro版に誘導されるけど、OSS版は無料。大事なことなので2回。いやー、いい時代になったよ。
テスト運用中に一つ問題があって、Linuxの仮想マシンをリモート先としてテストしていたんだけど、音がかなり聞き取りづらいほど途切れ途切れになってしまう現象を確認した。
今回はその対処法が見つかったので紹介する。Pipewireのチューニングを行うことで、完璧ではないものの、大きく改善する。Fedora 40、Ubuntu 24.04で動作確認済み。
対処法
- リモート先にログインする
- ~/.config/pipewire/pipewire-pulse.conf.d/10-rustdesk.confに下記の設定を入力して保存
pulse.rules = [ { matches = [ { application.name = "RustDesk" } ] actions = { update-props = { pulse.min.frag = 2048/48000 pulse.default.frag = 2048/48000 } } } ]
- 続いて、仮想マシン環境の場合は~/.config/pipewire/pipewire.conf.d/10-vm.confに下記の設定を入力して保存
context.properties.rules = [ { matches = [ { cpu.vm.name = !null } ] actions = { update-props = { # These overrides are only applied when running in a vm. default.clock.min-quantum = 1024 } } } }
- 端末を開き、下記を実行
systemctl --user restart wireplumber pipewire pipewire-pulse
- RustDeskで接続中の場合は再接続する
初期状態では96000/48000と非常に大きなバッファが取られていた。
最近のコメント