J'ai plusieurs machines virtuelles dans mon Ubuntu12.04, chaque fois que j'éteins ou redémarre, je dois les démarrer une par une.
Je veux une aide pour écrire script pour démarrer automatiquement les machines VBox au démarrage.
J'ai plusieurs machines virtuelles dans mon Ubuntu12.04, chaque fois que j'éteins ou redémarre, je dois les démarrer une par une.
Je veux une aide pour écrire script pour démarrer automatiquement les machines VBox au démarrage.
Pour démarrer une VM lors de la connexion à notre session, nous pouvons définir un fichier .desktop :
Lorsque ce fichier a été copié ou déplacé dans notre répertoire de démarrage automatique, il sera exécuté après notre connexion :
L'exécution de Virtual Box dans l'espace utilisateur peut aider à éviter les effets secondaires indésirables de leur lancement pendant le démarrage (par exemple, la VM s'exécute en tant que root, le temps de démarrage augmente incroyablement, ...).
Cela peut être fait en utilisant l'interface de gestion de la ligne de commande de VirtualBox. Il suffit d'exécuter le script suivant au démarrage.
#!/bin/bash
VMUSER="vmuser"
VMNAME="RedHatVM" #also you can put UUID in this variable (VMNAME="4ec6acc1-a232-566d-a040-6bc4aadc19a6")
case "$1" in
start)
echo "===Starting VirtualBox VM==="
sudo -H -u $VMUSER VBoxManage startvm "$VMNAME" --type headless
;;
stop)
echo "===Saving state of Virtualbox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" savestate
sleep 20
;;
shutdown)
echo "===Shutting down Virtualbox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" acpipowerbutton
sleep 20
;;
reset)
echo "===Resetting VirtualBox VM==="
sudo -H -u $VMUSER VBoxManage controlvm "$VMNAME" reset
;;
status)
echo -n "VMNAME->";sudo -H -u $VMUSER VBoxManage showvminfo "$VMNAME" --machinereadable |grep "VMState="| cut -d "=" -f2
;;
echo "Usage: /etc/init.d/VMscript {start|stop|shutdown|reset|status}"
exit 1
;;
esac
exit 0
Il y a est un bon tutoriel pour plus d'informations.
Complément à la réponse de @kdmurray.
Si vous obtenez une erreur sur :
VBoxManage modifyvm <uuid|vmname> --autostart-enabled on
Pour résoudre ce problème, j'ai dû créer manuellement les fichiers "username".start et "username".stop avec :
sudo touch "username".start
sudo touch "username".stop
Et changer de propriétaire avec :
sudo chown "username" "username".start
sudo chown "username" "username".stop
rediffusion :
VBoxManage modifyvm <uuid|vmname> --autostart-enabled on
puis redémarrez le service :
sudo service vboxautostart-service stop
sudo service vboxautostart-service start
vérifier est tout est ok avec :
top
et vous devriez voir le processus "VBox..." dans une liste, si la machine virtuelle est en cours d'exécution.
Vous pouvez également utiliser le gestionnaire de session gnome décrit ici. Gestionnaire de session Gnome Il se trouve dans le centre logiciel ou vous pouvez simplement aller sur un terminal et taper sudo apt-get install gnome-session-common
Ensuite, vous pouvez créer un petit script à exécuter et utiliser le gestionnaire de session de gnome pour le démarrer. Voici un petit exemple de script pour vous aider à démarrer...
#!/bin/sh
#vboxmanage startvm "my virtual machine" --type=headless|gui|sdl (one of those)
# So if your username is user, and virtualbox put your VMs in the default location, and you want headless...
vboxmanage startvm '/home/user/VirtualBox VMs/myvmname' --type=gui
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.