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 ~