À l'aide de l'errance d'exécuter des machines virtuelles avec l'environnement de bureau
Ma société de développement de l'environnement est fondée sur les machines virtuelles en cours d'exécution sur VirtualBox. Nous aimerions faire un pas de plus, et utiliser les capacités de Vagrant pour avoir la description de la machine dans un fichier texte et ensuite être capable de les "élever" que la machine à partir de ce fichier texte. Combiné à de marionnettes, cela nous permettrait de résoudre le problème que tout le monde ait les différentes versions du logiciel installé dans la machine virtuelle.
Cependant, l'Errance semble très axé leur développement sur l'hôte, de la location de la machine en arrière-plan. Nous avons besoin d'avoir notre environnement de développement à l'intérieur de la machine, de sorte que nous aurions besoin d'un complet GUI, lors de la saisie de "vagabond" une machine avec un environnement de bureau complet (XFCE, KDE...) doit apparaître.
Jusqu'à présent, j'ai réussi à créer une "base" de la boîte à partir d'une distribution Xubuntu. Mais quand je tape "vagrant up", bien que le bureau s'affiche, et je suis en mesure de vous connecter correctement, Vagrant fige au message "en Attente de l'ordinateur pour qu'il démarre. Cela peut prendre quelques minutes...". Après un certain temps, l'Errance se bloque à cause d'une temporisation. Donc, les dossiers partagés ne sont pas créées, ni le paquet de provisioner -marionnette - est exécutée.
Comment créer une machine virtuelle avec une interface graphique à l'aide de vagabond?
- Je n'ai jamais eu de problème d'utilisation de ces boîtes. Peut-être quelque chose n'allait pas lorsque vous avez emballé votre zone de base.
- à partir de la perspective naïve, si vous pouvez développer sur l'hôte et non pas sur la VM pourquoi vous embêter à installer GUI capabalities sur le Vagabond de la VM? pourquoi ne pas développer sur l'hôte?
- En développement sur la machine virtuelle peut entraîner de moins en moins de problèmes quand la VM/Vagrant spécifications sont maintenus par l'équipe de développement pour être en phase avec leur application à l'environnement cible. Vous aurez de moins en moins rampante des dépendances et des comportements qui sont uniques à votre dev. environnement, tout en n'étant pas présent (ou pas identiques) dans l'environnement cible/de l'installation.
- En fait votre conclusion n'est pas complètement exact. L'errance n'est pas d'avoir l'environnement de dev à l'extérieur de la boîte. Beaucoup de gens sur linux développer dans un terminal. Et vous pouvez le faire très bien avec ssh-seulement l'errance des boîtes.
Vous devez vous connecter pour publier un commentaire.
Je viens de recevoir ce travail avec essentiellement trois étapes. Les conseils de
askubuntu.com
n'a pas assez de travail pour moi, alors essayez cette version simplifiée:vagrant ssh
.Vagrantfile
:xfce4
. Utilisationvagrant ssh
et:Que c'est, vous devriez être débarqués dans un
xfce4
session.Mise à jour: Pour une meilleure expérience, je recommande ces améliorations:
vagrant
de l'utilisateur. Pour ce faire vous avez besoin pour permettre à quiconque de démarrer l'interface utilisateur graphique:sudo vim /etc/X11/Xwrapper.config
et l'éditer pourallowed_users=anybody
.vagrant
utilisateur, avec$ startxfce4&
.Mise à jour 2: Essayé aujourd'hui et le
VBoxClient-all
script n'est pas toujours installé. S'il est manquant, vous pouvez le remplacer par l'équivalent:Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| ... done
méthode de la Vagrantfile.startxfce4
peut être exécuté en tant que root sur Ubuntu 16.04 (xenial) après l'installation dexserver-xorg-legacy
Ici l'Air est excellente réponse sous la forme d'un
Vagrantfile
Pour démarrer la machine virtuelle
De Login avec nom d'utilisateur:
vagrant
, mot de passe:vagrant
via l'invite de connexion sur l'interface graphique de virtualbox.Commencer xfce
xfce4
. Il fonctionne maintenant, mais est-il une manière que je peux ignorer le login et le début de laxfce4
par défaut?xfce4
"? J'obtiens le même message d'erreur lors de l'exécution de la commande startx aprèsvagrant ssh
Mes 2 cents
Assurez-vous que vous exécutez dernière vagrant (1.3.3 maintenant) + VirtualBox (4.2.18) pour éviter des bugs.
Vous pouvez utiliser le script shell ou en ligne de commande pour installer un environnement de bureau ou un peu de poids gestionnaire de fenêtre
Par exemple d'installer LXDE sur le dessus de Ubuntu 12.04 Precise de base de la boîte de vagrantbox.es
J'utilise ubuntu desktop image, il fonctionne très bien, avec deux moniteurs sur windows avec virtual box fournisseur.
vb.customize ["modifyvm", :id, '--audio', 'dsound', '--audiocontroller', 'ac97']
pour obtenir le son de la machine virtuelle (si nécessaire)Vous pouvez également envisager d'utiliser Packer pour créer des images VirtualBox pour les développeurs.
Plutôt que de partager le Vagrantfile laquelle les développeurs chaque utiliser pour construire et exécuter leurs VM, vous avez un packer modèle (json) qui est utilisé pour créer une image de machine virtuelle. Les développeurs de télécharger ou de copier l'image et de l'exécuter localement, directement dans visual basic, sans avoir à construire eux-mêmes.
De nombreux partagées publiquement Vagabond de la base de boîtes sont créés avec Packer.
Ici est légèrement adapté Vagrantfile pour Ubuntu 18.04 LTS /bionic - grâce à Air's et Nikdes reponses, et ce post expliquant comment augmenter la taille du disque lors de l'utilisation de VirtualBox (par défaut = 10 GO).
La VM comprend un écran de connexion LightDM.
Mise à jour: j'ai créé un Dépôt GitHub à partir de cet exemple, et ajouté de nombreux logiciels pour le frontend + développement backend.
https://askubuntu.com/questions/300799/does-ubuntu-12-04-lts-32-bit-have-graphic-user-interface/300805#300805
Alors peut-être ajouter cette?
Ajoutant à billmalarky du commentaire ci-dessus, sur fedora 20 ce qui suit a été nécessaire avant de commencer xfce:
Voici le code:
Comme le
xfce4
solution par @Air. Une fois que j'ai eu du succès, mais aujourd'hui, je n'ai pas réussi avec ubuntu16.04. J'ai eu cette erreur:Mais heureusement, j'ai trouvé cela fonctionne: