Fedoraでのリモートデスクトップ:Wayland経由のRDPは実機のような滑らかさ

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

クイックスタート:わずか3ステップでリモート接続を有効にする

Fedoraの画面の前にいて、後で別のPCから作業するためにリモート機能をさっと有効にしたい場合は、次の3つの手順を実行してください。

  1. Settings > Sharing を開きます。
  2. 右上の Sharing スイッチをオンにし、Remote Desktop を選択します。
  3. Remote Desktop を「オン」に切り替えます。下の項目をクリックして、RDP接続用の専用 UserPassword を設定します。

次に、ネットワーク内の他のPCから接続できるように、ファイアウォールのポートを開放します。

sudo firewall-cmd --permanent --add-service=rdp
sudo firewall-cmd --reload

完了です!これで、WindowsのMSTSCやLinuxのRemminaを使って、FedoraのIPアドレスに接続できます。マウスの操作感は従来のVNCよりも格段に滑らかです。

6ヶ月の実践を経て:なぜWayland上のRDPが「正解」なのか?

私は2年前からFedoraをメインの開発環境として使っています。以前は、LinuxのリモートデスクトップといえばVNCを思い浮かべ、その画質の粗さや200〜300msの遅延、煩雑なセキュリティ設定に辟易していました。Fedoraが完全にWaylandへ移行したことで、古い解決策では細かい不具合が目立つようになりました。

GNOME 42以降、gnome-remote-desktop プロジェクトによってMicrosoftのRDPプロトコルがWaylandに直接統合されました。その結果は驚くべきものでした。フレームレートは60fpsで安定し、テキストやファイルのコピー&ペーストも非常にレスポンスが良く、デフォルトでTLSによるセキュリティも確保されています。

個人的に最も気に入っているのは、解像度のスケーリング機能です。13インチのノートPCから4Kモニターのワークステーションにリモート接続しても、Fedoraが自動的に最適なサイズに調整してくれます。アプリケーションのウィンドウを探して画面を上下左右にスクロールする必要はもうありません。

詳細設定と技術解説

RDPは単にピクセルを送信するだけではないため、VNCよりもスマートです。FedoraのGNOMEでは、PipeWireを使用して画面をキャプチャし、DMA-BUFを活用することで、CPU負荷を抑えつつ極めて高速なグラフィック転送を実現しています。

システムパッケージの確認

Workstation版には通常プリインストールされていますが、Minimal版やServer版を使用している場合は、以下のコマンドで確認してください。

sudo dnf install gnome-remote-desktop

認証とセキュリティ

GNOMEはRDPのパスワードをシステムキーチェーンに保存します。このパスワードはPCのログインパスワードとは完全に独立しています。メインのパスワードを教えることなく、同僚に一時的にリモート権限を共有する場合などに非常に安全です。

応用:grdctlでコマンドラインを使いこなす

SSHで接続していて、遠隔地のマシンのリモート機能を有効にしたい場合、grdctl ツールが唯一の救世主となります。

CLI経由でユーザー名とパスワードを設定する:

grdctl rdp set-credentials "myuser" "mypassword"

デモなどで操作させたくない場合に、表示専用(view-only)モードを有効にする:

grdctl rdp set-view-only yes

そして最後にサービスを有効化します:

grdctl rdp enable

実践的な知恵:よくあるトラブルの解決策

この半年間で、いくつか典型的な問題に遭遇しました。以下にその解決策をまとめます。

1. ログイン前の画面真っ暗エラー(ヘッドレス環境)

最もストレスが溜まるのは、Fedoraが再起動した直後にGDM画面で止まってしまい、リモート接続できないケースです。これはユーザーセッションがまだ開始されていないことが原因です。

解決策: 自宅に置いているマシンの場合は、設定で Automatic Login(自動ログイン)を有効にします。データセンターにあるサーバーの場合は、loginctl enable-linger user コマンドを使用して、誰も操作していなくてもセッションがバックグラウンドで常駐するようにします。

2. 適切なクライアントの選択

  • Windows: リモート デスクトップ接続 (mstsc.exe) が最適で、100%の互換性があります。
  • Linux: Remmina が第一候補です。ネットワークが不安定な場合は、色深度(Color Depth)を16bppに下げると遅延が軽減されます。
  • macOS: ストアにある Microsoft Remote Desktop アプリが非常に安定して動作します。

3. ネットワークパフォーマンスの最適化

LAN内での遅延を30ms以下に抑えるには、クライアント側の設定で「デスクトップの背景」をオフにすることをお勧めします。静止した背景画像を転送しないことで、帯域をすべてマウス操作やキー入力のレスポンスに集中させることができます。

おわりに

FedoraとGNOMEは、RDPをWaylandへ見事に統合しました。Ubuntu 18.04の頃のように、Xrdpをインストールしたり .xsession ファイルを手動で編集したりする必要はもうありません。Fedoraチームはこの分野のバグ修正に非常に熱心なので、こまめに sudo dnf update を行いましょう。実際に体験すれば、VNCという言葉を忘れてしまうことは間違いありません。

Share: