2020年5月9日土曜日

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

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

〇Robocodeの画面
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

構築方法

以下のVagrantfileを使用して、Robocode、Gnome Desktop環境、XRDPをインストールした仮想マシン(CentOS 8.1)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-8.1"
  config.vm.hostname = "co81gnomerobocode"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co81gnomerobocode"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.107", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
#localedef -i /usr/share/i18n/locales/ja_JP -f UTF-8 /usr/lib/locale/ja_JP.UTF-8
dnf -y install langpacks-ja
localectl set-locale LANG=ja_JP.UTF-8
dnf install -y epel-release
dnf check-update
dnf -y update
timedatectl set-timezone Asia/Tokyo

dnf -y groupinstall "Server with GUI" "Input Methods"
dnf -y install xrdp ibus-mozc

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install openjdk
dnf install -y java-11-openjdk-devel

# download and install robocode
mkdir -p /opt/robocode
cd /opt/robocode
wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.7/robocode-1.9.3.7-setup.jar'
jar xvf robocode-1.9.3.7-setup.jar
chmod +x /opt/robocode/robocode.sh
cat << EOF > /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 件のコメント:

コメントを投稿