CentOS7のGUI環境をWindows側からリモートデスクトップを用いて使用する方法です。
CentOS側にGNOME Shellが既にインストールされてる状態を想定しています。
インストール環境
Centos7:CentOS Linux release 7.4.1708
Windows:Windows 10 Enterprise
xrdpバージョン:xrdp-0.9.4-1.el7.x86_64
#Centos7側の設定(xrdpのインストール等)
Windows側からリモートデスクトップ接続するにはCentOS側にxrdp, tigervnc-serverをインストールする必要があります。
また、それらのパッケージをインストールするには「エンタープライズLinux用拡張パッケージ」を利用する必要があります。
その拡張パッケージを利用するには
epel-releaseをyumでインストールします。
$ su -
# yum install y epel-release
また、今後yumコマンドを利用する際にepel-releaseを参照しないようにしたい場合にはepel.repoファイルの一部(enableの値:1→0)を変更しましょう。
# vi /etc/yum.repos.d/epel.repo
変更前
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
以下略...
変更後
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
xrdpとtigervnc-serverをインストールする。
その際、先ほどインストールしたepel-releaseを一時的に有効にしインストールします。
# yum --enablerepo=epel install y xrdp
# yum --enablerepo=epel install y tigervnc-server
次にリモートデスクトップ接続した際に日本語キーボードが使用できるようにします。
日本語キーボードを対応させるための参考Webページがありましたのでこちらを参考にしています。
https://forums.ubuntulinux.jp/viewtopic.php?id=13399
km-e0010411.iniの中身は
https://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
となります。vimもしくはwgetコマンド等でダウンロードしてください。今回はvimでファイルを作成し編集しています。
# cd /etc/xrdp/
# vi km-e0010411.ini
# cp km-e0010411.ini km-0411.ini
# cp km-e0010411.ini km-e0200411.ini
# cp km-e0010411.ini km-e0210411.ini
xrdp.serviceを起動し、OS起動時に自動実行させるようにします。
# systemctl start xrdp.service
# systemctl enable xrdp.service
リモートデスクトップ接続を可能にするためにファイヤーウォールの変更(TCP3389)を許可する。
--permanentを入れることで恒久的に変更することができます。環境に応じで--zone部分の変更を行ってください。この環境ではpublicゾーンを利用しています。
--list-allで設定が完了しているかの確認をするといいと思います。
# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload
# firewall-cmd --list-all
#windows側からのリモートデスクトップ接続
windowsにデフォルトでインストールされている「リモートデスクトップ」を起動します。
コンピュータ欄にCentOS側のIPアドレスを入力し接続する。
「username」と「password」はCentOS側で追加しているユーザ名とパスワードを入力することでリモートデスクトップ接続が完了します。
#参考ページ
xrdpの導入方法
https://kogelog.com/2015/03/02/20150302-01/
Ubuntu日本語フォーラム 日本語キーボード適応時に参照
https://forums.ubuntulinux.jp/viewtopic.php?id=13399