O ambiente de desenvolvimento da minha empresa é baseado em máquinas virtuais em execução no VirtualBox. Gostaríamos de dar um passo adiante, e usar os recursos do Vagrant para ter a descrição da máquina em um arquivo de texto e, em seguida, poder "elevar" essa máquina com base nesse arquivo de texto. Combinado ao fantoche, isso nos resolveria o problema de que todos têm diferentes versões de software instaladas na VM.
No entanto, o Vagrant parece muito focado no desenvolvimento do host, deixando a máquina em segundo plano. Nós precisaríamos ter nosso ambiente de desenvolvimento dentro da máquina, portanto, precisaríamos de uma GUI completa; portanto, ao digitar "vagar" uma máquina com um ambiente de área de trabalho completo (XFCE, KDE ...) deve aparecer.
Até agora, consegui criar uma caixa "base" a partir de uma distribuição do Xubuntu. Mas quando eu digito "vagrant up", embora a área de trabalho apareça e eu consiga fazer o login corretamente, o Vagrant congela com a mensagem "Aguardando a inicialização da máquina. Isso pode levar alguns minutos ...". Depois de um tempo, o Vagrant falha devido ao tempo limite. Portanto, as pastas compartilhadas não são criadas, nem o provedor de pacotes -puppet- é executado.
Como criar uma máquina virtual com uma GUI completa usando o vagrant?
fonte
Respostas:
Acabei de trabalhar com basicamente três etapas. O conselho de
askubuntu.com
não funcionou muito bem para mim, então tente esta versão simplificada:vagrant ssh
.Vagrantfile
:xfce4
. Usevagrant ssh
e:Se esta é a primeira vez que você executa este ambiente Ubuntu, precisará executar o seguinte comando antes de instalar o xfce4:
É isso, você deve pousar em uma
xfce4
sessão.Atualização: para uma experiência melhor, recomendo estas melhorias:
vagrant
usuário. Para fazer isso, você precisa permitir que alguém inicie a GUI:sudo vim /etc/X11/Xwrapper.config
e edite-a paraallowed_users=anybody
.vagrant
usuário, com$ startxfce4&
.Atualização 2: tentei isso hoje e o
VBoxClient-all
script nem sempre está instalado. Se estiver faltando, você pode substituir pelo equivalente:fonte
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ... done
método do Vagrantfile.startxfce4
pode ser executado como não-root no Ubuntu 16.04 (hospitaleiro) depois de instalarxserver-xorg-legacy
Aqui está a excelente resposta da Air na forma de um
Vagrantfile
Para iniciar o vm
Efetue login com nome de usuário:,
vagrant
senha:vagrant
através do prompt de login na GUI da caixa virtual.Iniciar o xfce
fonte
xfce4
. Ele funciona agora, mas existe uma maneira de pular o login e iniciar oxfce4
por padrão?xfce4
"? Eu estou recebendo o mesmo erro ao executar startx depoisvagrant ssh
Meus 2 centavos
Verifique se você está executando o vagrant mais recente (1.3.3 agora) + VirtualBox (4.2.18) para evitar erros.
Você pode usar o shell script ou o comando embutido para instalar um ambiente de área de trabalho ou um gerenciador de janelas leve
Por exemplo, instale o LXDE em cima da caixa base do Ubuntu 12.04 Precise em vagrantbox.es
fonte
Aqui está um Vagrantfile levemente adaptado para o Ubuntu 18.04 LTS / biônico - graças às respostas da Air e Nik , e este post explicando como aumentar o tamanho do disco ao usar o VirtualBox (padrão = 10 GB).
A VM inclui uma tela de login do LightDM.
Atualização: criei um repositório GitHub a partir deste exemplo e adicionei muitos pacotes de software para o desenvolvimento de front-end + back-end.
fonte
Estou usando a imagem da área de trabalho do ubuntu, ela funciona muito bem com dois monitores no windows com o provedor de caixa virtual.
fonte
vb.customize ["modifyvm", :id, '--audio', 'dsound', '--audiocontroller', 'ac97']
para obter o som do vm (se necessário)Você também pode considerar usar o Packer para criar imagens do VirtualBox para uso dos desenvolvedores.
Em vez de compartilhar o arquivo Vagrant que cada desenvolvedor usa para criar e executar sua VM, você teria um modelo de empacotador (json) que é usado para criar uma imagem de VM. Os desenvolvedores fazem o download ou copiam a imagem e a executam localmente, diretamente no VB, sem a necessidade de compilar.
Muitas das caixas básicas do Vagrant compartilhadas publicamente são criadas com o Packer.
fonte
/ubuntu/300799/does-ubuntu-12-04-lts-32-bit-have-graphic-user-interface/300805#300805
Então, talvez adicione isso?
fonte
Corrigi um pouco a resposta da Nik para evitar o HTTP 404:
fonte
Adicionando ao comentário de billmalarky acima, no fedora 20, o seguinte era necessário antes de iniciar o xfce:
Aqui está o código:
fonte
Como a
xfce4
solução da @Air. Uma vez tive sucesso, mas hoje falhei com o ubuntu16.04. Eu recebi este erro:Mas, felizmente, achei que isso funciona:
fonte
Vejo que algumas pessoas estão tendo problemas com "startx: comando não encontrado". Eu também tinha isso e porque estava tentando o login e o startx antes da conclusão do provisionamento pela primeira vez. Seja paciente, vá tomar um café. Verifique a janela do console original para ver o que está acontecendo, especialmente quando o aprovisionamento terminar.
fonte