私はmperrinのVagrant中心の回答が好きですが、そこのコメントからわかるように、私の個人的な意見は「シンプルに保つ」ことであり、設定して生徒に渡すVirtualBox OVAの簡単なエクスポートをお勧めします。
とは言うものの、あなたはこれを尋ねます:
問題は、人々が異なるグラフィックスハードウェアを使用している場合、これはどのように機能するのかということです。それとも機能しますか?そして、もしそうなら、どのようにそれを配布しますか?VirtualBoxをインストールしてから、提供するファイルを読み込む必要がありますか、単一のインストーラーを簡単に作成できますか?
DevOpsへの進出
あなたが何を教えているか、何をしているのか、学生がこの演習全体から何を期待しているのかはあまりわかりませんが、DevOpsの領域(開発と運用)に気を配っている多くの懸念その概念をあなたの教えに混ぜることを検討する。
今、DevOpsの概念全体を伝える必要はないと思いますが、安定したVirtualBox OVAを作成して、それを生徒に渡し、自宅/学校のマシンで使用するように依頼すると、間違いなく異なるハードウェア/システムのセットアップにどのように対処するべきか、どのように適応するかについての質問。
したがって、私の推奨事項は、設定するVirtualBox OVAを学生に使用することを強く推奨することです。また、学生が自分でツールを簡単にインストールできるようにすることもできます。私の直感では、生徒の95%以上がVirtualBox OVAメソッドを喜んで簡単に使用するだろうと言っていますが、100%完全であることは期待できません。
おそらく最終的には、コースツールの使用に関する要件のベースラインをいくつか用意し、その実装を柔軟にする必要があります。
ツールの使用方法について柔軟に対応する
たとえば、私は多くのPHP開発を行い、PHP開発に関連するシステム管理/ DevOpsを行います。私はMacを使用しているため、ローカル開発にはMAMPを使用することを好みます。しかし、私は開発にLinuxまたはWindowsを使用する開発者と協力しています。ヘック、LAMP開発のニーズにVagrantとVirtualBoxを組み合わせて使用するのが好きです。そして、私の態度は、基本OSセットアップが何であるかは気にしません。クライアントのPHPバージョンがクライアントが使用するバージョンとインラインである限り、何でも構いません。
開発者は、たとえば、MAMPでテストしたコードがLinux LAMPセットアップでのコードと「異なる」ため、バグが発生したと述べる場合があります。そして、私は100%の自信を持って、この問題がベースOSではなく、PHPコーディングそのものであることを常に証明してきたと言います。
そのため、このすべては基本的に次のことを伝えることです。生徒にVirtualBoxセットアップを使用することについて柔軟に説明し、OSをスプーンでフィードするだけですべての問題が終了することを期待しないでください。あなたの問題の95%を公園から追い出すかもしれませんが、残りの5%は常に何らかの方法で対処する必要があります。VirtualBoxのセットアップ(およびVagrantスクリプト)を武器庫で使用して、一部の人々の生活を楽にしますが、必ずしもすべての問題の最終的な解決策とは限りません。