Je me demandais s'il était possible de faire fonctionner une machine virtuelle Ubuntu en utilisant VirtualBox en arrière-plan, c'est-à-dire sans aucune fenêtre ouverte.
L'idée est de se connecter via SSH à l'hôte Linux, qui fonctionnerait en arrière-plan.
Est-ce que quelqu'un a déjà fait quelque chose comme ça? C'est possible?
VBoxManage startvm $VM --type headless
va démarrer la machine virtuelle spécifiée en arrière-plan.
Pour l'éteindre, demandez la fermeture de l'invité.
Ceci est intégré à VirtualBox 4.2.
Maintenez simplement la touche Maj enfoncée lors du lancement de la VM à partir du gestionnaire.
https://blogs.Oracle.com/fatbloke/entry/what_s_new_in_Oracle
Absolument! Vous recherchez une installation sans tête (Virtualbox). Pour démarrer la machine à partir de la ligne de commande, procédez comme suit:
VBoxHeadless --startvm Debian --vrdp=off
Cependant, vous aurez besoin d'un moyen de se connecter. Ce que je fais est de mapper les ports entre l'invité et l'hôte. Avec cette configuration, votre port Host 2222 sera mappé sur le port 22 de votre ordinateur invité.
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
Après cela, vous pouvez vous connecter avec:
ssh localhost -p2222
une alternative à VBoxManage startvm "{VMName}" --type headless
estVBoxHeadless -startvm "{VMName}"
Assez amusante, je viens juste de finir comment comprendre comment exécuter un VM sans tête, sur RDP.
Remarque - Au moins sur Windows, votre fenêtre de commande sera bloquée. Si vous devez continuer à utiliser votre fenêtre de console, ouvrez-en une autre pour démarrer le VM in.
Pour arrêter la VM, vous demandez au système d'exploitation invité de s'éteindre. VBoxHeadless
libère la console lorsque l'invité est complètement arrêté (vous pouvez Ctrl+C
, mais je pense que cela peut être analogue à une réinitialisation matérielle sur une machine réelle).
Je ne pense pas que le mode transparent soit tout à fait ce qu'il recherche ici, je pense que la bonne chose à faire serait VBoxHeadless, dont vous trouverez les détails dans le manuel. Il fonctionne à l'aide d'une interface de commande en ligne de commande et serait utilisé, par exemple, si une machine virtuelle était en cours d'exécution sur un serveur mais que l'affichage n'était pas souhaité par le serveur. Vous pourrez utiliser le bureau à distance sur la machine (à condition de savoir comment définir l’option via la ligne de commande).
Je recommanderais de demander ceci dans les forums de virtualbox. En fait, faites d'abord une recherche, car je pense que cela a déjà été demandé.
VBoxManage était la bonne chose, désolé. Liez les informations dans le manuel http://www.virtualbox.org/manual/ch08.html
J'utilise VBoxTool à partir de http://vboxtool.sourceforge.net/ et cela fonctionne parfaitement pour moi. Il peut démarrer automatiquement les ordinateurs virtuels au démarrage et arrêter/enregistrer les ordinateurs virtuels à l’arrêt et fournit une interface de ligne de commande propre et simple.
Vous pouvez utiliser VBoxHeadless ou (et je me demande pourquoi personne ne l’a mentionné avant moi), vous pouvez simplement sélectionner l’une des options de démarrage permettant d’exécuter le VM sans interface graphique.
Soit maintenez la touche Maj enfoncée et démarrez la machine, ou cliquez avec le bouton droit de la souris sur la machine et recherchez quelque chose comme "Exécuter sans sortie" dans l'élément "Exécuter".
Pour démarrer en mode sans tête à l'aide de l'interface graphique:
Maintenez la touche Shift enfoncée lors du démarrage de la VM.
Ensuite, vous pourrez également vous connecter et vous déconnecter de l'interface graphique (Utilisation Afficher et Machine -> Détacher l'interface graphique options).
J'ai trouvé que le mode sans tête semble fonctionner correctement avec Linux (CentOS 5.6), mais vous perdez l'accès à la fonctionnalité RDP tant que le processus est en arrière-plan. Faites un 'fg' pour ramener le processus au premier plan et la fonctionnalité RDP est restaurée. On dirait que le démarrage de vm headless est mieux réalisé via un script init, où l'interactivité avec la console n'est pas requise.
J'ai ajouté ces lignes dans mon .bashrc:
VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'
Pour un accès ssh, vous n'avez pas besoin de modifier la configuration, conservez simplement le NAT et vous pouvez configurer la table de redirection de port comme suit:
Name | Protocol | Host Port | Guest Port
guestssh | TCP | 2222 | 22
localhost | TCP | 8080 | 80
Lorsque vous insérez localhost: 8080 dans le navigateur de votre ordinateur, la page à partir de VM (sur le port 80) sera ouverte.