Ubuntu をGUIごとリモート操作したい場合、最もシンプルなのは xrdp + xfce4 の組み合わせです。xrdp は Windows の「リモートデスクトップ接続(mstsc)」からそのまま繋がるRDPサーバーで、クライアント側に専用ソフトを入れなくていいのが最大のメリットです。この記事では、Ubuntu 24.04 LTS の公式Dockerイメージで実際にパッケージを入れ、バージョン・設定ファイル・サービスの実体を一つずつ確認した結果をもとに、xrdp のセットアップから接続までを解説します。
後半では Mac/Linux からも繋ぎたい人向けに VNC(TigerVNC)+ SSHトンネルの方法も紹介します。さらに、実際に xfce4 デスクトップを VNC で起動してブラウザ越しに表示した本物のスクリーンショットも載せているので、「繋いだら何が見えるのか」がイメージできるはずです。
この記事のポイント
- Ubuntu 24.04 LTS では
xrdp 0.9.24-4が、22.04 LTS ではxrdp 0.9.17-2ubuntu3が入ることを実測で確認しました(2026年6月15日時点) - xrdp は
port=3389でRDPを待ち受けます。これは/etc/xrdp/xrdp.iniの実値で確認済みです - デスクトップは軽量な
xfce4-session 4.18.3を組み合わせるのが定番。~/.xsessionの設定を忘れると接続後に黒画面になります - xrdp は
xrdp.serviceとxrdp-sesman.serviceの2つのサービスで構成されます(片方が止まると繋がりません) - VPSで使うなら ufw でポート3389を開けつつ、接続元IPを絞るかSSHトンネルを使うのが安全です
目次
- 動作確認済み環境とパッケージバージョン
- xrdp + xfce4 でリモートデスクトップを設定する
- Windowsのリモートデスクトップ接続で繋ぐ
- VNCでリモートデスクトップを設定する(Mac/Linux向け)
- よくあるエラーと解決策
- まとめ
動作確認済み環境とパッケージバージョン
本記事のコマンドとバージョンは、以下の環境で実際に動かして確認しています。架空の出力ではなく、コンテナで apt-cache policy や apt-get install を実行して返ってきた本物の値です。
| 項目 | 値 |
|---|---|
| OS | Ubuntu 24.04.4 LTS(Noble Numbat)/ 22.04.5 LTS(Jammy Jellyfish) |
| xrdp バージョン | 0.9.24-4(24.04 の apt 候補・実測値) |
| xfce4-session バージョン | 4.18.3-1build2(24.04 の実測値) |
| TigerVNC バージョン | 1.13.1+dfsg-2build2(24.04 の apt 候補・実測値) |
| 検証方法 | Docker公式イメージ ubuntu:24.04 / ubuntu:22.04 でコマンド実行(arm64) |
| 検証日 | 2026-06-15 |
まず、xrdp 一式の候補バージョンを Ubuntu 24.04 と 22.04 で並べて比較したのが次の図です。

注目したいのは xorgxrdp(xrdp が使うX.Orgドライバ)です。22.04 では 1:0.2.17-1build1 なのに対し、24.04 では 1:0.9.19-1 と大きく上がっており、xrdp 本体とバージョン番号が揃ってきています。古い情報だと「xrdp は xorgxrdp との相性で画面が崩れる」と書かれていることがありますが、24.04 ではこのあたりの組み合わせがかなり新しくなっています。
注意
本記事の検証は Docker 公式イメージ上でパッケージの導入とバージョン・設定の確認を行ったものです。VPS(Vultr・ConoHaなど)の実サーバーで使う場合、root で直接ログインする構成なら sudo は不要です。コマンドは適宜読み替えてください。
xrdp + xfce4 でリモートデスクトップを設定する
xrdp を使えば、Windows標準の「リモートデスクトップ接続(mstsc.exe)」から Ubuntu にそのまま繋げます。クライアント側に何も入れなくていいのが嬉しいポイントです。手順全体の流れは次のとおりです。

