2019年5月13日月曜日

VagrantでRobocode、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.6)を構築する

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

〇Robocodeの画面


構築方法

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

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804xfcerobocode"
config.vm.network :public_network, ip:"192.168.1.109"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804xfcerobocode"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install language-pack-ja
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
apt-get -y install xrdp=0.9.5-2 fcitx-mozc xubuntu-desktop language-pack-ja language-pack-ja
im-config -n fcitx

apt-get -y install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
apt-get -y install virtualbox-guest-dkms virtualbox-guest-utils virtualbox-guest-x11

sed -i -e "s/allowed_users=console/allowed_users=anybody/" /etc/X11/Xwrapper.config

echo "xfce4-session" > /home/vagrant/.xsession
apt-get -y purge light-locker

# install JDK11
apt-get -y install openjdk-11-jdk

# download and install robocode
mkdir -p /opt/robocode
cd /opt/robocode
wget 'https://sourceforge.net/projects/robocode/files/robocode/1.9.3.4/robocode-1.9.3.4-setup.jar'
jar xvf robocode-1.9.3.4-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

init 5
SHELL
end

関連情報

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

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

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

0 件のコメント:

コメントを投稿