VMware Player - Exécution en tant que service

8

Est-il possible d'exécuter VMware Player en tant que service Windows afin qu'un utilisateur ne doive pas être connecté pour que le lecteur fonctionne?

jdiaz
la source

Réponses:

14

Vmware Server est l'outil approprié pour exécuter une machine virtuelle en arrière-plan, pas Vmware Player.

Zoredache
la source
1
(et est également gratuit)
Chris_K
2
Pas strictement vrai. Partout sur le net, les gens utilisent VMWare Player en tant que service.
JamesBarnett
4
Les gens de @JamesBarnett font beaucoup de choses qui ne sont pas "idéales" - allez faire un tour et regardez comment les autres se comportent sur les routes si vous ne me croyez pas. Le fait que vous puissiez «héberger» le lecteur VMWare pour qu'il s'exécute en tant que service ne change pas le fait que le serveur VMWare est l'outil prévu pour ce travail.
Rob Moir
1
Cela dépend peut-être du cas d'utilisation. Si vous souhaitez exécuter une machine virtuelle sans surveillance parce que vous voulez un serveur VMWare bon marché, je suis d'accord avec vous. Cependant, la déclaration «l'outil correct pour exécuter une machine virtuelle en arrière-plan» est trop large. Dans mon cas, je voulais exécuter Linux côte à côte avec Windows en utilisant le mode Unity et ne pas avoir à me soucier de voir l'interface utilisateur de VMWare Player. Windows se trouve également trop lié à des interfaces graphiques avec des processus d'arrière-plan. Une partie centrale de l'histoire de l'ordinateur est de pouvoir pirater quelque chose pour faire ce que vous voulez. L'outil ne se trompe pas, il vous suffit de connaître ses limites.
JamesBarnett
6
le serveur vmware est obsolète et a une faible "version vm hw"
Sirber
5

Désolé pour la réponse tardive avec cela. J'essayais de comprendre cela aujourd'hui. Je suis tombé sur cette réponse, j'ai pensé que je le ferais savoir à SF.

Vous pouvez en fait ...

  • Ajoutez ceci à votre fichier de configuration VMX pour que VMWare Player ne montre pas l'interface utilisateur:

    msg.noOk = "TRUE"

  • Obtenez instsrv.exe à partir d'un kit de ressources Windows Server pour créer votre propre service

  • Au démarrage, un fichier de commandes appelle le service que vous venez de rendre

Des instructions détaillées peuvent être trouvées ici:

http://research.stowers-institute.org/dct/docs/admin/VMwarePlayerService.htm

JamesBarnett
la source
dernier lien rompu
stimpy77
2

Je sais que c'est une vieille question, mais j'ai cherché partout sur Internet une solution à cela et je n'ai rien trouvé d'aussi complet que ce que j'aimerais partager.

Oui, il est possible d'utiliser vmware player en tant que service pour Linux (il existe une réponse distincte pour Windows); c'est facile et je n'ai aucune raison de ne pas le faire. C'est particulièrement bien pour héberger un serveur sans tête à partir d'un serveur sans tête.

L'autre choix orienté VMware, VMware Server, est obsolète et le seul autre choix à 0 $ que je connaisse est VirtualBox. Si vous aimez mieux que VMWare Player, plus de pouvoir pour vous, mais je connais VMWare Player et je ne vois aucune raison de ne pas utiliser un chemin bien pris en charge pour obtenir ce que je veux.

Vraisemblablement, vous souhaiterez qu'il s'exécute sous un compte non root et qu'il démarre et s'arrête aux heures de démarrage / d'arrêt du service standard. Si tel est le cas, voici comment le configurer:

  • Obtenez le package démon (généralement non installé par défaut):

    apt-get install daemon
    
  • Téléchargez VMware Player et VMware VIX depuis vmware.com et installez-les pour obtenir le moteur VM et le binaire vmrun (contrôle en ligne de commande de l'exécution de vm) de VIX.

  • Ajoutez le service au démarrage en créant /etc/init.d/<vm_server_name>. Cela pourrait ressembler à ceci:

    #! /bin/bash
    ### BEGIN INIT INFO
    # Provides:          vm_server_name
    # Required-Start:    $named $remote_fs $syslog
    # Required-Stop:     $named $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: My Server VM
    # Description:       Virtual Machine instance of My Server
    ### END INIT INFO
    
    PATH=/sbin:/usr/sbin:/bin:/usr/bin
    VM="/path/to/vmx_file.vmx"
    USER_TO_RUN_UNDER="username"
    
    if [[ "$USER" == "$USER_TO_RUN_UNDER" ]]; then
      USER_FLAG=""
    else
      USER_FLAG="--user=$USER_TO_RUN_UNDER"
    fi
    
    case "$1" in
        start)
            daemon $USER_FLAG -- vmrun -T player start "$VM" nogui &>/dev/null &
            ;;
        stop)
            vmrun -T player suspend "$VM" &>/dev/null
            while [[ "$(vmrun -T player list | grep -o "$VM")" == "$VM" ]]; do
              sleep 1
            done
            ;;
        *)
            echo "Usage: $0 start|stop" >&2
            exit 3
            ;;
    esac
    
  • Rendez le script exécutable:

    chmod a+x /etc/init.d/vm_server_name
    
  • Ajoutez le script aux niveaux d'exécution de démarrage / arrêt du service Linux standard. Les chiffres garantissent que c'est l'une des dernières choses démarrées et les premières à être fermées:

    update-rc.d vm_server_name defaults 99 01
    

Remarques:

  • Vous devrez probablement "sudo" toutes les commandes que vous modifiez les fichiers appartenant à root.
  • J'ai mis une boucle afin qu'à l'arrêt le script ne revienne pas à l'OS jusqu'à ce qu'il ait complètement suspendu l'OS invité. Je ne sais pas si c'est nécessaire ou non, mais cela semblait être une bonne idée. Cela va certainement ralentir l'arrêt du système d'exploitation hôte, mais cela en vaut la peine à mon avis.
  • Si vous devez interagir avec l'interface graphique locale du système d'exploitation invité, suspendez le serveur en exécutant /etc/init.d/vm_server_name stop, puis démarrez-le localement à l'aide de l'interface graphique du lecteur VMware. Une fois terminé, suspendez-le et exécutez /etc/init.d/vm_server_name startpour redémarrer l'instance sans tête.
David Gladfelter
la source
Si le lecteur Vmware et la boîte virtuelle sont la seule chose que vous avez trouvée sur Linux, alors vous ne cherchez pas très fort. KVM et Xen sont les outils préférés de nos jours.
Zoredache
1
Une bonne réponse pour les utilisateurs de Linux, mais la question portait spécifiquement sur l'exécution de VMWare Player en tant que service Windows - Peut-être devriez-vous poser une question distincte sur Linux et y répondre :-)
voretaq7
Merci pour les pointeurs vers d'autres solutions. Essayez de rechercher «vm as a service» dans Google et vous verrez ce que j'ai vu. Je pense que ce que vous dites vraiment, c'est que vous pensez que les hyperviseurs sont la nouvelle tendance. Je pense qu'il y a des raisons valables pour les amateurs de choisir un hôte Linux avec d'autres VM comme services, mais pour l'évolutivité, je suis sûr que vous avez raison.
David Gladfelter
Oups, je n'ai pas vu le mot «Windows» dans la question.
David Gladfelter
hmm, à la réflexion, je pense que les fenêtres n'étaient pas mentionnées dans la question quand j'ai répondu. Peut-être tort ...
David Gladfelter