VBoxManage startvm $VM --type headless
iniciará a máquina virtual especificada em segundo plano.
Para desligá-lo, solicite o desligamento do hóspede.
Eu queria saber se é possível executar uma máquina virtual Ubuntu usando o VirtualBox em segundo plano, quer dizer, sem nenhuma janela aberta.
A ideia é conectar via SSH ao host Linux, que estaria sendo executado em segundo plano.
Alguém já fez algo assim? É possível?
VBoxManage startvm $VM --type headless
iniciará a máquina virtual especificada em segundo plano.
Para desligá-lo, solicite o desligamento do hóspede.
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 as 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, sobre o RDP.
Nota - Pelo menos no Windows, ele irá bloquear sua janela de comando. Se você precisar continuar usando sua janela do console, abra outra para iniciar a VM.
Para desligar a VM, você solicita que o sistema operacional convidado seja encerrado. VBoxHeadless
libera o console quando o Visitante está completamente desligado (Você pode Ctrl+C
, mas acho que pode ser analogus a uma reinicialização a frio em uma máquina real).
Estou usando o VBoxTool do link e funciona perfeitamente para mim. Ele pode iniciar automaticamente as VMs na inicialização e parar / salvar VMs no desligamento e fornece uma interface de linha de comando simples e limpa.
Eu não acho que o modo sem costura é o que ele está procurando aqui, acho que a coisa certa seria o VBoxHeadless, cujos detalhes podem ser encontrados no manual. Ele é executado usando uma interface de linha de comando e seria usado, por exemplo, se uma máquina virtual estivesse em execução em um servidor, mas a exibição não fosse desejada do servidor. Você poderá usar a área de trabalho remota na máquina (desde que você saiba como definir a opção via linha de comando).
Eu recomendo perguntar isso nos fóruns do VirtualBox. Na verdade, faça uma pesquisa primeiro, pois espero que isso já tenha sido feito.
VBoxManage foi a coisa certa, desculpe. Associe as informações no manual link
Descobri que o modo headless 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 segundo plano. Faça um 'fg' para trazer o processo de volta ao primeiro plano e a funcionalidade do RDP é restaurada. Parece que iniciar o vm sem cabeça é melhor realizado por meio de um script de inicialização, em que a interatividade com o console não é necessária.
Você pode usar VBoxHeadless ou (e eu me pergunto por que ninguém mencionou isso antes de mim) você pode simplesmente selecione uma das opções de inicialização, que executará a VM sem qualquer GUI.
Segure a tecla shift e inicie a máquina, ou clique com o botão direito do mouse na máquina e procure por algo como "Executar sem saída" no item "Executar"
Para iniciar no modo sem cabeça usando a GUI:
Segure a tecla Shift ao iniciar a VM.
Depois disso, você também poderá se conectar e desconectar da GUI (usando as opções Mostrar e Máquina - > Desanexar a GUI ).
Adicionei estas linhas ao meu .bashrc:
VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'
Para o acesso ssh você não precisa alterar a configuração apenas mantenha o NAT e você pode configurar a tabela de encaminhamento de portas da seguinte forma:
Name | Protocol | Host Port | Guest Port
guestssh | TCP | 2222 | 22
localhost | TCP | 8080 | 80
Quando você inserir localhost: 8080 no navegador da máquina, a página da VM (na porta 80) será aberta.
Tags virtualbox ubuntu