Eu queria saber se é possível executar uma máquina virtual Ubuntu usando o VirtualBox em segundo plano, sem nenhuma janela aberta.
A idéia é conectar via SSH ao host Linux, que seria executado em segundo plano.
Alguém já fez algo assim? É possível?
Eu queria saber se é possível executar uma máquina virtual Ubuntu usando o VirtualBox em segundo plano, sem nenhuma janela aberta.
A idéia é conectar via SSH ao host Linux, que seria executado em segundo plano.
Alguém já fez algo assim? É possível?
Respostas:
VBoxManage startvm $VM --type headless iniciará a máquina virtual especificada em segundo plano.
Para desligá-lo, solicite o desligamento do convidado.
Isso é incorporado ao VirtualBox 4.2.
Basta pressionar Shift ao iniciar a VM a partir do Manager.
https://blogs.oracle.com/fatbloke/entry/what_s_new_in_oracle
Absolutamente! Você está procurando uma instalação sem cabeça (Virtualbox). A maneira de iniciar a máquina a partir da linha de comando é algo como:
VBoxHeadless --startvm Debian --vrdp=off
No entanto, você precisará de alguma maneira de se conectar. O que faço é mapear portas entre convidado e host. Com essa configuração, a porta do host 2222 será mapeada para a porta 22 da sua máquina convidada.
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222
Depois disso, você pode fazer login com:
ssh localhost -p2222
uma alternativa para VBoxManage startvm "{VMName}" --type headlessé
VBoxHeadless -startvm "{VMName}"
Curiosamente, acabei de descobrir como executar uma VM sem cabeça, através do RDP.
Nota - Pelo menos nas janelas, ele bloqueará sua janela de comando. Se você precisar continuar usando a janela do console, abra outra para iniciar a VM.
Para desligar a VM, solicite o encerramento do SO convidado. VBoxHeadlesslibera o console quando o Convidado está totalmente desligado (você pode Ctrl+C, mas acho que pode ser o análogo a uma reinicialização total em uma máquina real).
Estou usando o VBoxTool em http://vboxtool.sourceforge.net/ e funciona perfeitamente para mim. Ele pode iniciar automaticamente as VMs na inicialização e parar / salvar as VMs no desligamento e fornece uma interface simples e limpa da linha de comando.
Não acho que o modo perfeito seja exatamente o que ele está procurando aqui, acho que o correto seria o VBoxHeadless, que detalhes você pode encontrar no manual. Ele é executado usando uma interface de linha de comando e seria usado, por exemplo, se uma máquina virtual estivesse sendo executada em um servidor, mas a exibição não fosse desejada pelo servidor. Você poderá fazer o desktop remoto na máquina (desde que você saiba como definir a opção via linha de comando).
Eu recomendaria perguntar isso nos fóruns do VirtualBox. Na verdade, faça uma pesquisa primeiro, pois espero que isso já tenha sido solicitado.
VBoxManage foi a coisa certa, desculpe. Vincule as informações no manual http://www.virtualbox.org/manual/ch08.html
Descobri que o modo decapitado parece funcionar bem ao fazer o background no Linux (CentOS 5.6), mas você perde o acesso à funcionalidade RDP desde que o processo seja em background. Faça um 'fg' para trazer o processo de volta ao primeiro plano, e a funcionalidade RDP é restaurada. Parece que iniciar o vm decapitado é melhor realizado através de um script init, em que a interatividade com o console não é necessária.
Você pode usar o VBoxHeadless ou (e eu me pergunto por que ninguém mencionou isso antes de mim). Você pode simplesmente selecionar uma das opções de inicialização, que executará a VM sem nenhuma GUI.
Mantenha pressionada a tecla Shift e inicie a máquina, ou clique com o botão direito na máquina e procure algo como "Executar sem saída" no item "Executar"
Eu adicionei estas linhas no meu .bashrc:
VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'
Para acesso ssh, você não precisa alterar a configuração, basta manter o NAT e pode configurar a tabela de encaminhamento de porta da seguinte maneira:
Name | Protocol | Host Port | Guest Port
guestssh | TCP | 2222 | 22
localhost | TCP | 8080 | 80
Quando você insere localhost: 8080 no navegador da máquina, a página da VM (na porta 80) será aberta.
Se a VM estiver em execução e a tela estiver sendo exibida, você pode ocultá-la executando as seguintes etapas.