手順1:パッケージを最新の状態にする
まずはパッケージリストを更新します。apt update を忘れると古いバージョンが入ったり、リポジトリの取得でつまずいたりするので、必ず最初に実行してください。
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Reading package lists… Done
Building dependency tree… Done
手順2:xrdp と xfce4 をインストールする
xrdp(RDPサーバー)と xfce4(軽量デスクトップ環境)を一緒に入れます。xfce4 は Ubuntu 標準の GNOME より軽いため、メモリの限られたVPSでも動かしやすいのが選ばれる理由です。
The following NEW packages will be installed:
xrdp xorgxrdp xfce4 xfce4-goodies …
Setting up xrdp (0.9.24-4) …
Generating 2048 bit rsa key…
ssl_gen_key_xrdp1 ok
Setting up xfce4-session (4.18.3-1build2) …
下の図は、実際に ubuntu:24.04 コンテナで apt-get install xrdp xfce4-session を流したときの本物のログとバージョンです。xrdp のセットアップ時に 2048bitのRSA鍵が自動生成される(ssl_gen_key_xrdp1 ok)のがポイントで、これがRDPの暗号化通信に使われます。

インストールが終わったら、xrdp のバージョンを確認しておきましょう。
xrdp 0.9.24
xrdp 0.9.24 と表示されれば、Ubuntu 24.04 で正しく入っています(22.04 の場合は 0.9.17 系になります)。
手順3:xfce4 をデフォルトセッションに設定する
xrdp で接続したときに xfce4 デスクトップが起動するよう、ホームディレクトリに ~/.xsession を作ります。この1行を忘れると接続後に画面が真っ黒になる、いちばん詰まりやすいポイントです。
$ cat ~/.xsession
xfce4-session
手順4:xrdp サービスを起動・有効化する
xrdp を systemd で起動し、OS再起動後も自動で立ち上がるようにします。ここで知っておきたいのが、xrdp は2つのサービスで構成されていることです。実際に dpkg -L xrdp でパッケージが配置するユニットファイルを確認すると、次のようになっていました。

xrdp.service(RDPの窓口)と xrdp-sesman.service(セッションマネージャ)が /usr/lib/systemd/system/ に置かれます。昔の解説にある /lib/systemd/system/ は、今は /usr/lib/systemd/system/ へのシンボリックリンクなので、どちらで参照しても同じ実体を指します。
Synchronizing state of xrdp.service with SysV service script…
$ sudo systemctl status xrdp
● xrdp.service – xrdp daemon
Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled)
Active: active (running)
Active: active (running) になっていれば、xrdp がポート3389で待ち受けています。この 3389番は /etc/xrdp/xrdp.ini の port=3389 で定義されている実値です(上の図で確認したとおり、crypt_level=high で暗号化レベルも高に設定されています)。
手順5:ファイアウォールでポート3389を開ける
ufw(Ubuntu標準のファイアウォール)が有効なら、RDPのポート3389を開放します。
Rule added
Rule added (v6)
$ sudo ufw status | grep 3389
3389/tcp ALLOW Anywhere
セキュリティに注意
ポート3389をインターネット全体に開けると、ブルートフォース攻撃(総当たりパスワード攻撃)の標的になりやすいです。VPSで使うなら、接続元を自分のIPに限定する(sudo ufw allow from 203.0.113.1 to any port 3389)か、後述のSSHトンネル経由で繋ぐことを強く推奨します。
Windowsのリモートデスクトップ接続で繋ぐ
ここまで設定できたら、Windows から Ubuntu に接続できます。Windows には「リモートデスクトップ接続(mstsc)」が標準で入っているので、追加ソフトは不要です。
Windowsからの接続手順
Win + Rで「ファイル名を指定して実行」を開き、mstscと入力して Enter- 「コンピューター」欄に Ubuntu サーバーのIPアドレス(例:
192.168.1.100)を入力 - 「接続」をクリック
- xrdp のログイン画面が出たら、Ubuntu のユーザー名・パスワードを入力
接続に成功すると、次のような xfce4 のデスクトップが表示されます。下の画像は、実際に Ubuntu 24.04 + xfce4 を VNC で起動し、ブラウザ(noVNC)越しに表示した本物のスクリーンショットです。xrdp 経由でも同じ xfce4 デスクトップが見えます。

左上の「Applications」をクリックすると、アプリケーションメニューが開きます。Terminal Emulator(端末)や File Manager(ファイルマネージャ)、Settings(各種設定)などがひととおり揃っているのが分かります。

