I run a VirtualBox VM and would like to programmatically open and close the VM window at will from command line (say, clicking on some icon in a dock that runs a command line).
O que acabei fazendo foi executar a VM no modo sem cabeça o tempo todo, mas ativando o servidor RDP fornecido pelo VirtualBox (parte do pacote de extensão). Então, em vez de alternar entre headless e windowed, apenas inicio e saio de um visualizador RDP com a configuração de autenticação adequada.
Existem algumas limitações com esta solução:
- O desempenho gráfico certamente não é tão bom quanto com um monitor de VM comum em janelas, mas como meu caso de uso não precisa de nenhum gráfico de alto desempenho (nenhum 3D ou vídeo dentro da VM), tudo bem.
- Ajustar a definição da área de trabalho não é tão simples quanto com a exibição regular de VMs em janelas. Novamente está tudo bem aqui.
Chamadas para uma API específica do VirtualBox podem fornecer algo mais bem integrado, mas não foi necessário até agora.