今回は第712回に続いて、Ubuntu 22.04 LTSの変更点であるリモートデスクトップ機能、特にRDPサーバー機能をピックアップして解説します。
Ubuntu 22.04 LTSのリモートデスクトップ
第712回で既報のとおり、Ubuntu 22.04 LTSのリモートデスクトップは大きな変更がありました。
本来は712回でやるべき内容でしたが、あまりにも長すぎたため記事として切り出すことにしました。その分より詳細な解説を行います。
まず、リモートデスクトップ機能とはどういったものでしょうか。
簡単にいえばほかのPC(あるいはスマートデバイス)からそのPCを操作するための機能で、実装はいろいろとあります。プロトコルとしてはUbuntuというかUnix系OSでポピュラーなのはVNCですが、WindowsではRDPがよく使用されています。VNCは元々のソースコードはオープンなのですが、機能としては充分とはいえず派生版によって独自の拡張が施されており、VNCといいつつ実装によって互換性がなかったりすることもあります。
一方RDPは、実装はクローズドですがプロトコルは公開されており、これをオープンソースで実装した著名なサーバーは第621回で紹介したxrdpです。同じくオープンソースで実装した著名なクライアントは第661回で紹介したRemminaです。厳密にはRemminaのRDPクライアントプラグインはFreeRDPを使用しています。
RDPのメリットは、Windowsで別途クライアントアプリケーションをインストールしなくてもリモートデスクトップ接続できることや、VNCと比較してセキュアであることや多機能なことなどが挙げられます。
このようなメリットを享受するために、22.04 LTSリリースに至るまでのバタバタとRDPサーバーの設定方法、2つのRDPクライアントでどのような機能が使用できるのかを今回紹介します。
RDPサポートの詳細な経緯
RDPサポートについては『Ubuntu Weekly Topics 2022年4月15日号』で既報のとおりなのですが、もう少し詳しく経緯を見ていきましょう。
第663回で紹介したとおり、Ubuntu 21.04からリモートデスクトップのバックエンドが「Vino」から「GNOME Remote Desktop」に置き換えられました。
この「GNOME Remote Desktop」はバージョン40からVNCとRDPの両プロトコルに対応していましたが、「設定」では前者のみが対応していました[1]。そして42になってようやく「設定」で対応が行われました。
「設定」は41のまま据え置き、「GNOME Remote Desktop」は当然のことながら「設定」42を前提としているため、VNCも使えなくなりました。しかし、いったんは修正され、リモートデスクトップ機能が使用できるようになります。これが現地時間で4月8日のことです。
タイミング的にこれが最終決定か、と思われたのですが、突如として4月11日にRDP設定のバックポートが告知され、度肝を抜かれました。
どういう意思決定があったのかは明らかではありませんが、主要開発者(非Canonical社員)のGunnar Hjalmarssonさん[2]が激しく抗議(その1、その2)したところをみると、あまり事前の根回しは行われていなかったのでしょう。しかしこの抗議は正当すぎて筆者も納得しかありません。
その後13日にまずはRDP設定の追加を(図1)、続けて後方互換性の確保のためVNCも有効にできる修正が加えられました(図2)。そして翻訳の締切は14日です。
日本語ではなんとか締切に間に合いましたが、確認は(自分でごそごそしないかぎり)できないのでどうなるか心配でしたが、おおむね問題なく翻訳されたので良かったです。
リモートデスクトップサーバーの設定
それでは、リモートデスクトップサーバーを設定してみましょう。「設定」を起動し、「共有」を開くと「リモートデスクトップ」があります。まずはここをクリックします(図3)。
デフォルトでオンになっているのはリリース時点の22.04 LTSの不具合で、本記事が掲載されている段階ではアップデートがリリースされているはずです。このアップデート適用後はデフォルトでオフになります。
「リモートデスクトップ」をクリックすると詳細な設定画面が表示されます。図4では「リモートデスクトップ」がオンになっていますが、前述のとおりこれはリリース時点の22.04 LTSの不具合なので、アップデート適用後はここをオンにしてください。適用前は、一度オフにして再度オンにしてください。
「リモートコントロール」がオフになっているため、デフォルトでは画面の操作ができません。通常は画面を操作する必要があるはずなので、ここもオンにしてください。
またユーザー名とパスワードはあらかじめ決められています。デバイス名などの横にはコピーアイコンがあり、ここをクリックすると左側の文字列をコピーできます。パスワードは隠れているので、目アイコンをクリックすると表示できます。接続に必要な情報を安全な方法で接続元(RDPクライアントがインストールされているOS)にコピーしてください。共有フォルダーに接続情報が書かれたテキストファイルを置くのが通常考えられる方法でしょう。
デフォルトではVNCは無効ですが、「レガシーなVNCプロトコルを有効にする」にチェックを入れると有効になります。右のケバブメニューをクリックすると「新規接続の場合アクセス要求を必要とする」と「パスワードを要求する」オプションが選択できます(図5)。
なお現状はVNCの代わりにRDPを使うという感じで、あくまでログインしているユーザーのデスクトップを操作するための機能であり、Windowsにおけるリモートデスクトップとは使い方が異なります。
リモートデスクトップクライアント
RDPに対応したリモートデスクトップクライアントはいろいろありますが、代表的な2つのアプリケーションを紹介します。
リモートデスクトップ接続
「リモートデスクトップ接続」はWindowsにインストールされているリモートデスクトップクライアントです。おそらくご存知でしょうから、あらためて解説するまでもないかもしれません。
「リモートデスクトップ接続」を起動し、Ubuntu 22.04 LTSのドメイン名またはIPアドレスを入力します(図6)。最近のWindowsはmDNSによる名前解決ができるため、図4にある「リモートデスクトップアドレス」の「ms-rd://」以降の文字列を入力すればいいでしょう。
事前に解像度を設定したい場合は「オプションの表示」をクリックし、「画面」タブの「画面の設定」で解像度を指定します(図7)。
「接続」をクリックすると資格情報を入力するダイアログが表示されるので、ユーザー名とパスワードを入力してください(図8)。毎回入力するのが面倒であれば、「このアカウントを記憶する」にチェックを入れてもいいでしょう。
「このリモートコンピューターのIDを識別できません」が表示されるので、「はい」をクリックしてください(図9)。毎回質問されるのが面倒であれば「このコンピューターへの接続について今後確認しない」にチェックを入れるといいでしょう。
これでUbuntu 22.04 LTSのデスクトップが表示されます(図10)。
RDPにはクリップボードをサーバーとクライアント間で共有する機能があり、この「リモートデスクトップ接続」は文字(普通のコピー&ペースト)とファイルの両方に対応しています。換言すると、WindowsとUbuntu間でクリップボードを介して文字ばかりでなくファイルのコピーができ、もちろんそのまま貼り付けることができるのでとても便利です。
Remmina
前出のとおりRemminaに関しては第661回で詳しく取り上げていますが、あらためてRDPだけの簡単な接続方法を紹介します。
今回使用したのはUbuntu 22.04 LTSにインストールされているRemmina 1.4.25ですが、Snapのリポジトリにも同じバージョンがあるため(執筆時点)、古いバージョンのUbuntuを使用している場合はこちらを使用するのがいいでしょう。重要な不具合が修正されているため、新しいバージョンのRemminaを使用するのが望ましいのです。
Remminaを起動し、ドメイン名を入力してエンターキーを押します(図13)。証明書を受け入れるかどうかを質問されるので「はい」をクリックします(図14)。ユーザー名とパスワードを入力して(ドメインは空欄でいいです)「OK」をクリックしてください(図15)。
これでUbuntu 22.04 LTSのデスクトップが表示されます(図16)。
Remminaクリップボード共有機能は、現在のところ文字のみの対応です。ファイルに関しては今後の対応予定となっています。