接続できないときのチェックリスト
sudo systemctl status xrdpでサービスがactive (running)か確認sudo ss -tlnp | grep 3389でポート3389が待ち受けているか確認- VPSの場合は、コントロールパネル側のファイアウォール/セキュリティグループでも3389を許可しているか確認
~/.xsessionにxfce4-sessionが書かれているか確認(黒画面の最有力候補)
VNCでリモートデスクトップを設定する(Mac/Linux向け)
Mac や Linux からも繋ぎたい場合は、VNCを使う方法があります。Ubuntu 24.04 では tigervnc-standalone-server 1.13.1 が、22.04 では 1.12.0 が利用できます(いずれも実測の apt 候補バージョン)。
TigerVNC のインストール
Setting up tigervnc-standalone-server (1.13.1+dfsg-2build2) …
xstartup を用意して VNC サーバーを起動する
VNC接続時に xfce4 が起動するよう、~/.vnc/xstartup を作ります。今回のスクリーンショットも、まさにこの設定で xfce4 を起動して撮影しました。
$ echo -e ‘#!/bin/sh\ndbus-launch –exit-with-session xfce4-session’ > ~/.vnc/xstartup
$ chmod +x ~/.vnc/xstartup
$ vncserver :1 -geometry 1280×800 -depth 24
New Xtigervnc server ‘…:1 (ubuntu)’ on port 5901 for display :1.
これで 5901 番ポートで VNC が待ち受けます(ディスプレイ番号 :1 はポート 5900 + 1 に対応)。VNCクライアント(Mac は Finder の「サーバへ接続」、Windows は RealVNC など)から サーバーIP:5901 に繋ぎます。
SSHトンネルでVNCを安全に使う
VNCはデフォルトで通信が暗号化されません。公開サーバーではSSHトンネル経由が必須です。トンネルの認証には、パスワードよりも鍵認証が安全です。下は実際に ssh-keygen で ed25519 鍵を作った出力です(OpenSSH 9.6p1)。

鍵をサーバーに登録したら、接続元(Windows なら PowerShell、Mac/Linux なら端末)で次のコマンドを実行してトンネルを張ります。
# トンネルが張れたら localhost:5901 に VNCクライアントで接続
これでローカルの localhost:5901 がサーバーの 5901 に暗号化されたトンネルでつながります。VNCクライアントは localhost:5901 に繋ぐだけでOKです。VNC自体のポートはサーバー外に開ける必要がなくなり、安全性が大きく上がります。
よくあるエラーと解決策
接続後に画面が真っ黒になる
いちばん多いトラブルです。原因のほとんどは ~/.xsession の設定漏れです。
cat: /home/ubuntu/.xsession: No such file or directory
$ echo “xfce4-session” > ~/.xsession
$ sudo systemctl restart xrdp
# 再接続すると xfce4 デスクトップが表示される
「connecting to sesman ip 127.0.0.1 port 3350」で止まる
これは xrdp のセッションマネージャ(xrdp-sesman)が起動していないときに出ます。前述のとおり xrdp は2つのサービスで動くので、片方だけ止まっているとこの状態になります。
Active: inactive (dead)
$ sudo systemctl enable –now xrdp-sesman
$ sudo systemctl restart xrdp
「Authentication is required to create a color profile」が毎回出る
Ubuntu Desktop(GNOME)環境で xrdp を使うと出やすい認証ダイアログです。PolicyKit のルールを足すと回避できます。
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF
まとめ
Ubuntu でリモートデスクトップを設定する方法を、実測値をもとに整理します。
- xrdp(24.04 で 0.9.24-4)と xfce4(xfce4-session 4.18.3)の組み合わせが最もシンプルで軽い
~/.xsessionへのxfce4-session記述が必須。忘れると黒画面になる- xrdp は port=3389 で待ち受け、xrdp.service と xrdp-sesman.service の2つで動く
- Windowsからは標準の「リモートデスクトップ接続(mstsc)」だけで繋がる
- Mac・Linuxからは TigerVNC(24.04 で 1.13.1)+ SSHトンネルが安全
- 公開サーバーではポート3389を絞るか、SSHトンネルを必ず使う
リモートデスクトップを快適に使うコツは、できるだけ低遅延のサーバーを選ぶことです。VPSなら東京リージョンを持つサービスだと体感がかなり違います。Vultr($5/月〜)は東京リージョンがあり、SSD + KVM で応答も安定しているので、自宅から繋ぐ学習・検証用途に向いています。
日本語サポートを重視するなら ConoHa VPS も選択肢です。VPS選びで迷っている方は、初期セットアップまで実測でまとめた記事も参考にしてみてください。ConoHa VPS で Ubuntu を立ち上げる手順へ



コメント