treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Linuxで利用するリモートデスクトップの話

最近LinuxでもNLA(Network Level Authentication)対応のRDPクライアントが通常となってきました。

ちょっと頭の中を整理する意味合いもあってLinuxでリモートデスクトップ接続を使う時の基本知識をメモ。

ちょっと古いrdesktop

以前はrdesktopがかなり使われていた印象ですけども、2015年から最新版がリリースされていないこともあって、(RDP6.0での)NLA対応のリモートデスクトップクライアントではあるものの、いかんせんWindows側の刷新が早くて最近は追いついていない印象です。
個人的にもあまりrdesktopは使っていないため、実はあまりよく分からないってのもあるのですが。
最近はRemminaを気にしています。

いま注目(個人的に)はRemmina

今のLinuxで使えるイチオシはRemminaというリモートデスクトップクライアントです。UbuntuだとRemminaという名称がメニューに出てくるので標準インストールされていることが分かります。
RemminaはFreeRDPを利用したフロントエンド、と言われています。RedHat系だとFreeRDPで、UbuntuなどのDebian系だとRemminaってイメージがあります。
FreeRDPはHyper-Vで仮想したゲストOSのコンソールに接続する機能が追加される予定、ということもあり、Remmina&FreeRDPにはリモートデスクトップクライアントとして結構期待できる存在です。

Debian Jessie(Ver.8)とかStretch(Ver.9)だと標準リポジトリで使えるのはfreeRDP、backports(https://backports.debian.org/)にRemminaが登録されているので、backportsを使ってよい環境であればDebianでもRemminaを使ってみるのはいいかもです。

※追記:
本記事はDebian8/9時代の情報なのですが、Debian 10でいよいよRemminaが標準リポジトリで公開され、aptから利用可能になっています。もうRemminaのためにbackportを使う必要はありません。stableにあります。(※参考⇒LMDE4に期待しているという話。 - treedown’s Report
※追記ここまで

しかしxrdpを使う必要も

しかし、リモートデスクトップ環境というのは接続する側と接続される側の双方にリモートデスクトップのプログラムが必要になります。接続する側にはリモートデスクトップクライアントというプログラムが必要になります。これはRDPクライアントとかtsclientとかいいます。コマンドで呼称している場合はmstscという場合もあります。
WindowsでもHomeEdition(Windows8.1やWindows10の場合は無印、と呼ばれます)の場合には「リモートデスクトップクライアント」をダウンロードセンターなどからダウンロードしてインストールする必要があります。これと同じ。
で、接続される側にもリモートデスクトップサーバと呼ばれるプログラムが必要になります。リモートデスクトップサーバが待ち受けてリモートデスクトップクライアントに自身の画面や操作結果などを転送してくれるわけです。
Professional Edition以上のエディションであれば、標準でリモートデスクトップクライアントとリモートデスクトップサーバの両方がOSに組み込まれています。(正確にはPro以上のエディションではリモートデスクトップ関連のコンポーネントがONになっているだけで、HomeエディションはこれがOFFになっているだけ、という)
で、Linuxでもこれは同じで、リモートデスクトップのフル機能を使うには、リモートデスクトップサーバとリモートデスクトップクライアントの両方のインストールが必要になってきます。ですが上述のRemmina(FreeRDP)はリモートデスクトップクライアントなので、「接続される側」が不足する、ここでxrdpをインストールして利用することになります。
xrdpではリモートデスクトップサーバとリモートデスクトップクライアントが両方提供されるので、インストールしたLinuxに対してWindowsからリモートデスクトップ接続でリモート操作もできますし、インストールしたLinuxからリモートデスクトップ接続を開始することもできるようになります。

簡単に言うと、違いはxrdpがRDPサーバ、rdesktopやRemmina/FreeRDPがRDPクライアントxrdp+rdesktopやRemmina/FreeRDP=Windows Professionalのリモートデスクトップ、rdesktopやRemmina/FreeRDP単体がHome Premiumなどに手動追加したリモートデスクトップ、というイメージです。

f:id:treedown:20181025235124p:plain

xrdpでリモートデスクトップサーバ機能が搭載されていれば、WindowsのリモートデスクトップでRaspberryPiの操作もできちゃうわけです。
(画面はRemote Desktop Connection ManagerのWindows10からRaspberryPiへリモートデスクトップ接続したとこ)

LinuxにはイロイロあるRDP

以前はxrdpだけを使っていたのですが、NLA対応のRDPクライアントが欲しくなりFreeRDPを使ってみてしばらく使い心地を試しているうちに、Ubuntuやその派生のLinux MintではRemminaが標準になっていました。

Linux Mint 19だと簡単に導入できる、Remminaいいかもって思って注目してます。