Gli esempi della riga di comando seguenti funzionano in VMware Fusion. Ubuntu16 è la macchina virtuale di esempio per Linux e Win10 è la macchina virtuale di esempio per Windows.

Comandi di riavvio

  • riavviare la macchina virtuale.

    vmrun reset Win10.vmwarevm/Win10.vmx soft

Comandi di snapshot

  • Creare uno snapshot di una macchina virtuale.

    vmrun snapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

  • Elencare gli snapshot nella macchina virtuale, mostrando lo snapshot creato nel comando precedente.

    vmrun listSnapshots Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Ripristinare lo snapshot creato, che consente di sospendere la macchina virtuale e riavviare il sistema per riprendere il funzionamento.

    vmrun revertToSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

    vmrun start Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Eliminare lo snapshot specificandone il nome.

    vmrun deleteSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

Comandi di scheda di rete

  • Elencare tutte le schede di rete in una macchina virtuale.

    vmrun listNetworkAdapters Win10.vmwarevm/Win10.vmx

  • Aggiungere una scheda di rete NAT in una macchina virtuale.

    vmrun addNetworkAdapter Win10.vmwarevm/Win10.vmx nat

Comandi di rete host

  • Elencare tutte le reti nell'host.

    vmrun listHostNetworks

  • Aggiungere un inoltro della porta in una rete host con gli esempi forniti di nome della rete host, protocollo, porta host, indirizzo IP guest, porta guest e descrizione.

    sudo vmrun setPortForwarding vmnet2 tcp 8082 1.1.1.2 88 portforwarding-description

Esecuzione di applicazioni guest

Per la maggior parte delle operazioni guest vmrun, è necessario che VMware Tools sia installato nel sistema operativo guest.

  • Avviare lo strumento di comando, ridotto a icona, in un guest Windows.

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

  • Avviare lo strumento di comando come una finestra attiva sul desktop in un guest Windows.

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

  • Eseguire uno script in un guest Windows, con Perl come interprete dello script. Di seguito vengono illustrati due esempi distinti.

    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"

  • Eseguire uno script batch e mantenerlo in esecuzione in seguito. Per utilizzare cmd.exe in Windows, è necessario specificare l'interprete dello script come null.

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

  • Eseguire uno script Perl o un file di script della shell Bash in un guest 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');"

  • Avviare un xclock in un guest Linux, che richiede che l'opzione -display venga visualizzata nella console.

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

  • Eseguire lo stesso comando xclock, ma restituire immediatamente il controllo alla console.

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

  • Eseguire Firefox.

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

  • L'impostazione dell'ambiente guest con il parametro guestEnv richiede l'autorizzazione root in Linux perché la modifica influisce sui comandi successivi eseguiti da altri utenti.

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

  • Elencare i processi in un guest Linux e terminare il processo numero 8192.

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

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

  • Eseguire uno script Perl in un guest Linux per rimuovere il ritorno a capo di tipo DOS da un 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

  • Eseguire uno script Perl in un guest Windows per inserire il ritorno a capo di tipo DOS in un 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

Operazioni relative ai file da guest a host

  • Per copiare un file dall'host a un guest, l'utente deve disporre dell'autorizzazione di scrittura nella destinazione.

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

  • Per copiare un file da un guest all'host, l'utente deve disporre dell'autorizzazione di lettura nel file di origine.

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

  • Per abilitare le cartelle condivise.

    vmrun enableSharedFolders Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Per condividere una cartella in un host Mac con un guest Linux specifico.
    Nota: Prima di condividere le cartelle, è necessario abilitarle con l'opzione enabledSharedFolders o selezionando Abilita cartelle condivise nel pannello Impostazioni condivisione della macchina virtuale. Nei guest Linux, la directory /mnt/hgfs è disponibile per la condivisione, ma è possibile utilizzare un'altra directory per le cartelle condivise.

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

  • Per impostare una cartella condivisa come cartella di sola lettura o eliminare la cartella condivisa.
    Nota: Le cartelle condivise sono scrivibili per impostazione predefinita.

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

    vmrun removeSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName

    Nota: Nei guest Windows Vista e Windows 7 o versioni successive, solo l'account dell'amministratore può utilizzare le opzioni copyFileFromHostToGuest e deleteFileInGuest per scrivere ed eliminare i file nelle cartelle C:\ e di sistema, oppure utilizzare le opzioni createDirectoryInGuest e deleteDirectoryInGuest per modificare le directory di sistema. Gli utenti standard, anche quelli con privilegi di amministratore, non possono eseguire queste operazioni.

Variabili guest e ambiente

  • Dall'host impostare un variabile guest nelle macchine virtuali.

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

  • Nei sistemi operativi guest, leggere la variabile guest appena impostata.

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

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

  • Dall'host impostare un ambiente guest variabile in una macchina virtuale Linux e verificarlo scrivendo l'ambiente variabile in un file temporaneo.
    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: Quando si utilizza l'opzione runScriptInGuest con il comando vmrun, all'host non viene inviato alcun output. Trovare l'output del comando nel file /tmp/env.out nel guest.
  • In un guest Linux, determinare l'indirizzo IP e impostarlo in una variabile guest.
    $ ipaddr=`ifconfig eth0 | grep inet.addr`
    $ vmware-rpctool "info-set guestinfo.theip $ipaddr"
  • Dall'host recuperare l'indirizzo IP appena impostato nel guest.

    vmrun readVariable Ubuntu10/Ubuntu10.vmx guestVar theip

Comandi generici

  • Elencare le macchine virtuali in esecuzione.
    vmrun list
    Total running VMs: 2
    Absolute-path-to-virtual-machine.vmx
    
    Absolute-path-to-virtual-machine.vmx
  • Preparare l'installazione di VMware Tools.

    vmrun installTools Ubuntu16.vmwarevm/Ubuntu16.vmx

Comandi della macchina virtuale modello

  • Scaricare una macchina virtuale con sistema operativo VMware Project Photon.

    vmrun downloadPhotonVM ~