Examples of vmrun
Commands
The command-line
examples that follow work on VMware Fusion. Ubuntu16 is the virtual machine
example for Linux and Win10 is the virtual machine example for Windows.
Reboot
Commands
- Reboot a virtual machine.vmrun reset Win10.vmwarevm/Win10.vmx soft
Snapshot
Commands
- Create a snapshot of a virtual machinevmrun snapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot
- List snapshots on the virtual machine, showing the snapshot created in the previous command.vmrun listSnapshots Ubuntu16.vmwarevm/Ubuntu16.vmx
- Revert to the snapshot you made, which suspends the virtual machine, and restart to resume operation.vmrun revertToSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshotvmrun start Ubuntu16.vmwarevm/Ubuntu16.vmx
- Delete the snapshot by specifying its name.vmrun deleteSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot
Network Adapter
Commands
- List all network adapters on a virtual machine.vmrun listNetworkAdapters Win10.vmwarevm/Win10.vmx
- Add a NAT network adapter to a virtual machine.vmrun addNetworkAdapter Win10.vmwarevm/Win10.vmx nat
Host Network
Commands
- List all networks on the host.vmrun listHostNetworks
- Add a port forwarding on a host network with examples provided of the host network name, protocol, host port, guest IP address, guest port, and description.sudo vmrun setPortForwarding vmnet2 tcp 8082 1.1.1.2 88 portforwarding-description
Running Guest
Applications
Most
vmrun
guest operations require VMware Tools to be installed on the guest operating
system.
- Start the command tool, minimized, on a Windows guest.vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -interactive cmd.exe
- Start the command tool on a Windows guest as an active window on the desktop.vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -activeWindow -interactive cmd.exe
- Run a script on a Windows guest, with Perl as the script interpreter. Two separate examples follow.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"
- Run a batch script and keep running afterwards. To usecmd.exeon Windows, you must specify the script interpreter as null.vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx "" "cmd.exe /k \"C:\\Program Files\\Microsoft Visual Studio\\VC\\vcvarsall.bat\" x86"
- Run a Bash shell script file or Perl script on a Linux guest.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');"
- Start an X clock on a Linux guest, which requires the-displayoption to appear on the console.vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/xclock -display :0
- Run the same X clock command, but return control back to the console immediately.vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -noWait /usr/bin/xclock -display :0
- Run Firefox.vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/firefox --display=:0
- Setting the guest environment with theguestEnvparameter requires root permission on Linux because the change affects subsequent commands issued by other users.vmrun -gu guestUser -gp guestPassword writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv SRC tmp.example.com:1666
- List processes in a Linux guest and end the process numbered 8192.vmrun -gu guestUser -gp guestPassword listProcessesInGuest Ubuntu16.vmwarevm/Ubuntu16.vmxvmrun -gu guestUser -gp guestPassword killProcessInGuest UUbuntu16.vmwarevm/Ubuntu16.vmx 8192
- Run a Perl script on a Linux guest to remove DOS-style carriage returns from a file.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
- Run a Perl script on a Windows guest to insert DOS-style carriage returns in a file.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
Guest to Host File
Operations
- To copy a file from the host to a guest, the user must have write permission on the destination.vmrun -gu guestUser -gp guestPassword copyFileFromHostToGuest Ubuntu16.vmwarevm/Ubuntu16.vmx ~/img.db /tmp/img.db
- To copy a file from a guest to the host, the user must have read permission on the source file.vmrun -gu guestUser -gp guestPassword copyFileFromGuestToHost Ubuntu16.vmwarevm/Ubuntu16.vmx /home/username/addr addr.txt
- To enable shared folders.vmrun enableSharedFolders Ubuntu16.vmwarevm/Ubuntu16.vmx
- To share a folder on a Mac host with a particular Linux guest.Before sharing folders, you must enable them with theenabledSharedFoldersoption, or by selectingEnable Shared Foldersin theSharing Settingspanel of the virtual machine. On Linux guests, the/mnt/hgfsdirectory is available for sharing, but you can use a different directory for shared folders.vmrun addSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share
- To make a shared folder read‐only or to delete the shared folder.Shared folders are writable by default.vmrun setSharedFolderState Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share readonlyvmrun removeSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderNameOn Windows Vista and Windows 7 or later guests, only the Administrator account can usecopyFileFromHostToGuestanddeleteFileInGuestoptions to write and delete files in theC:\and system folders, or use thecreateDirectoryInGuestanddeleteDirectoryInGuestoptions to modify system directories. Regular users, even those with administrator privilege, cannot perform these operations.
Guest Variables and
Environment
- From the host, set a guest variable on the virtual machines.vmrun writeVariable Win10.vmwarevm/Win10.vmx guestVar vmstartdate 21April2017
- On the guest operating systems, read the guest variable that you just set.> rpctool.exe "info-get guestinfo.vmstartdate"$ vmware-rpctool "info-get guestinfo.vmstartdate"
- From the host, set a guest environment variable on a Linux virtual machine and verify by writing the environment variables into a temporary file.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:No output is sent to the host when you use therunScriptInGuestoption with thevmruncommand. Find the output of the command in the/tmp/env.outfile on the guest.
- On a Linux guest, determine the IP address and set it in a guest variable.$ ipaddr=`ifconfig eth0 | grep inet.addr` $ vmware-rpctool "info-set guestinfo.theip $ipaddr"
- From the host, retrieve the IP address that was just set to the guest.vmrun readVariable Ubuntu10/Ubuntu10.vmx guestVar theip
General
Commands
- List running virtual machines.vmrun list Total running VMs: 2Absolute-path-to-virtual-machine.vmxAbsolute-path-to-virtual-machine.vmx
- Prepare to install VMware Tools.vmrun installTools Ubuntu16.vmwarevm/Ubuntu16.vmx
The Template Virtual
Machine Commands
- Download a VMware Project Photon operating system virtual machine.vmrundownloadPhotonVM~