久しぶりに投稿します。
なんだかちょっと緊張しますが、気にせず投稿してみます。
環境構築したキッカケ
2年半ほどまえ、現場でLinuxコマンドを打つことがありました。
プログラミングだと何行も書く必要がある処理でも、Linuxではいくつかのコマンドを組み合わせることで実現可能である点に感心しました。
また、現場が変わりLinuxに触れる機会が皆無になったので、個人で触れる機会を増やし理解を深めたいと思ったのがキッカケでした。
何をしたいのか
結論:CLIで動作するミニマムなゲームを作りたい。
以前から個人でゲームを作成したいと考えノベルゲームを作成してみたりしたのですが、分岐が多すぎたりして開発が止まってしまいました。
(やはり個人製作はモチベーション維持が難しい...)
そこで、もっとミニマムなものを作ろう、と考えました。
そしてせっかくLinuxを学習するなら、コマンドをただ覚えるのではなく実際に手を動かしながら学びたいと思ったのです。
今回はその第一歩として、Windows上でLinuxを利用できる環境を構築しました。
前提事項
使用環境
- OS:Windows11 Home
- CPU:Intel
- Linux環境:Ubuntu(WSL2上で今回構築)
補助ツール
ChatGPT
AIにも慣れておきたいなぁ、ということで使用しています。
学習目的のため、実行するコマンドをただ提示させるのではなく、コマンドを実行する理由やコマンドの意味もをあわせて提示するように指示しました。
その他
この記事内では、実行コマンドの下にコマンドの意味を記載しています。
構築手順
1-1.仮想マシンプラットフォームの状態を確認する
仮想マシンプラットフォーム(Virtual Machine Platform)は、Windows上で仮想マシンを動かすための機能。
今回はWindowsの中でLinuxという別のOSを動かすため、仮想マシンプラットフォームが有効かどうかを確認します。
dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform
- dism.exe:Windows機能を管理するツール
- /online:現在起動中のWindowsを対象にする
- /get-featureinfo:機能の状態を確認する
- /featurename:確認対象の機能を指定する
実行結果
状態 : 有効
こちらは既に有効でした。
1-2.もし仮想マシンプラットフォームが無効の場合
以下のコマンドを実行すると有効にできるようです。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
コマンドの意味
- dism.exe:Windows機能を管理するツール
- /online:現在起動中のWindowsを対象にする
- /enable-feature:Windows機能を有効化する
- /featurename:VirtualMachinePlatform:仮想マシンプラットフォームを指定する
- /all:依存する機能も合わせて有効化する
実行後、以下コマンドでPC再起動します。
即再起動が実行されるため、保存が必要なファイルなどがないか確認してから実行してください。
shutdown /r /t 0
改めて1-1のコマンドで有効になっているか確認しましょう。
2-1.WSLがインストールされているか確認する
Windows内でLinuxを実際に動かすことができる**WSL(Windows Subsystem for Linux)**が使用できる状態か確認します。
wsl -l -v
- wsl:Windows Subsystem for Linuxを操作するコマンド
- -l:インストール済みディストリビューションを一覧表示する
- -v:WSLのバージョンを表示する
実行結果
Linux 用 Windows サブシステムがインストールされていません。
WSLが利用できる状態ではないことが分かりました。
2-2.Linux用Windowsサブシステムを有効化する
無効だったWSL機能を有効化します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
- /enable-feature:Windows機能を有効化する
- /all:依存する機能も合わせて有効化する
即再起動が実行されるため、保存が必要なファイルなどがないか確認してから実行してください。
shutdown /r /t 0
改めて2-1のコマンドで有効になっているか確認したところ、
既定のバージョン:2
と表示され有効になっていました。
3-1.Ubuntuをインストールする
WSLは「Windows上でLinuxを動かすための仕組み」であり、実際に動作するLinux本体は別途インストールする必要があります。
例えるなら・・・
WSL:ゲーム機本体
Ubuntu:ゲームソフト
のような関係です。
ゲーム機だけ持っていても遊べないように、WSLだけではLinuxを利用できません。
そのため、Linuxディストリビューションの一つであるUbuntuをインストールします。
wsl --install -d Ubuntu
- --install:Linuxディストリビューションをインストールする
- -d Ubuntu:Ubuntuを指定してインストールする
インストール後、Linuxユーザー名とパスワード設定します。
Linuxユーザー名のためWindowsのユーザー名と同一にする必要はありません。
パスワード設定の際、入力情報が表示されませんが、実際には入力されています。
インストール後は自動的にUbuntuが起動するか、スタートから起動させることができます。
起動するとUbuntuの画面には以下のように表示されています。
Linuxのユーザー名@PC名:~$
まとめ
環境構築は毎回どこかでつまづくことが多いのですが、今回は思ったよりスムーズに構築できました。
また、Linuxを使うためにはUbuntuをインストールするだけでなく、WSLのようなLinux用WindowsサブシステムというWindows側の機能も必要であることを初めて知りました。
今後はLinuxの基本コマンドを学びながら、CLIゲームの開発に挑戦していきたいと思います。
どんどん開発していくぞ~!