El entorno de desarrollo de mi empresa se basa en máquinas virtuales que se ejecutan en VirtualBox. Nos gustaría avanzar un paso más y utilizar las capacidades de Vagrant para tener la descripción de la máquina en un archivo de texto y luego poder "elevar" esa máquina en función de ese archivo de texto. Combinado con Puppet, esto nos resolvería el problema de que todos tienen diferentes versiones de software instaladas en la VM.
Sin embargo, Vagrant parece estar muy concentrado en desarrollarse en el host, dejando la máquina en segundo plano. Necesitaríamos tener nuestro entorno de desarrollo dentro de la máquina, por lo que necesitaríamos una GUI completa, por lo que al escribir "vagabundo" debería aparecer una máquina con un entorno de escritorio completo (XFCE, KDE ...).
Hasta ahora, he logrado crear un cuadro "base" a partir de una distribución de Xubuntu. Pero cuando escribo "vagabundo", aunque aparece el escritorio, y puedo iniciar sesión correctamente, Vagrant se congela con el mensaje "Esperando a que la máquina arranque. Esto puede tardar unos minutos ...". Después de un tiempo, Vagrant se bloquea debido al tiempo de espera. Por lo tanto, no se crean carpetas compartidas ni se ejecuta el aprovisionador de paquetes -puppet-.
¿Cómo crear una máquina virtual con una GUI completa usando vagabundo?
Respuestas:
Acabo de hacer esto trabajando básicamente con tres pasos. El consejo de
askubuntu.com
no me funcionó, así que prueba esta versión simplificada:vagrant ssh
.Vagrantfile
:xfce4
. Usovagrant ssh
y:Si es la primera vez que ejecuta este entorno de Ubuntu, deberá ejecutar el siguiente comando antes de instalar xfce4:
Eso es todo, deberías aterrizar en una
xfce4
sesión.Actualización: para una mejor experiencia, recomiendo estas mejoras:
vagrant
usuario. Para hacer esto, debe permitir que cualquiera inicie la GUI:sudo vim /etc/X11/Xwrapper.config
y edítela enallowed_users=anybody
.vagrant
usuario, con$ startxfce4&
.Actualización 2: Intenté esto hoy y el
VBoxClient-all
script no siempre está instalado. Si falta, puede reemplazar con el equivalente:fuente
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ... done
método del archivo Vagrantfile.startxfce4
se puede ejecutar como no root en Ubuntu 16.04 (xenial) después de la instalaciónxserver-xorg-legacy
Aquí está la excelente respuesta de Air en forma de
Vagrantfile
Para iniciar el vm
Inicie sesión con nombre de usuario:
vagrant
contraseña: avagrant
través de la solicitud de inicio de sesión en la GUI de virtualbox.Iniciar xfce
fuente
xfce4
. Funciona ahora, pero ¿hay alguna forma de omitir el inicio de sesión e iniciarloxfce4
de forma predeterminada?xfce4
"? Recibo el mismo error cuando ejecuto startx despuésvagrant ssh
Mis 2 centavos
Asegúrese de estar ejecutando el último vagabundo (1.3.3 ahora) + VirtualBox (4.2.18) para evitar errores.
Puede usar el script de shell o el comando en línea para instalar un entorno de escritorio o un administrador de ventanas ligero
Por ejemplo, instale LXDE sobre Ubuntu 12.04 Precise base box de vagrantbox.es
fuente
Aquí hay un Vagrantfile ligeramente adaptado para Ubuntu 18.04 LTS / bionic, gracias a las respuestas de Air y Nik , y esta publicación explicando cómo aumentar el tamaño del disco cuando se usa VirtualBox (predeterminado = 10 GB).
La VM incluye una pantalla de inicio de sesión LightDM.
Actualización: he creado un repositorio de GitHub a partir de este ejemplo, y he agregado muchos paquetes de software para el desarrollo frontend + backend.
fuente
Estoy usando la imagen de escritorio de ubuntu, funciona muy bien con dos monitores en Windows con un proveedor de caja virtual.
fuente
vb.customize ["modifyvm", :id, '--audio', 'dsound', '--audiocontroller', 'ac97']
obtener el sonido de la vm (si es necesario)También puede considerar usar Packer para crear imágenes de VirtualBox para que los desarrolladores las usen.
En lugar de compartir el Vagrantfile que cada desarrollador usa para construir y ejecutar su VM, tendría una plantilla de empaquetador (json) que se usa para crear una imagen de VM. Los desarrolladores descargan o copian la imagen y la ejecutan localmente, directamente en VB, sin tener que construirla ellos mismos.
Muchos de los cuadros base Vagrant compartidos públicamente se crean con Packer.
fuente
/ubuntu/300799/does-ubuntu-12-04-lts-32-bit-have-graphic-user-interface/300805#300805
Entonces, ¿quizás agregar esto?
fuente
He parcheado un poco la respuesta de Nik para evitar HTTP 404:
fuente
Agregando al comentario de billmalarky anterior, en fedora 20 fue necesario lo siguiente antes de comenzar xfce:
Aquí está el código:
fuente
Me gusta la
xfce4
solución de @Air. Una vez tuve éxito, pero hoy fallé con ubuntu16.04. Tengo este error:Pero por suerte, encontré que esto funciona:
fuente
Veo que algunas personas tienen problemas con "startx: comando no encontrado". También tuve esto y fue porque estaba intentando iniciar sesión y startx antes de que se completara el aprovisionamiento por primera vez. Sé paciente, ve a tomar un café. Verifique la ventana de la consola original para ver qué sucede, especialmente cuando finaliza el aprovisionamiento.
fuente