Eu gosto da resposta centrada no Vagrant de mperrin , mas como você pode ver pelos comentários lá, minha opinião pessoal é “Simplifique” e eu recomendaria uma simples exportação de um VirtualBox OVA como você configurou e passou para os seus alunos.
Dito isto, você pergunta isto:
The question is, given people have different graphics hardware, how does this work? Or does it work? And if it does, how do I distribute it? Do they have to install VirtualBox, then load some file I give them, or can I create a single installer easily?
Entrando no DevOps
Eu não tenho muita certeza do que você está ensinando ou fazendo ou o que você espera que seus alunos saiam de todo este exercício, mas muitas das preocupações que você está veiculando estão no reino de DevOps (desenvolvimento e operações) e você pode querer considerar a mistura desse conceito em seus ensinamentos.
Agora eu não acho que todo o conceito de DevOps precisa ser transmitido, mas em minha mente a criação de um VirtualBox OVA estável que você passa para os alunos e pede que eles usem em suas máquinas de casa / escola definitivamente abriria uma porta para perguntas sobre como se deve lidar com diferentes configurações de hardware / sistema e como se pode adaptar.
Portanto, minha recomendação para você é: recomendo enfaticamente que os alunos usem o OVA do VirtualBox que você configuraria, mas também esteja aberto para permitir que os alunos simplesmente instalem ferramentas por conta própria. Meu instinto me diz que 95% - ou mais - dos alunos usariam com alegria e facilidade o método VirtualBox OVA, mas você não pode esperar que ele seja 100% perfeito.Talvez, no final, você deva ter apenas alguns requisitos básicos para o uso da ferramenta do curso e ser flexível em sua implementação.
Seja flexível em relação a como as ferramentas são usadas
Por exemplo, eu faço muito desenvolvimento PHP e administração de sistemas / DevOps relacionados ao desenvolvimento de PHP. E como estou em um Mac, prefiro usar MAMP para desenvolvimento local. Mas eu trabalho com desenvolvedores que usam Linux ou Windows para o desenvolvimento deles. Heck, alguns gostam de usar Vagrant juntamente com o VirtualBox para as suas necessidades de desenvolvimento LAMP. E minha atitude é que eu não me importo com a configuração básica do sistema operacional. Contanto que a versão do PHP esteja alinhada com as versões que meus clientes usam, estou bem com o que quer que seja.
Ocasionalmente, um desenvolvedor afirma que um bug é causado porque, por exemplo, o código que testei no MAMP não é igual ao que estaria em uma configuração do Linux LAMP. E eu digo com 100% de confiança, que eu sempre provei que o problema não é o sistema operacional básico, mas sim a própria codificação PHP.
Assim, todo esse desentendimento é basicamente transmitir o seguinte: Apenas seja flexível em sua explicação sobre o uso de uma configuração do VirtualBox para os alunos e não espere que um SO seja alimentado por uma colher para simplesmente acabar com todos os problemas. Ele pode derrubar 95% dos seus problemas fora do parque, mas os 5% restantes sempre terão que ser resolvidos de alguma forma. Então olhe para uma configuração do VirtualBox - e talvez um script Vagrant - como uma ferramenta que pode ser usada em um arsenal para facilitar a vida de alguns, mas não necessariamente a solução final para todos os problemas.