2019年6月13日木曜日

VagrantでRobocode、Xfce Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.6)を構築する

Robocodeは、プログラムでコントロールする戦車が戦うゲームです。Javaや.netを使用するプログラム言語を学ぶことができます。

〇Robocodeの画面


仮想マシンの構築方法

以下のVagrantfileを使用して、Robocode、Xfce Desktop環境、XRDPをインストールした仮想マシン(CentOS7.6)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.6"
  config.vm.hostname = "co76xfcerobocode"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co76xfcerobocode"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
yum install -y epel-release
yum check-update
yum -y update

yum -y install vlgothic-*  ipa-*-fonts unzip
yum -y groupinstall yum groupinstall "X Window System"  Xfce "Input Methods" xrdp

cat << EOF >> /home/vagrant/.Xclients
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
exec /usr/bin/xfce4-session
EOF
chmod +x /home/vagrant/.Xclients
chown vagrant:vagrant /home/vagrant/.Xclients

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service


# install JDK11
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie"   "http://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.rpm"
rpm -ivh jdk-11.0.2_linux-x64_bin.rpm

sudo mkdir -p /opt/robocode

cd /opt/robocode

sudo wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.4/robocode-1.9.3.4-setup.jar'

sudo jar xvf robocode-1.9.3.4-setup.jar

sudo chmod +x /opt/robocode/robocode.sh

cat << EOF | sudo tee /usr/share/applications/robocode.desktop
[Desktop Entry]
Type=Application
Version=1.0
Name=Robocode
GenericName=Tank AI programming game for Java and .NET
Comment=Build the best - destroy the rest!
Icon=/opt/robocode/desktop/robocode.png
Exec=/opt/robocode/robocode.sh
Categories=Game;StrategyGame;
EOF

telinit 5
SHELL
end

関連情報

・Robocodeに関する他の記事はこちらを参照してください。

・Robocodeのホームページ
https://robocode.sourceforge.io/

・ゲームに関する記事一覧は、こちらを参照してください。

0 件のコメント:

コメントを投稿