はじめに
NUCにインストールしたFedora 27 Serverはおかげさまで、今のところ問題なく稼働しています。
ただ、インストールしたのはServerですので、GUI系のパッケージがほとんどインストールされていません。
先代の小型PCと同様に、NUCにはキーボード及びマウスを接続しないで稼働させるのが前提なので、リモートからのアクセスが基本です。そんなわけで、GUI系のパッケージのインストールはリモートからのアクセスに必要な分だけにとどめておきたいところですが…
いろいろと入っちゃうんですよね… (´・ω・`)
そこで、NUCにまず最初にxrdpをインストールしてみて、リモートデスクトップに必要なパッケージをインストールしてみることにしました。さらにリモートデスクトップでのアクセスに成功したところで、いつの間にか登場していたFedora 28へのアップグレードを行うこととしました。
この記事では上記のうち、xrdp及びGNOME desktop のインストール並びにセットアップについて書いていきます。
xrdpのインストール。
まず、NUCにxrdpをインストールします。
例によってdnfコマンドを使用します。
意外に依存しているパッケージが少ないようです。
スポンサーリンク
xrdpのバージョンが0.9.6になっていますが、0.7.0より後のバージョンからライセンスがApache 2.0 Licenseに変わったようです。
GNOME desktopなどのインストール。
xrdpの設定は後回しにして、先にGNOME desktop等をインストールしてしまいます。
root権限で以下のコマンドを実行します。
gnome-shell以外のパッケージは新規にインストールする必要のある依存パッケージが少なすぎるような気もしますけど、気にせずに進めます。
フォントと壁紙のインストール。
root権限で以下のコマンドを実行し、フォントをインストールします。ついでに壁紙もインストールしておきます。
フォントについては全部入りにしました。結構な数のパッケージがインストールされます。
xrdpを使用するための設定。
xrdpを使ったNUCへのアクセスを可能にするために、以下の設定を行います。
firewallの設定
root権限で以下のコマンドを実行し、TCPの3389番ポートを開けておきます。
gdmを使用可能にするための設定
GNOME desktopなどのインストールの際にgdmもインストールされるので、NUCの起動時に一緒に起動するように設定します。
root権限で以下のコマンドを実行しておきます。
serviceとしての設定
root権限で以下のコマンドを実行し、お試しで起動しつつ、NUCの起動時にも起動するよう設定します。
vncserverの設定
vncserverの設定は以下の手順で行います。
- root権限で以下のコマンドを実行し、vncserver@.serviceファイルを/etc/systemd/systemの下にコピーします。
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system
- /etc/systemd/system/vncserver@.serviceを編集し、以下の部分を変更した後、保存します。
- ファイル中にある<USER>をxrdpを使用するuserに置き換えます。
- ExecStartの行を以下のように書き換えます。
ExecStart=/usr/bin/vncserver %i
- root権限で以下のコマンドを実行します。
# systemctl daemon-reload
- root権限で以下のコマンドを実行し、ディスプレイ番号を割り当てます。以下の例ではディスプレイ番号として10を割り当てています。
systemctl enable vncserver@:10.service
- ここで、NUCを再起動します。
vncpasswdによるパスワードの設定。
以下のコマンドをxrdpを使用するuserの権限で実行し、パスワードを設定します。
/etc/X11/Xwrapper.configの作成
/etc/X11/Xwrapper.configを作成し、以下のように記述して保存します。
/usr/libexec/xrdp/startwm-bash.shにsleepを追加。
このあたりの記事を参考にして、/usr/libexec/xrdp/startwm-bash.shを以下のように変更します。
雑な修正ではありますが、2行目にsleep文を追加しています。
Windows 10からアクセスしてみる。
とりあえずアクセス。
ここまでの設定が終わったところで、Windows 10のリモートデスクトップを起動して以下の手順でアクセスしてみます。なお、Windows 10では「リモートデスクトップ接続」はWindowsキーをクリックすると表示されるポップアップメニューでは「Windowsアクセサリ」の下にあります。
- 「リモートデスクトップ接続」をポップアップメニューから選択すると以下のポップアップウィンドウが表示されますので、ホスト名を入力して、「接続」ボタンをクリックします。
- 以下のようなxrdpのログイン画面が表示されますので、username及びpasswordにvncpasswdコマンドで指定したユーザ名及びパスワードを入力し、「OK」ボタンを押します。
- これでNUCにログインできるはず… なのですが、以下のような画面が表示されたら、再度パスワードを入力し、「認証」をクリックします。
- 今度こそNUCにログインできるはず…なのですは、以下のような画面が表示されたら、再度パスワードを入力し、「認証」をクリックします。
- 以下のような画面が表示されれば、NUCへのログインに成功しています。お疲れさまでした。
pcsc-liteパッケージ等の削除
ログインするごとに”Authentication is required to access the PC/SC daemon”ダイアログが表示されて、パスワードの入力が必要になってしまうのはちょいと手間なのと、ICカードリーダは当面の間使う見込みがないので、root権限で以下のコマンドを実行し、pcsc-liteパッケージ及びそれに依存するパッケージを削除してしまいました。
これで、”Authentication is required to access the PC/SC daemon”ダイアログは表示されなくなります。
まとめ
ここまで、リモートからのアクセスに必要なパッケージだけをインストールしようと努力していたわけですが、gdmを動かさないままの状態で動作確認を始めてしまい、丸一日ハマってしまいました。
gdmがインストールされてなければ、xrdpは動くわけないですよね… (´・ω・`)
あと、フォントはいろいろな言語のものが最近はインストールされますので、データ量が一昔前と比べると随分と増えた印象です。
前節の一番最後の図のメニューバーの右側付近を見ていただけるとわかりやすいかと思いますが、日本語の変換処理の設定等はこの段階ではまだ行っていません。日本語の変換処理の設定等については記事を改めて書くつもりでしたが、こちらの記事とほぼ同じ方法でできましたので、こちらを参照していただければと思います。
この記事は以上です。