プログラミング

ubuntuでゲームをする

更新日:

こんにちは、Nanayakuです。

今回は、botを作る練習として、ubuntuを使ってTetrisをやるまでに実行したことや失敗を紹介します。

「Webプログラミングが面白いほどわかる本」を参考にしました。

出来なかったこと

docker

最初に、dockerのubuntuイメージでtetrisをやろうとしました。

以下のコマンドをそれぞれ試しました。

$ docker run -it ubuntu

$ docker run -it ubuntu:18.04

$ docker run -it ubuntu /bin/bash

コンテナを起動し、以下のコマンドは実行できました。

1つ目はインストールに必要な情報のアップデートで、2つ目はゲーム群をインストールしています。

$ apt-get update

$ apt-get install bsdgames

しかし、テトリスを起動しようとすると下記のエラーが出ました。

root@dd4a58b21e8b:/# tetris-bsd
bash: tetris-bsd: command not found

そこで、下記のDockerfileからコンテナを作成しました。

Dockerfile

FROM ubuntu:18.04

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
ENV LANG en_US.utf8

しかし、同じエラーが出たため、本と同じようにvagrantで作成することにしました。

 

vagrant

私の場合は、VirtualBox・Vagrantはインストールしていたので、後はLinuxをインストールするだけでした。

本にそって、ディレクトリを作成し、Linuxをインストールして起動しました。

$ mkdir -p ~/vagrant/ubuntu64_16

$ cd ~/vagrant/ubuntu64_16/

$ vagrant box add ubuntu/xenial64 https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20170929.0.0/providers/virtualbox.box

$ vagrant init ubuntu/xenial64

$ vagrant up

すると、下記のエラー文が表示されました。

The box 'ubuntu/venial64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
vagrant login. Also, please double-check the name. The expanded
URL and error message are shown below:

The box 'ubuntu/venial64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
vagrant login. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://vagrantcloud.com/ubuntu/venial64"]
Error: The requested URL returned error: 404 Not Found

これをGoogleで翻訳すると、vagrantcloudに「ubuntu/venial64」のカタログが無いと判明しました。

そこで、vagrantcloudの「ubuntu / trusty64」のVagrantfileに書き換えました。

下記のコマンドでファイルを開き、「config.vm.box = "ubuntu/trusty64"」の部分を書き換え、起動しました。

$ open Vagrantfile

$ vagrant up

その後、「vagrant ssh」を実行したら以下の文が出てきたため、アップデートしました。

Welcome to Ubuntu 14.04.6 LTS (GNU/Linux 3.13.0-170-generic x86_64)

* Documentation: https://help.ubuntu.com/

System information disabled due to load higher than 1.0

0 updates can be installed immediately.
0 of these updates are security updates.

New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

do-release-upgrade

$ do-release-upgrade

その後も何度かアップグレードして、再起動すればいい所まで1時間半程かかりました。

再起動が完了し、「vagrant up」で起動しようとしましたが、sshのタイムアウトで結局できませんでした。

 

成功例

ここからは、実行できたやり方を紹介します。

前提条件として、VirtualBoxをvagrant をインストールしている必要があります。

まず、VirtualBoxを開きます。

ここで新規を選択し、ディレイ名・保存場所・タイプ・バージョンを設定します。

後は、ターミナルで先ほど保存した場所に移動し、以下のコマンドを実行すればTetrisが起動します。

$ vagrant up

$ vagrant ssh

$ apt-get update

$ apt-ge install bsdgames

$ tetris-bsd

 

まとめ

VirtualBoxを開き、新しく仮想マシンを設定・作成すれば、簡単にできました。

dockerは、まだ研究が必要でした。

【まとめ】Vagrant コマンド一覧

 

最後に

備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。

-プログラミング
-

Copyright© Nanayaku blog , 2019 All Rights Reserved Powered by AFFINGER5.