Lancer une VirtualBox depuis l'écran de connexion GDM
Cet article explique comment ajouter une nouvelle entrée dans le GDM (GNOME Display Manager) afin d'ouvrir une session directement sur une machine virtuelle.
Pour que cela fonctionne correctement, on devra avoir au préalable installé VirtualBox et configué une machine virtuelle (ex: Windows XP).
1. Mise en place
Dans un terminal en simple utilisateur, on va chercher le nom exact de la machine virtuelle que l'on souhaite utiliser :
[pti-seb@localhost ~]$ ls ~/.VirtualBox/Machines/
Windows XP
Maintenant que l'on connaît le nom de la machine (Windows XP dans l'exemple), on va pouvoir créer un script de démarrage utilisant VirtualBox. Ouvrez un terminal en root et créez un fichier /usr/local/bin/startvmbox comme celui-ci, en adaptant le nom de la machine virtuelle et le mot de passe :
#!/bin/bash
su votrepassword
/usr/bin/VirtualBox -startvm "Windows XP"
Positionnez ensuite les bons droits sur ce dernier (adaptez le nom d'utilisateur) :
chown pti-seb /usr/local/bin/startvmbox && chmod 700 /usr/local/bin/startvmbox
L'étape finale consistera à ajouter une nouvelle entrée dans le GDM afin de pouvoir démarrer directement dessus. Pour ce faire, ouvrez un terminal en root et créez le fichier /usr/share/xsessions/virtualbox.desktop avec comme contenu ceci :
[Desktop Entry]
Encoding=UTF-8
Name=WindowsXP>
Comment=My Virtual WindowsXP
Exec=/usr/local/bin/startvmbox
Icon=
Type=Application
2. Utilisation
Il ne vous restera plus qu'à relancer le serveur X (ctrl + alt + backspace) et démarrer une nouvelle session en choisissant l'entrée récemment ajoutée.
11 Commentaires pour "Lancer une VirtualBox depuis l'écran de connexion GDM"
Flux des commentaires de cet article Ajouter un commentaire> "chown pti-seb /usr/local/bin/startvmbox && chmod 700 /usr/local/bin/startvmbox "
Ouch o_O
@Bochecha : cette commande ne te plait pas ?
Donner à ton utilisateur la propriété d'une commande système ?
Non, je trouve pas ça terrible :-/
Soit c'est une commande de ton utilisateur, auquel cas, tu la mets pas dans /usr
Soit c'est une commande système, auquel cas, ton utilisateur n'en est pas le propriétaire mais a simplement le droit de l'exécuter.
Autre chose:
> "su votrepassword"
Depuis quand ça marche ça ? su prend comme argument le _login_, pas le mot de passe.
Enfin, ce script est exécuté à l'ouverture de la session non ? Donc le su devrait pas vraiment être nécessaire puisque tu es déjà logué... non ? (mais là, je connais pas assez GDM pour me prononcer :-S)
Bochecha, je pense bien que tout est dans le titre " Lancer une VirtualBox depuis l'écran de connexion GDM "
Donc l'écran de connexion apparaît avant d'être entrer dans la session, se qui est un peu logique comme tu entre ton nom d'utilisateur puis ton mot de passe dans l'écran de connexion !!
@bochecha et @Sh0TT4 : après réflexion j'ai un gros doute. J'avais essayé le su sans indiqué le mot de passe et cela ne fonctionnait pas, mais quand je regarde le man de su, cette syntaxe n'existe pas. Je vais refaire le teste et voir si il faut l'indiquer.
@Sh0YY4: raison de plus. Le script ne doit pas être lancé pendant GDM mais une fois l'utilisateur authentifié. Je vois donc pas à quoi sert le mot de passe...
@pti-seb : Bizarre ouais :-/
@bochecha : je retire se que j'ai dit !! finalement ta raison
ps: Sh0TT4 et non Sh0YY4.
Bonjour moi justement j'aimerai que VirtualBox se lance avant d'ouvrir une session car j'ai lancé des serveurs ect ...
je ne veux absolument pas que VirtualBox soit lancé APRÈS avoir ouvrir une session.
Quelqu'un pourrait il m'aidé merci .
Il me semble qu'avec VirtualBox 3, cela ne marche pas, en effet, le moyen de lancer une VM c'est
Mais cette Option utilise le réseau, connexion distante. Hors quand je me connecte avec GDM, je n'ai pas encore le réseau (network-manager). Donc ça plante.
Me trompes-je? Ou quelqu'un a une solution ?
Correction, je ne sais pas pourquoi, mais vboxmanage se lance correctement, mais la session est automatiquement close. Idem si je lance simplement un gnome-terminal à la place, pareil, seul firefox reste ouvert... Bizarre...
Bon ben question réponse, après avoir fait un tour sur la documentation en ligne de VirtualBox, j'ai tenté de lancer la machine avec la commande VBoxSDL qui permet de lancer une version standalone de la machine virtuelle et ça fonctionne très bien!
Il faut par contre ajouter des paramètres précis comme --fixedmode pour indiquer la résolution et la profondeur:
Et le tour est joué!