Eu gosto da resposta centrada no Vagrant de mperrin , mas como você pode ver nos comentários, minha opinião pessoal é “simplificar” e eu recomendaria uma exportação simples de um OVA do VirtualBox conforme você configurou e passou isso para seus alunos .
Dito isto, você pergunta o seguinte:
A questão é que, como as pessoas têm hardware gráfico diferente, como isso funciona? Ou isso funciona? E se sim, como distribuí-lo? Eles precisam instalar o VirtualBox e carregar algum arquivo que eu lhes fornecer, ou posso criar um único instalador facilmente?
Virando para o DevOps
Não tenho muita certeza do que você está ensinando ou fazendo ou do que espera que seus alunos saiam de todo esse exercício, mas muitas das preocupações que você está transmitindo se voltam para o reino do DevOps (desenvolvimento e operações) e você pode querer considere misturar esse conceito em seus ensinamentos.
Agora, não acho que todo o conceito de DevOps precise ser transmitido, mas em minha mente sua criação de um OVA VirtualBox estável que você passa para os alunos e pede que eles usem em suas máquinas domésticas / escolares definitivamente abriria uma porta para perguntas sobre como lidar com diferentes configurações de hardware / sistema e como se adaptar.
Portanto, minha recomendação para você é recomendar fortemente que os alunos usem o VirtualBox OVA que você configuraria, mas também esteja aberto a permitir que os alunos instalem ferramentas por conta própria. Meu intestino me diz que 95% - ou mais - dos alunos usaria feliz e facilmente o método OVA do VirtualBox, mas você não pode esperar que seja 100% perfeito.
Talvez no final você deva ter apenas uma linha de base de requisitos para o uso de ferramentas de curso e ser flexível em sua implementação.
Seja flexível em relação à forma como as ferramentas são usadas
Por exemplo, desenvolvo muito o desenvolvimento de PHP e administro sistemas / DevOps relacionados ao desenvolvimento de PHP. E como estou em um Mac, prefiro usar o MAMP para desenvolvimento local. Mas trabalho com desenvolvedores que usam Linux ou Windows para seu desenvolvimento. Heck, alguns gostam de usar o Vagrant juntamente com o VirtualBox para suas necessidades de desenvolvimento de LAMP. E minha atitude é que não me importo com a configuração básica do sistema operacional. Desde que a versão do PHP esteja alinhada com as versões que meus clientes usam, eu estou bem com o que quer.
Ocasionalmente, um desenvolvedor declara que um bug foi causado porque, por exemplo, o código que testei no MAMP "não é o mesmo" do que seria em uma instalação do Linux LAMP. E digo com 100% de confiança, que sempre provei que o problema não é o sistema operacional base, mas a codificação do PHP em si.
Portanto, tudo isso é basicamente transmitir o seguinte: Seja flexível na explicação do uso de uma configuração do VirtualBox para os alunos e não espere que um sistema operacional com alimentação por colher simplesmente acabe com todos os problemas. Isso pode deixar 95% de seus problemas fora do parque, mas os 5% restantes sempre deverão ser abordados de alguma forma. Portanto, observe uma configuração do VirtualBox - e talvez um script do Vagrant - como uma ferramenta que pode ser usada em um arsenal para facilitar a vida de alguns, mas não necessariamente a solução definitiva para todos os problemas.