treedown’s Report

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

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

Debianのxrdp環境を整備してCinnamonとMATEを比べる

DebianのGUI環境を使ってみようと思ったのをきっかけに、使っていないPCにインストールしてxrdp環境を導入してみましたのでご報告です。
xrdpの導入メモみたいになっています。

発端

古いIntel NUCであるDCCP847DYEが余剰していたので、DebianのGUI環境を導入してみようと思い、インストールを実施してみました。

メモリ8GB搭載し、mSATAとはいえSSD環境なのでWindows環境でも事務作業程度ではマズマズ動作するのですが、CPUがIntel Celeron847であることが弱点となっています。

Debianインストール

Debianのインストールは標準的なインストールで完了させたので割愛。ISOファイルはdebian-11.7.0-amd64-netinst.isoを使いました。

ソフトウェアの選択でCinnamonとMATEの二つを導入しました。

基本的にはCinnamonを使うけど、CPUの都合であまり動作が芳しくないようならMATEをメインに使用という狙いです。

OSインストールが完了した状態からスタートです。

xrdpを導入する

コンソールでログイン時にCinnamonに切り替えてログインするとCinnamonデスクトップが画面に表示されます。

ターミナルでxrdpをインストールしていきます。

# apt install xrdp

リモートデスクトップ接続を受け付けるRDPサーバが導入されます。

以前に、

繋がらないxrdpをとりあえず繋げる - treedown’s Report

Raspberry Piのxrdpに繋がらなくなった - treedown’s Report

であったように、追加でvnc4serverやtigervnc-standalone-serverが必要になった場合には、都度必要になったタイミングで導入するようにします。(ここでは導入していません。)

xrdpのインストールが完了したら、

# systemctl enable xrdp

でxrdpが自動起動するように設定。

# systemctl status xrdp

にて出力を確認しておきます。

--------------------------------------------------------------
● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-05-11 17:32:40 JST; 27s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
   Main PID: 2132 (xrdp)
      Tasks: 1 (limit: 9277)
     Memory: 760.0K
        CPU: 36ms
     CGroup: /system.slice/xrdp.service
             └─2132 /usr/sbin/xrdp
--------------------------------------------------------------

「Active: active (running) 」の表記が確認できれば、設定できているといえそうです。(起動していない場合には「systemctl start xrdp」でサービススタート)

次いでxrdpユーザに証明書へのアクセス権を付与しておきます。

# adduser xrdp ssl-cert

実行すると、

--------------------------------------------------------------
# adduser xrdp ssl-cert
ユーザ `xrdp' をグループ `ssl-cert' に追加しています...
ユーザ xrdp をグループ ssl-cert に追加
完了。
--------------------------------------------------------------

このように完了を確認できれば正常終了しています。

Cinnamonデスクトップで接続する

ここまでで、xrdpを使ってWindows側のリモートデスクトップ接続を使って、Debian側のxrdp(RDPサーバ)側へ接続する準備が完了しています。

さっそく接続したのですが、

MATEデスクトップで接続されてしまいます。Cinnamonで接続することを期待していたのですが、CinnamonとMATEの両方インストールしたからどっちかが優先されてしまう、ということなんでしょうか。

以前自分がやった時のメモを参考にして、xrdp環境でCinnamonが使われるように設定を入れていきます。

"/home/%USDERNAME%/"配下の設定ファイルから.Xclientsと.xsessionを用意して設定します。
存在しない場合には、
「touch .Xclients」と「touch .xsession」で作成してからviコマンドで編集。

内容には、「cinnamon-session」とだけ記述しておきます。

こういう感じ。

※たぶん.Xclientsはいらないような気がするけど、いちおう作成から設定をやっています。

あと、いらない可能性もあるけど、いちおう「/etc/xrdp/startwm.sh」の末尾にも「cinnamon-session」の記述を追記しておきました。

この状態で、Debianに再びリモートデスクトップ接続を実行してみたところ、

無事CinnamonデスクトップでRDP接続を実行することができました。

負荷を確認してみる

どれくらい動作するものかが想像つかなかったので、まずはDebianをインストールしてみて、動作状況を確認してみることにしました。

元々それほど重い処理をする目的でDCCP847DYEを購入していなかったため、CPUが処理のネックになるだろうとは思っていました。

ただ、起動時するだけで

CPUは50%-60%くらいでずっとOSやGUIの処理にかかりっきりになっています。スタートメニューを開いたり閉じたるするだけでCPU使用率のグラフが大きく振れてしまっています。(図中の上振れしている部分がスタートメニューをクリックしたタイミング)

メモリの使用量やディスクアクセスは全然なのですが、このCPUの処理の遅さは脚を引っ張ってしまいそうな感じがします。

MATEなら違うのかな、と思って比べてみることにしました。

こちらがMATEで起動した時のシステムモニターの状況です。

概ね2割程度の負荷で推移していきます。およそCinnamonデスクトップのCPU負荷と比べて半分くらいの負荷で済んでいるという感じでした。CPUが弱いPCなのでMATEデスクトップの方がいいのかなぁという感じがしてきます。