リモートデスクトップ接続 xrdp - Ubuntu - 16.04

 クラウディア
1. 概要
2. インストール
3. 設定・起動
4. 接続
5. Visual Studio Code 起動

1. 概要

 ちょっとやってみる機会があったので、記録しておきます。  現在(2020年8月16日)、「LTS」でも 20.04 がリリースされているのですが、未だに、 16.04 を使用されている方が結構いらっしゃるようで、16.04 の「xrdp」に関する記事も結構あります。  多くあった中で、今回特に参考にさせていただいたのが下記のサイトです。  特に、上のサイトは、2020年3月24日という、比較的新しい更新日時です。
Windows10 からの RDP 接続(ubuntu16.04 LTS) - Qiita」
「Ubuntu 16.04: GNOME Classic デスクトップ環境に XRDP で接続する - Narrow Escape
 わたしが、実際に行ったのは、「Windows10 Home 2004」「VirtualBox 6.1.12」上の「Ubuntu 16.04」です。

2. インストール

 以下、すべて「root」ユーザで。  まずは、システムを最新に

apt-get update
apt-get upgrade
 「xrdp」は、「apt-get」でインストールするのでなく、ソースをダウンロードして「make」します。  まずは、「make」で必要となるるものを「apt-get」でインストール。

apt-get install -y build-essential devscripts git autoconf libtool pkg-config gcc g++ make libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev
 ソースをダウンロード。  (「curl」では、正常にダウンロードできません)

mkdir -pv /tmp/xrdp
cd /tmp/xrdp
wget https://launchpad.net/ubuntu/+archive/primary/+files/xrdp_0.9.4.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xrdp_0.9.4.orig-xorgxrdp.tar.gz
tar -zxvf xrdp_0.9.4.orig.tar.gz
tar -zxvf xrdp_0.9.4.orig-xorgxrdp.tar.gz
 「xrdp」の「make」

cd /tmp/xrdp/xrdp-0.9.4
./bootstrap
./configure --enable-fuse
make
make install
ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
 「xrogxrdp」の「make」

cd /tmp/xrdp/xorgxrdp-0.2.4
./bootstrap
./configure
make
make install

3. 設定・起動

 ログインユーザで  (どうも、「classic」というセッションでないとデスクトップがきどうしないのです)

cat << EOF >> ~/.xsession

gnome-session-classic
EOF
 起動。  ただし、下記のコマンドが使えるようになるまで少し待たないといけないようです。  「root」ユーザで

$ service xrdp start
$ service xrdp status
● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; disabled; vendor preset: enabled)
   Active: active (running) since 日 2020-08-16 15:46:17 JST; 2min 49s ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
  Process: 2847 ExecStart=/usr/local/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2849 (xrdp)
   CGroup: /system.slice/xrdp.service
           mq2849 /usr/local/sbin/xrdp

 8月 16 15:46:16 ubuntu-16 systemd[1]: Starting xrdp daemon...
 8月 16 15:46:16 ubuntu-16 xrdp[2847]: (2847)(140703648884480)[DEBUG] Testing if xrdp can listen on 0.0.0.0 port 33
 8月 16 15:46:16 ubuntu-16 xrdp[2847]: (2847)(140703648884480)[DEBUG] Closed socket 7 (AF_INET 0.0.0.0:3389)
 8月 16 15:46:16 ubuntu-16 systemd[1]: xrdp.service: Can't open PID file /var/run/xrdp.pid (yet?) after start: No s
 8月 16 15:46:17 ubuntu-16 systemd[1]: Started xrdp daemon.
 8月 16 15:46:18 ubuntu-16 xrdp[2849]: (2849)(140703648884480)[INFO ] starting xrdp with pid 2849
 8月 16 15:46:18 ubuntu-16 xrdp[2849]: (2849)(140703648884480)[INFO ] listening to port 3389 on 0.0.0.0
 起動は、「enable」ができないので、システムを再起動する都度、必要です。

4. 接続

 以下、何故か、一度、ローカルの環境で「Ubuntu」に一度ログインして、ログアウトしておかないと接続してからデスクトップが有効にならないようです。  なんか、動作していない「Daemon」がいるようなのですが、よくわかりません。  クライアント「Windows10 Home version 2004」から接続してみます。  「リモートデスクトップ接続」を起動して  「コンピュータ欄」に「Windows10」で認識しているホスト名もしくは IP アドレスを入力。  「資格情報を記憶する」にして「ユーザ名」「パスワード」をあらかじめ入力しておく方が手間が省けます。  「接続」
「Windows10」-「リモートデスクトップ接続」

 「このコンピュータの接続について今度確認しない」にチェックをいれて
 「はい」

「Windows10」-「リモートデスクトップ接続」「ID を識別できません」

 パスワードを入力して
 「認証」

「Ubuntu 16.04」-「認証が必要です」

 もう一度、同じダイアログが表示されますが、そちらは「キャンセル」にします。

 ログインできました。

「Ubuntu 16.04」-「ログイン直後」

5. Visual Studio Code 起動

 実は、今回のミッションは、「Ubuntu 16.04」でリモートから「Visual Studio Code」を使用するというのが最終目標でありまして・・・。  とりあえず、「Visual Studio Code」のインストールは、「root」ユーザで下記のコマンド一発。

snap install --classic code
 「スタート」→「プログラミング」→「Visual Studio Code」
「Ubuntu 16.04」-「スタート」→「プログラミング」→「Visual Studio Code」

 起動できました。

「Ubuntu 16.04」-「Visual Studio Code」

TSUKUMOネットショップ高速大容量レンタルサーバ10GSirusi
 
 
カウンタバックグラウンド