Los ejemplos siguientes de línea de comandos funcionan en VMware Fusion. Ubuntu16 es el ejemplo de máquina virtual para Linux y Win10 es el ejemplo de máquina virtual para Windows.

Comandos de reinicio

  • Reiniciar una máquina virtual.

    vmrun reset Win10.vmwarevm/Win10.vmx soft

Comandos de instantánea

  • Crear una instantánea de una máquina virtual

    vmrun snapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

  • Enumerar las instantáneas en la máquina virtual, mostrando la instantánea creada en el comando anterior.

    vmrun listSnapshots Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Revertir a la instantánea hecha anteriormente, lo cual suspende la máquina virtual, y reiniciar para reanudar la operación.

    vmrun revertToSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

    vmrun start Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Eliminar la instantánea especificando su nombre.

    vmrun deleteSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

Comandos del adaptador de red

  • Enumerar todos los adaptadores de red en una máquina virtual.

    vmrun listNetworkAdapters Win10.vmwarevm/Win10.vmx

  • Agregar un adaptador de red NAT a una máquina virtual.

    vmrun addNetworkAdapter Win10.vmwarevm/Win10.vmx nat

Comandos de red de host

  • Enumerar todas las redes en el host.

    vmrun listHostNetworks

  • Agregar un enrutamiento de puerto en una red de host con ejemplos proporcionados del nombre de la red de host, protocolo, puerto de host, dirección IP del invitado, puerto del invitado y descripción.

    sudo vmrun setPortForwarding vmnet2 tcp 8082 1.1.1.2 88 portforwarding-description

Ejecución de aplicaciones de invitado

La mayoría de las operaciones de invitado de vmrun requieren que VMware Tools esté instalado en el sistema operativo invitado.

  • Iniciar la herramienta de comandos, minimizada, en un invitado de Windows.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -interactive cmd.exe

  • Iniciar la herramienta de comandos en un invitado de Windows como una ventana activa en el escritorio.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -activeWindow -interactive cmd.exe

  • Ejecutar un script en un invitado de Windows, con Perl como intérprete del script. A continuación se detallan dos ejemplos independientes.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "C:\perl\bin\perl.exe" "system('notepad.exe');"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "" "C:\perl\perl.exe C:\script.pl"

  • Ejecutar un script por lotes y mantenerlo en ejecución posteriormente. Para usar cmd.exe en Windows, debe especificar el intérprete del script como nulo.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx "" "cmd.exe /k \"C:\\Program Files\\Microsoft Visual Studio\\VC\\vcvarsall.bat\" x86"

  • Ejecutar un archivo de script de shell Bash o un script de Perl en un invitado de Linux.

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "" "/bin/bash myscript"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "/usr/bin/perl" "system('firefox');"

  • Iniciar un comando xclock en un invitado de Linux, lo cual requiere que la opción -display aparezca en la consola.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/xclock -display :0

  • Ejecutar el mismo comando xclock, pero devolver el control a la consola de forma inmediata.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -noWait /usr/bin/xclock -display :0

  • Ejecutar Firefox.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/firefox --display=:0

  • La configuración del entorno del invitado con el parámetro guestEnv requiere permiso de root en Linux, debido a que el cambio afecta a los comandos subsiguientes emitidos por otros usuarios.

    vmrun -gu guestUser -gp guestPassword writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv SRC tmp.example.com:1666

  • Enumerar los procesos en un invitado de Linux y finalizar el proceso número 8192.

    vmrun -gu guestUser -gp guestPassword listProcessesInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx

    vmrun -gu guestUser -gp guestPassword killProcessInGuest UUbuntu16.vmwarevm/Ubuntu16.vmx 8192

  • Ejecutar un script Perl en un invitado de Linux para quitar los retornos de carro de estilo DOS de un archivo.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/perl -e "open(FILE, '>/tmp/unix.txt'); while (<>) { s/\r\n/\n/ ; print FILE}" /tmp/dos.txt

  • Ejecutar un script Perl en un invitado de Windows para insertar retornos de carro de estilo DOS en un archivo.

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx C:\cygwin\bin\perl.exe -e "open(FILE, ‘>C:\Users\user\dos.txt’); while (<>) { s/\n/\r\n/ ; print FILE}" C:\Users\guestUser\unix.txt

