Hyper-V Server 2012 R2はWindows Server 2012 R2付属のHyper-Vサーバ機能に特化した無償の仮想化ソフトウェアです。
(Hyper-V Server 2012 R2の導入・活用手順については「無償のHyper-V Server 2012 R2利用」をご参照下さい)
2014年7月7日にCentOS 7.0がリリースされましたが64ビット版だけのサポートとなりました。
このCentOS 7はCentOS 6.5同様にHyper-V Server(2012 R2)環境で動作するようにHyper-VのLIS(Linux Integration Services) ver 3.5のコンポーネントがビルトインされています。
(Hyper-VのLIS ver 3.5の正式リリースは2013年12月19日です)
CentOS 6.5ではEPEL版のxrdp 0.5.0が利用できていましたが2014年9月2日時点ではCentOS 7向けのEPEL版xrdpはまだリリースされていません。
(EPELとはExtra Packags for Enterprise Linuxの略でFedoraで開発したパッケージをRHEL/CentOSで利用できるようにしたリポジトリです)
しかしCentOS 6.5上で開発されているX11RDP-RH-Maticを使用すればCentOS 6.5用だけでなくCentOS 7用のxrdpパッケージも簡単に作成することができます。
そこで今回はHyper-V Server 2012 R2環境での64ビット版CentOS 7でのX11RDP-RH-Matic 1.0.4(2014年8月21日リリース)の使用によるxrdp 0.9.0パッケージの生成とその利用例について紹介致します。
尚、http://xrdp.vmeta.jp/X11RDP-RH-Matic(X11RDP-RH-Matic - 日本xrdpユーザ会」の2014年9月9日時点の公開情報はこちらのpdfで確認できます。
今回使用したPCのハードウェア/ソフトウェア構成は以下の通りです。
# visudo 「root ALL=(ALL) ALL」という行の下に「amber ALL=(ALL) ALL」という行を追加して「:wq!」で保存します。 |
# yum install ftp |
# firewall-cmd --permanent --zone=public --add-service=ms-wbt # systemctl restart firewalld.service |
$ cd ※/home/amberがカレントディレクトリになります $ sudo git clone --depth 1 -b master https://github.com/metalefty/X11RDP-RH-Matic.git ※masterブランチの取得 [sudo] password for amber: ここでamberユーザのパスワードを入力 Cloning into 'X11RDP-RH-Matic'... remote: Counting objects: 19, done. remote: Compressing objects: 100% (19/19), done. remote: Total 19 (delta 0), reused 13 (delta 0) Unpacking objects: 100% (19/19), done. $ cd X11RDP-RH-Matic/ $ ./X11RDP-RH-Matic.sh ./X11RDP-RH-Matic.sh: 行 395: .PID: 許可がありません Allow X11RDP-RH-Matic to gain root privileges. Type your password if required. First of all, checking for necessary programs to run this script... Checking for yum-utils... yes Checking for dialog... no Installing dialog... Following command will be executed via sudo: yum -y install dialog done Checking for rpm-build... yes <<途中省略>> Do the following command to see build progress. $ tail -f /tmp/tmp.msC8hIBLU8.X11RDP-RH-Matic/build.log Building xrdp... done Building x11rdp... Following command will be executed via sudo: find /opt/X11rdp -delete [sudo] password for amber: ここでamberユーザのパスワードを入力 done Built RPMs are located in /home/amber/rpmbuild/RPMS/x86_64. Removing installed xrdp... done Removing installed x11rdp... done Installing built xrdp... Following command will be executed via sudo: yum -y localinstall /home/amber/rpmbuild/RPMS/x86_64/xrdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm done Installing built x11rdp... Following command will be executed via sudo: yum -y localinstall /home/amber/rpmbuild/RPMS/x86_64/x11rdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm done これでビルドとインストールの完了です。 |
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.GTsjkV + umask 022 + cd /home/amber/rpmbuild/BUILD + cd /home/amber/rpmbuild/BUILD + rm -rf neutrinolabs-xrdp-5b6b745 + /usr/bin/tar -xf - + /usr/bin/gzip -dc /home/amber/rpmbuild/SOURCES/neutrinolabs-xrdp-5b6b745.tar.gz <<途中省略>> 書き込み完了: /home/amber/rpmbuild/SRPMS/xrdp-0.9.0.git5b6b745+master-1.el7.centos.src.rpm 書き込み完了: /home/amber/rpmbuild/RPMS/x86_64/xrdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm 書き込み完了: /home/amber/rpmbuild/RPMS/x86_64/xrdp-debuginfo-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.mXbsa7 + umask 022 + cd /home/amber/rpmbuild/BUILD + cd neutrinolabs-xrdp-5b6b745 + rm -rf /home/amber/rpmbuild/BUILDROOT/xrdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64 + exit 0 patching file buildx.sh Hunk #1 succeeded at 151 (offset -99 lines). patching file x11_file_list.txt Following command will be executed via sudo: ./buildx.sh /opt/X11rdp dir does not exist, creating [/opt/X11rdp] using /opt/X11rdp *** processing module Python-2.7 (1 of 102) *** downloading file http://www.club.kyutech.ac.jp/~meta/distfiles/xrdp/X11R7.6/Python-2.7.tar.bz2 executing ./configure --prefix=/opt/X11rdp <<途中省略>> *** processing module xorg-server-1.9.3 (62 of 102) *** downloading file http://www.club.kyutech.ac.jp/~meta/distfiles/xrdp/X11R7.6/xorg-server-1.9.3.tar.bz2 executing ./configure --prefix=/opt/X11rdp --with-sha1=libcrypto --disable-dmx --without-dtrace <<途中省略>> 書き込み完了: /home/amber/rpmbuild/SRPMS/x11rdp-0.9.0.git5b6b745+master-1.el7.centos.src.rpm 書き込み完了: /home/amber/rpmbuild/RPMS/x86_64/x11rdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.bOupnl + umask 022 + cd /home/amber/rpmbuild/BUILD + /usr/bin/rm -rf /home/amber/rpmbuild/BUILDROOT/x11rdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64 + exit 0 |
$ sudo shutdown -h now |
# rpm -ivh xrdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm |
#!/bin/sh #start the window manager wm_start() { if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi export LANG=ja_JP.UTF8 # debian <<以下省略>> |
# cp km-e0010411.ini /etc/xrdp/km-0411.ini # cd /etc/xrdp # ln -s km-0411.ini km-e0010411.ini # ln -s km-0411.ini km-e0200411.ini # ln -s km-0411.ini km-e0210411.ini |
# rpm -ivh xrdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm |
# rpm -ivh x11rdp-0.9.0.git5b6b745+master-1.el7.centos.x86_64.rpm |
# ln -s /opt/X11rdp/share/fonts/X11 /usr/share/fonts/X11 |
# systemctl stop xrdp.service ※xrdp-sesmanも自動停止されます。 # xrdp -ns & # su - amber ※RDP接続用ユーザへの切り替え $ X11rdp -uds :10 ※「-uds :10」は「create and listen on /tmp/.xrdp/xrdp_display_10」を意味します。 ここで更に別端末を起動して以下のコマンドを実行します。 # su - amber $ export DISPLAY=:10 $ gnome-session(またはgnome-session --session=gnome-classicを指定) |
# rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm # yum groupinstall xfce |
# systemctl stop xrdp.service ※xrdp-sesmanも自動停止されます。 # xrdp -ns & # su - amber ※RDP接続用ユーザへの切り替え $ X11rdp -uds :10 ※「-uds :10」は「create and listen on /tmp/.xrdp/xrdp_display_10」を意味します。 ここで更に別端末を起動して以下のコマンドを実行します。 # su - amber $ export DISPLAY=:10 $ xfce4-session |
# su - amber $ vi .Xclients ※以下の3行から成るファイル(/home/amber/.Xclients)を作成します。
|
[INFO ] A connection received from: 127.0.0.1 port 48088 [INFO ] scp thread on sck 8 started successfully [INFO ] ++ created session (access granted): username amber, ip RDP接続要求元のIPアドレス:47362 - socket: 8 [INFO ] starting X11rdp session... [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 11 [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 11 [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 11 [INFO ] An established connection closed to endpoint: 127.0.0.1:48088 - socket: 8 [INFO ] An established connection closed to endpoint: NULL:NULL - socket: 7 [INFO ] An established connection closed to endpoint: 127.0.0.1:48088 - socket: 8 [INFO ] X11rdp start:X11rdp :10 -geometry 1024x768 -depth 24 -bs -ac -nolisten tcp -uds [INFO ] starting xrdp-sessvc - xpid=2500 - wmpid=2499 |
[INFO ] ++ terminated session: username amber, display :10.0, session_pid 2498, ip RDP接続要求元のIPアドレス:47362 - socket: 8 |
# xfreerdp --no-tls localhost |
# rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-1.noarch.rpm # yum install xrdp # yum install x11rdp |