xrdp+GNOME desktopのインストールとセットアップ on Fedora 27 Server

By | 2018年6月16日

はじめに

NUCにインストールしたFedora 27 Serverはおかげさまで、今のところ問題なく稼働しています。

ただ、インストールしたのはServerですので、GUI系のパッケージがほとんどインストールされていません。

先代の小型PCと同様に、NUCにはキーボード及びマウスを接続しないで稼働させるのが前提なので、リモートからのアクセスが基本です。そんなわけで、GUI系のパッケージのインストールはリモートからのアクセスに必要な分だけにとどめておきたいところですが…

いろいろと入っちゃうんですよね… (´・ω・`)

そこで、NUCにまず最初にxrdpをインストールしてみて、リモートデスクトップに必要なパッケージをインストールしてみることにしました。さらにリモートデスクトップでのアクセスに成功したところで、いつの間にか登場していたFedora 28へのアップグレードを行うこととしました。

この記事では上記のうち、xrdp及びGNOME desktop のインストール並びにセットアップについて書いていきます。

スポンサーリンク

xrdpのインストール。

まず、NUCにxrdpをインストールします。

例によってdnfコマンドを使用します。

# dnf install xrdp
メタデータの期限切れの確認は、0:02:07 時間前の 2018年06月14日 19時50分42秒 に実施しました。
依存性が解決されました。
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリ サイズ
================================================================================
インストール:
xrdp x86_64 1:0.9.6-4.fc27 updates 424 k
依存関係のインストール:
tigervnc-license noarch 1.8.0-5.fc27 updates 34 k
tigervnc-server-minimal x86_64 1.8.0-5.fc27 updates 1.1 M
xorg-x11-server-Xorg x86_64 1.19.6-7.fc27 updates 1.5 M
xorg-x11-xauth x86_64 1:1.0.9-9.fc27 fedora 36 k
xorg-x11-xinit x86_64 1.3.4-16.fc27 fedora 56 k
xorgxrdp x86_64 0.2.6-1.fc27 updates 66 k

トランザクションの要約
================================================================================
インストール 7 パッケージ

総ダウンロードサイズ: 3.2 M
パッケージ展開後のサイズ: 8.6 M
これでいいですか? [y/N]: y
パッケージをダウンロードしています:
(1/7): xorg-x11-xauth-1.0.9-9.fc27.x86_64.rpm 519 kB/s | 36 kB 00:00
(2/7): xorg-x11-xinit-1.3.4-16.fc27.x86_64.rpm 585 kB/s | 56 kB 00:00
(3/7): xrdp-0.9.6-4.fc27.x86_64.rpm 2.8 MB/s | 424 kB 00:00
(4/7): xorgxrdp-0.2.6-1.fc27.x86_64.rpm 775 kB/s | 66 kB 00:00
(5/7): tigervnc-license-1.8.0-5.fc27.noarch.rpm 311 kB/s | 34 kB 00:00
(6/7): xorg-x11-server-Xorg-1.19.6-7.fc27.x86_6 4.4 MB/s | 1.5 MB 00:00
(7/7): tigervnc-server-minimal-1.8.0-5.fc27.x86 2.4 MB/s | 1.1 MB 00:00
——————————————————————————–
合計 1.5 MB/s | 3.2 MB 00:02
トランザクションの確認を実行中…
トランザクションの確認に成功しました。
トランザクションのテストを実行中…
トランザクションのテストに成功しました。
トランザクションを実行中…
準備中 : 1/1
インストール : tigervnc-license-1.8.0-5.fc27.noarch 1/7
インストール : tigervnc-server-minimal-1.8.0-5.fc27.x86_64 2/7
インストール : xorg-x11-server-Xorg-1.19.6-7.fc27.x86_64 3/7
インストール : xorgxrdp-0.2.6-1.fc27.x86_64 4/7
インストール : xorg-x11-xauth-1:1.0.9-9.fc27.x86_64 5/7
インストール : xorg-x11-xinit-1.3.4-16.fc27.x86_64 6/7
インストール : xrdp-1:0.9.6-4.fc27.x86_64 7/7
Running scriptlet: xrdp-1:0.9.6-4.fc27.x86_64 7/7
Running as unit: run-r14ab1622265f48a0a540a57fed2e1afb.service
検証中 : xrdp-1:0.9.6-4.fc27.x86_64 1/7
検証中 : xorg-x11-xinit-1.3.4-16.fc27.x86_64 2/7
検証中 : xorg-x11-xauth-1:1.0.9-9.fc27.x86_64 3/7
検証中 : tigervnc-server-minimal-1.8.0-5.fc27.x86_64 4/7
検証中 : xorgxrdp-0.2.6-1.fc27.x86_64 5/7
検証中 : xorg-x11-server-Xorg-1.19.6-7.fc27.x86_64 6/7
検証中 : tigervnc-license-1.8.0-5.fc27.noarch 7/7

インストール済み:
xrdp.x86_64 1:0.9.6-4.fc27
tigervnc-license.noarch 1.8.0-5.fc27
tigervnc-server-minimal.x86_64 1.8.0-5.fc27
xorg-x11-server-Xorg.x86_64 1.19.6-7.fc27
xorg-x11-xauth.x86_64 1:1.0.9-9.fc27
xorg-x11-xinit.x86_64 1.3.4-16.fc27
xorgxrdp.x86_64 0.2.6-1.fc27

完了しました!

 
意外に依存しているパッケージが少ないようです。


スポンサーリンク

xrdpのバージョンが0.9.6になっていますが、0.7.0より後のバージョンからライセンスがApache 2.0 Licenseに変わったようです。

GNOME desktopなどのインストール。

xrdpの設定は後回しにして、先にGNOME desktop等をインストールしてしまいます。

root権限で以下のコマンドを実行します。

# dnf install gnome-desktop gnome-terminal gnome-session tigervnc-server xrdp-selinux gnome-settings-daemon gnome-shell
(出力は省略します。)

 
gnome-shell以外のパッケージは新規にインストールする必要のある依存パッケージが少なすぎるような気もしますけど、気にせずに進めます。

フォントと壁紙のインストール。

root権限で以下のコマンドを実行し、フォントをインストールします。ついでに壁紙もインストールしておきます。

# dnf install font* f27-backgrounds-gnome

 
フォントについては全部入りにしました。結構な数のパッケージがインストールされます。

xrdpを使用するための設定。

xrdpを使ったNUCへのアクセスを可能にするために、以下の設定を行います。

firewallの設定


スポンサーリンク

root権限で以下のコマンドを実行し、TCPの3389番ポートを開けておきます。

# firewall-cmd –zone=FedoraServer –add-port=3389/tcp
# firewall-cmd –zone=FedoraServer –add-port=3389/tcp –permanent

 

gdmを使用可能にするための設定

GNOME desktopなどのインストールの際にgdmもインストールされるので、NUCの起動時に一緒に起動するように設定します。

root権限で以下のコマンドを実行しておきます。

# systemctl start gdm
# systemctl enable gdm

 

serviceとしての設定

root権限で以下のコマンドを実行し、お試しで起動しつつ、NUCの起動時にも起動するよう設定します。

# systemctl start xrdp
# systemctl enable xrdp

 

vncserverの設定


スポンサーリンク

vncserverの設定は以下の手順で行います。

  1. root権限で以下のコマンドを実行し、vncserver@.serviceファイルを/etc/systemd/systemの下にコピーします。
    # cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system

     

  2. /etc/systemd/system/vncserver@.serviceを編集し、以下の部分を変更した後、保存します。
    • ファイル中にある<USER>をxrdpを使用するuserに置き換えます。
    • ExecStartの行を以下のように書き換えます。
      ExecStart=/usr/bin/vncserver %i

       

  3. root権限で以下のコマンドを実行します。
    # systemctl daemon-reload

     

  4. root権限で以下のコマンドを実行し、ディスプレイ番号を割り当てます。以下の例ではディスプレイ番号として10を割り当てています。
    # systemctl enable vncserver@:10.service

     

  5. ここで、NUCを再起動します。

vncpasswdによるパスワードの設定。

スポンサーリンク

以下のコマンドをxrdpを使用するuserの権限で実行し、パスワードを設定します。

$ vncpasswd

 

/etc/X11/Xwrapper.configの作成

/etc/X11/Xwrapper.configを作成し、以下のように記述して保存します。

allowed_users=anybody

 

/usr/libexec/xrdp/startwm-bash.shにsleepを追加。

このあたりの記事を参考にして、/usr/libexec/xrdp/startwm-bash.shを以下のように変更します。

#!/bin/bash -l
sleep 5
. /usr/libexec/xrdp/startwm.sh

 
雑な修正ではありますが、2行目にsleep文を追加しています。

Windows 10からアクセスしてみる。

とりあえずアクセス。

ここまでの設定が終わったところで、Windows 10のリモートデスクトップを起動して以下の手順でアクセスしてみます。なお、Windows 10では「リモートデスクトップ接続」はWindowsキーをクリックすると表示されるポップアップメニューでは「Windowsアクセサリ」の下にあります。

  1. 「リモートデスクトップ接続」をポップアップメニューから選択すると以下のポップアップウィンドウが表示されますので、ホスト名を入力して、「接続」ボタンをクリックします。
  2. 以下のようなxrdpのログイン画面が表示されますので、username及びpasswordにvncpasswdコマンドで指定したユーザ名及びパスワードを入力し、「OK」ボタンを押します。
  3. これでNUCにログインできるはず… なのですが、以下のような画面が表示されたら、再度パスワードを入力し、「認証」をクリックします。
  4. 今度こそNUCにログインできるはず…なのですは、以下のような画面が表示されたら、再度パスワードを入力し、「認証」をクリックします。
  5. 以下のような画面が表示されれば、NUCへのログインに成功しています。お疲れさまでした。

pcsc-liteパッケージ等の削除

ログインするごとに”Authentication is required to access the PC/SC daemon”ダイアログが表示されて、パスワードの入力が必要になってしまうのはちょいと手間なのと、ICカードリーダは当面の間使う見込みがないので、root権限で以下のコマンドを実行し、pcsc-liteパッケージ及びそれに依存するパッケージを削除してしまいました。

# dnf remove pcsc-lite

 
これで、”Authentication is required to access the PC/SC daemon”ダイアログは表示されなくなります。

まとめ

ここまで、リモートからのアクセスに必要なパッケージだけをインストールしようと努力していたわけですが、gdmを動かさないままの状態で動作確認を始めてしまい、丸一日ハマってしまいました。

gdmがインストールされてなければ、xrdpは動くわけないですよね… (´・ω・`)

あと、フォントはいろいろな言語のものが最近はインストールされますので、データ量が一昔前と比べると随分と増えた印象です。

前節の一番最後の図のメニューバーの右側付近を見ていただけるとわかりやすいかと思いますが、日本語の変換処理の設定等はこの段階ではまだ行っていません。日本語の変換処理の設定等については記事を改めて書くつもりでしたが、こちらの記事とほぼ同じ方法でできましたので、こちらを参照していただければと思います。

この記事は以上です。

参考文献