Operaciones de archivo entre invitado y host

  • Para copiar un archivo desde el host a un invitado, el usuario debe tener permiso de escritura en el destino.

    vmrun -gu guestUser -gp guestPassword copyFileFromHostToGuest Ubuntu16.vmwarevm/Ubuntu16.vmx ~/img.db /tmp/img.db

  • Para copiar un archivo desde un invitado al host, el usuario debe tener permiso de lectura en el archivo de origen.

    vmrun -gu guestUser -gp guestPassword copyFileFromGuestToHost Ubuntu16.vmwarevm/Ubuntu16.vmx /home/username/addr addr.txt

  • Para habilitar las carpetas compartidas.

    vmrun enableSharedFolders Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Para compartir una carpeta en un host de Mac con un invitado de Linux particular.
    Nota: Antes de compartir carpetas, debe habilitarlas con la opción enabledSharedFolders o seleccionando Habilitar carpetas compartidas en el panel Configuración del uso compartido de la máquina virtual. En invitados de Linux, el directorio /mnt/hgfs está disponible para el uso compartido, pero puede usar un directorio diferente para las carpetas compartidas.

    vmrun addSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share

  • Para hacer que una carpeta compartida sea de solo lectura o eliminar la carpeta compartida.
    Nota: De forma predeterminada, se puede escribir en las carpetas compartidas.

    vmrun setSharedFolderState Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share readonly

    vmrun removeSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName

    Nota: En invitados de Windows Vista, Windows 7 o versiones posteriores, solo la cuenta del administrador puede usar las opciones copyFileFromHostToGuest y deleteFileInGuest para escribir y eliminar los archivos de C:\ y las carpetas del sistema, o bien usar las opciones createDirectoryInGuest y deleteDirectoryInGuest para modificar los directorios del sistema. Los usuarios normales, incluso aquellos con privilegios de administrador, no pueden realizar estas operaciones.

Entorno y variables de invitado

  • Desde el host, establezca una variable de invitado en las máquinas virtuales.

    vmrun writeVariable Win10.vmwarevm/Win10.vmx guestVar vmstartdate 21April2017

  • En los sistemas operativos invitados, lea la variable de invitado que acaba de establecer.

    > rpctool.exe "info-get guestinfo.vmstartdate"

    $ vmware-rpctool "info-get guestinfo.vmstartdate"

  • Desde el host, establezca una variable de entorno de invitado en una máquina virtual Linux y realice la verificación mediante la escritura de las variables de entorno en un archivo temporal.
    vmrun writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv LD_LIBRARY_PATH /usr/local/lib
    Guest user: root
    Guest password:
    vmrun runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /bin/bash "/usr/bin/env > /tmp/env.out"
    Guest user: root
    Guest password:
    Nota: No se envía al host ningún resultado cuando se usa la opción runScriptInGuest con el comando vmrun. Encuentre la salida del comando en el archivo /tmp/env.out del invitado.
  • En un invitado de Linux, determine la dirección IP y establézcala en una variable de invitado.
    $ ipaddr=`ifconfig eth0 | grep inet.addr`
    $ vmware-rpctool "info-set guestinfo.theip $ipaddr"
  • Desde el host, obtenga la dirección IP que se acaba de establecer en el invitado.

    vmrun readVariable Ubuntu10/Ubuntu10.vmx guestVar theip

Comandos generales

  • Enumerar las máquinas virtuales en ejecución.
    vmrun list
    Total running VMs: 2
    Ruta-absoluta-a-la-máquina-virtual.vmx
    
    Ruta-absoluta-a-la-máquina-virtual.vmx
  • Realizar la preparación para instalar VMware Tools.

    vmrun installTools Ubuntu16.vmwarevm/Ubuntu16.vmx

Comandos de la máquina virtual de plantilla

  • Descargar una máquina virtual de sistema operativo VMware Project Photon.

    vmrun downloadPhotonVM ~