Hyper-V Server 2012 R2はWindows Server 2012 R2付属のHyper-Vサーバ機能に特化した無償の仮想化ソフトウェアです。
(Hyper-V Server 2012 R2の導入・活用手順については「無償のHyper-V Server 2012 R2利用」をご参照下さい)
2013年12月17日にFedora 20がリリースされましたがFedora 20にはHyper-V Server(2012 R2)環境で動作するようにHyper-VのLIS(Linux Integration Services) ver 3.5相当のコンポーネントがビルトインされています。
Hyper-VのLIS ver 3.5の正式リリースは2013年12月19日ですから「LIS 3.5相当」という表現を使用しています。
LIS 3.5の大きな特徴はフルHDの解像度1920x1080(かつ32ビットカラー)をサポートしたhyperv_fbカーネルドライバの搭載です。
hyperv_fbカーネルドライバを搭載しているFedora 20のユニークな特徴として「Hyper-V環境での3Dデスクトップサポート」があります。
しかもFedora 20にxrdp(RDPサーバ)を導入して他のPCからFedora 20にRDP接続した場合でもそのRDP接続画面内で3Dデスクトップ環境が何とか使えます。
(尚、hyperv_fbカーネルドライバを搭載しているCentOS 6.5の場合はHyper-V環境ではデスクトップ効果を有効にできません)
2013年6月にリリースされたFedora 19 MATE-Compiz Spin Liveでは「LIS 3.4相当」のものが内蔵されていましたが当然ながらhyperv_fbは含まれていません。
(Fedora 19 MATE-Compiz Spin LiveではCompiz Fusion Iconの[Compiz Options]で[Indirect Rendering]オプションを有効にした場合に3Dデスクトップがスムーズに利用できます)
ここではHyper-V Server 2012 R2環境でのFedora 20 MATE-Compiz Spin Live(英語版)のRDPサーバ環境構築を中心にその導入・利用方法について紹介致します。
今回使用したPCのハードウェア/ソフトウェア構成は以下の通りです。
#!/bin/bash exec mate-session ※Fedora 20 MATE-Compiz Spin Liveのセッションマネジャ自体が「mate-session」のため。 |
$ su - # yum -y install xrdp # systemctl start xrdp.service (このコマンドでxrdp-sesmanサービスも自動起動されます) # firewall-cmd --zone=public --add-service=ms-wbt (これはRDPポート[3389/tcp]の開放を行うファイアウォールの設定です) |
connecting to sesman ip 127.0.0.1 port 3350 sesman connect ok sending login info to session manager,please wait... xrdp_mm_process_login_response:login successful for display started connecting connecting to 127.0.0.1 5910 ※場合によっては5911等になる場合もあります tcp connected security level is 2(1 = none,2 = standard) password ok sending share flag receiving server init receiving pixel format receiving name length receiving name sending pixel format sending encodings sending framebuffer update request sending cursor connection complete,connected ok |
$ su - # yum -y install wget # wget http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm # rpm -ivh rpmfusion-free-release-stable.noarch.rpm # yum -y install cairo-dock |
# yum -y install freerdp # xfreerdp --no-nla --rfx-mode video --composition -x lan -a 32 -u ユーザ名 -p パスワード HVSWin7Ult |
# yum install libvirt qemu ※libvirtのインストールを行う際、「systemctl enable libvirtd.service」が自動実行されます。 # reboot |
virbr0: flags=4099 |
<network> <name>default</name> <uuid>a1e17e9b-476e-40db-89a4-810a5e0cd438</uuid> <bridge name="virbr0"/> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254"/> </dhcp> </ip> </network> |
# qemu-system-i386 -machine pc -cpu athlon -m 512 \ -cdrom winxp.iso -boot once=d \ -k ja -hda qemuwinxp-flat.vmdk -vga std \ -net nic,model=ne2k_pci -net bridge,br=virbr0 -localtime |
# qemu-system-i386 -machine pc -cpu athlon -m 512 \ -usb -usbdevice mouse \ -k ja -hda qemuwinxp-flat.vmdk -vga std \ -net nic,model=ne2k_pci -net bridge,br=virbr0 -localtime |
# mount /root/qemuw31-flat.vmdk -o loop,offset=32256 /media # vi /media/CONFIG.SYS ※viでCONFIG.SYSから「device=c:\ansi.sys」という行を削除。 # umount /media |
qemu-system-i386 -machine isapc -machine -cpu 486 -m 48 \ -k ja -hda qemuw31-flat.vmdk -vga std \ -net nic,model=ne2k_isa -net user -localtime |
# yum -y install xrdp # systemctl enable xrdp.service # systemctl start xrdp.service # vi /root/.Xclients #!/bin/bash exec mate-session :wq! # chmod 755 .Xclients |
#!/bin/bash qemu-system-i386 -machine isapc -machine -cpu 486 -m 48 \ -k ja -hda qemuw31-flat.vmdk -vga std\ -net nic,model=ne2k_isa -net user -localtime |
# ./qemuwin31.sh |
# yum install bochs |
display_library: sdl megs: 48 romimage: file=/usr/share/bochs/BIOS-bochs-legacy vga: extension=vbe vgaromimage: file=/usr/share/bochs/vgabios-isavga cpu: model=pentium_mmx cpuid: apic=legacy pci: enabled=0 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=disk, mode=flat, path="/root/qemuw31-flat.vmdk", cylinders=0 ※cylinders=0指定で2GBの仮想ディスクの場合、「cylinders=4161, heads=16, spt=63」が自動認識されます。 ata0-slave: type=cdrom, path="/root/dummy.iso", status=inserted boot: disk mouse: type=imps2, enabled=1 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=slirp, script=/usr/local/bin/slirp |
# bochs -q -f bochsrc-w31.run |
... Running transaction Preparing : 1/1 Installing : xorgxrdp-0.2.2-1.fc26.x86_64 1/2 Installing : xrdp-1:0.9.2-12.fc26.x86_64 2/2 Running scriptlet: xrdp-1:0.9.2-12.fc26.x86_64 2/2 /usr/bin/mandb: can't chmod /var/cache/man/CACHEDIR.TAG: Read-only file system /usr/bin/mandb: can't remove /var/cache/man/CACHEDIR.TAG: Read-only file system /usr/bin/mandb: fopen /var/cache/man/3027: Read-only file system ... |
... VNC error - problem connecting some problem |
このコンピュータはリモートコンピュータに接続できません。 ネットワークエラーが発生したため接続が失われました。 ... |
$ sudo yum -y install xrdp $ sudo systemctl start xrdp.service $ sudo firewall-cmd --zone=public --add-service=ms-wbt $ vi .Xclients 下記の2行を設定します。 #!/bin/bash exec mate-session $ chmod 755 .Xclients |
#!/bin/bash sudo ifconfig enp5s0 192.168.0.26 netmask 255.255.255.0 sudo route add default gw 192.168.0.1 enp5s0 ifconfig enp5s0 sudo sh -c "echo 'f26matelive'>/etc/hostname" cat /etc/hostname sudo hostname f26matelive sudo sh -c "echo '192.168.0.26 f26matelive' >>/etc/hosts" cat /etc/hosts sudo yum -y install xrdp sudo systemctl start xrdp.service sudo firewall-cmd --zone=public --add-service=ms-wbt echo '#!/bin/bash'>~/.Xclients echo 'exec mate-session'>>~/.Xclients chmod 755 .Xclients sudo cat /var/log/xrdp.log sleep 5 |
[yyyymmdd-hh:mm:ss] [INFO ] starting xrdp with pid プロセスID [yyyymmdd-hh:mm:ss] [INFO ] listening to port 3389 on 0.0.0.0 ※「yyyymmdd-hh:mm:ss」は日付と時刻のタイムスタンプです。 |
$ sudo yum -y install freerdp |
$ xfreerdp /v:f26matelive /network:lan /size:800x600 /u:liveuser ※xfreerdpコマンドの指定方法はFedora 20付属のxfreerdpとは仕様が異なっています。 |
$ sudo yum -y install vinagre |