概要
最近、古いサーバやノートPCを実験台に使うにはLXDがいろいろと勝手が良い(少ないメモリでも動く、マイグレーションしやすい)ことがわかった。
ということで、デスクトップ環境もLXDとxrdpで準備。
- ホストOS: Ubuntu 18.04 LTS Server
- LXD: 3.1.0 (snap版)
- LXDコンテナはホストと同じネットワークにブリッジ接続(設定方法は拙記事Ubuntu 18.04 Server + LXDでブリッジ接続する - Qiitaを参照)
コンテナ起動
$ lxd launch ubuntu:18.04 MATEDESKTOP
コンテナのIPアドレス固定
Ubuntu 18.04からはネットワークの設定がnetplanになっていて設定方法が変わっているので注意。
以下のは
- コンテナのIP :
192.168.10.228
- サブネットマスク :
255.255.255.0
(netplanでは/24
で指定) - ゲートウェイ :
192.168.10.253
- DNSサーバ:
192.168.10.234
と192.168.10.236
- IPv6 : 使用しない
という設定。
# vi /etc/netplan/99_config.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: false
dhcp6: false
addresses: [192.168.10.228/24]
gateway4: 192.168.10.253
nameservers:
addresses: [192.168.10.234, 192.168.10.236]
# ip addr flush eth0
# netplan apply
lxd launch
時にDHCPで割り当てられているIPアドレスをip addr flush eth0
で消し、
netplanの設定をnetplan apply
で適用。
MATEデスクトップ環境のインストール
今回はデスクトップ環境としてMATEをインストールしてみた。
もちろん他のデスクトップ環境も可。
# apt update
# apt install mate-desktop mate-desktop-environment mate-desktop-environment-extra mate-session-manager
xrdpのインストールと設定
Ubuntu 18.04ではxrdpのバージョンも上がっているので、普通にaptでインストール。
# apt install xrdp
デスクトップ環境にMATEを使うように設定。
LXDのコンテナには、デフォルトでubuntu
というユーザが作成されているので、
これをリモートデスクトップの接続用ユーザにする。
# echo "mate-session" > /home/ubuntu/.xsession
# chown ubuntu:ubuntu /home/ubuntu/.xsession
接続用ユーザのパスワードを設定しておく。
# passwd ubuntu
RDP接続する
これでWindowsのリモートデスクトップから接続できるはず
アプリケーションをインストール
MATEターミナルから必要なソフトウェアをインストールして、
デスクトップ環境として使えるようにすればOK。
$ sudo apt install chromium-browser
$ sudo apt install firefox
トラブルシューティング
GUIからログアウトできないとき
インストールするパッケージが不足したりすると、デスクトップ画面にログアウトが表示されなかったりする。
そんなときはターミナルを起動(ショートカットはCtrl + Alt + T)して以下のように入力する。
mate-session-save --logout
リモートデスクトップのセッションがフリーズしたとき
ホストからlxc exec MATEDESKTOP /bin/bash
でコンテナに入り、
xrdp-sesman
というプロセスをkill
。
どうしようもないとき
コンテナを削除してから再度作成してしまえばOK。
仮想マシンよりも高速に削除や作成ができるコンテナならでは。