diff options
Diffstat (limited to 'doc/manual/en_US/man_VBoxManage-guestcontrol.xml')
-rw-r--r-- | doc/manual/en_US/man_VBoxManage-guestcontrol.xml | 1301 |
1 files changed, 1301 insertions, 0 deletions
diff --git a/doc/manual/en_US/man_VBoxManage-guestcontrol.xml b/doc/manual/en_US/man_VBoxManage-guestcontrol.xml new file mode 100644 index 00000000..c7cb6334 --- /dev/null +++ b/doc/manual/en_US/man_VBoxManage-guestcontrol.xml @@ -0,0 +1,1301 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + manpage, user manual, usage: VBoxManage guestcontrol +--> +<!-- + Copyright (C) 2006-2022 Oracle and/or its affiliates. + + This file is part of VirtualBox base platform packages, as + available from https://www.virtualbox.org. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation, in version 3 of the + License. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses>. + + SPDX-License-Identifier: GPL-3.0-only +--> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[ +<!ENTITY % all.entities SYSTEM "all-entities.ent"> +%all.entities; +]> +<refentry id="vboxmanage-guestcontrol" lang="en"> + <refentryinfo> + <pubdate>$Date: 2023-01-05 14:44:46 +0100 (Thu, 05 Jan 2023) $</pubdate> + <title>VBoxManage guestcontrol</title> + </refentryinfo> + + <refmeta> + <refentrytitle>VBoxManage-guestcontrol</refentrytitle> + <manvolnum>1</manvolnum> + </refmeta> + + <refnamediv> + <refname>VBoxManage-guestcontrol</refname> + <refpurpose>control a virtual machine from the host system</refpurpose> + <refclass>&product-name;</refclass> + </refnamediv> + + <refsynopsisdiv> + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-run"> +<!-- The 'id' is mandatory and must start with 'synopsis-'. --> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">run</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <arg>--dos2unix</arg> + <arg>--exe=<replaceable>filename</replaceable></arg> + <arg>--ignore-orphaned-processes</arg> + <group> + <arg choice="plain">--no-wait-stderr</arg> + <arg choice="plain">--wait-stderr</arg> + </group> + <group> + <arg choice="plain">--no-wait-stdout</arg> + <arg choice="plain">--wait-stdout</arg> + </group> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--profile</arg> + <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg> + <arg>--quiet</arg> + <arg>--timeout=<replaceable>msec</replaceable></arg> + <arg>--unix2dos</arg> + <arg>--unquoted-args</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-start"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">start</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <arg>--exe=<replaceable>filename</replaceable></arg> + <arg>--ignore-orphaned-processes</arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--profile</arg> + <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg> + <arg>--quiet</arg> + <arg>--timeout=<replaceable>msec</replaceable></arg> + <arg>--unquoted-args</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyfrom"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">copyfrom</arg> + <arg>--dereference</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--no-replace</arg> + <arg>--recursive</arg> + <arg>--target-directory=<replaceable>host-destination-dir</replaceable></arg> + <arg>--update</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req"><replaceable>guest-source0</replaceable></arg> + <arg choice="plain"><replaceable>guest-source1</replaceable> [...]</arg> + <arg choice="req"><replaceable>host-destination</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyto"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">copyto</arg> + <arg>--dereference</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--no-replace</arg> + <arg>--recursive</arg> + <arg>--target-directory=<replaceable>guest-destination-dir</replaceable></arg> + <arg>--update</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req"><replaceable>host-source0</replaceable></arg> + <arg choice="plain"><replaceable>host-source1</replaceable> [...]</arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mkdir"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">mkdir</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <arg>--mode=<replaceable>mode</replaceable></arg> + <arg>--parents</arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rmdir"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">rmdir</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--recursive</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rm"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">rm</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <arg>--force</arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mv"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">mv</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req" rep="repeat"><replaceable>source</replaceable></arg> + <arg choice="req"><replaceable>destination-directory</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mktemp"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">mktemp</arg> + <arg>--directory</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <arg>--mode=<replaceable>mode</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--secure</arg> + <arg>--tmpdir=<replaceable>directory-name</replaceable></arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req"><replaceable>template-name</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-stat"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">stat</arg> + <arg>--domain=<replaceable>domainname</replaceable></arg> + <group> + <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg> + <arg choice="plain">--password=<replaceable>password</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--username=<replaceable>username</replaceable></arg> + <arg>--verbose</arg> + <arg choice="req"><replaceable>filename</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-list"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">list</arg> + <group choice="req"> + <arg choice="plain">all</arg> + <arg choice="plain">files</arg> + <arg choice="plain">processes</arg> + <arg choice="plain">sessions</arg> + </group> + <arg>--quiet</arg> + <arg>--verbose</arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closeprocess"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">closeprocess</arg> + <group> + <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg> + <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--verbose</arg> + <arg choice="req" rep="repeat"><replaceable>PID</replaceable></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closesession"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">closesession</arg> + <group> + <arg choice="plain">--all</arg> + <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg> + <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg> + </group> + <arg>--quiet</arg> + <arg>--verbose</arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-updatega"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">updatega</arg> + <arg>--quiet</arg> + <arg>--verbose</arg> + <arg>--source=<replaceable>guest-additions.ISO</replaceable></arg> + <arg>--wait-start</arg> + <arg>-- <arg rep="repeat"><replaceable>argument</replaceable></arg></arg> + </cmdsynopsis> + + <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-watch"> + <command>VBoxManage guestcontrol</command> + <group choice="req"> + <arg choice="plain"><replaceable>uuid</replaceable></arg> + <arg choice="plain"><replaceable>vmname</replaceable></arg> + </group> + <arg choice="plain">watch</arg> + <arg>--quiet</arg> + <arg>--verbose</arg> + </cmdsynopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + <para> + The <command>VBoxManage guestcontrol</command> command enables you + to control a guest (VM) from the host system. See + <xref linkend="guestadd-guestcontrol" />. + </para> + <refsect2> + <title>Common Options and Operands</title> + <para> + The following options can be used by any of the + <command>VBoxManage guestcontrol</command> subcommands: + </para> + <variablelist> + <varlistentry> + <term><replaceable>uuid</replaceable>|<replaceable>vmname</replaceable></term> + <listitem><para> + Specifies the Universally Unique Identifier (UUID) or name + of the VM. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--quiet</option></term> + <listitem><para> + Specifies that the command produce quieter output. + </para><para> + The short form of this option is <option>-q</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--verbose</option></term> + <listitem><para> + Specifies that the command produce more detailed output. + </para><para> + The short form of this option is <option>-v</option>. + </para></listitem> + </varlistentry> + </variablelist> + <para> + Some of the <command>VBoxManage guestcontrol</command> + subcommands require that you provide guest credentials for + authentication. The subcommands are: + <command>copyfrom</command>, <command>copyto</command>, + <command>mkdir</command>, <command>mktemp</command>, + <command>mv</command>, <command>rmdir</command>, + <command>rm</command>, <command>run</command>, + <command>start</command>, and <command>stat</command>. + </para> + <para> + While you cannot perform anonymous executions, a user account + password is optional and depends on the guest's OS security + policy. If a user account does not have an associated password, + specify an empty password. On OSes such as Windows, you might + need to adjust the security policy to permit user accounts with + an empty password. In additional, global domain rules might + apply and therefore cannot be changed. + </para> + <para> + The following options are used for authentication on the guest + VM: + </para> + <variablelist> + <varlistentry> + <term><option>--domain=<replaceable>domainname</replaceable></option></term> + <listitem><para> + Specifies the user domain for Windows guest VMs. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--password=<replaceable>password</replaceable></option></term> + <listitem><para> + Specifies the password for the specified user. If you do + not specify a password on the command line or if the + password file is empty, the specified user needs to have + an empty password. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--passwordfile=<replaceable>filename</replaceable></option></term> + <listitem><para> + Specifies the absolute path to a file on the guest OS that + contains the password for the specified user. If the + password file is empty or if you do not specify a password + on the command line, the specified user needs to have an + empty password. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--username=<replaceable>username</replaceable></option></term> + <listitem><para> + Specifies an existing user on the guest OS that runs the + process. If unspecified, the host user runs the process. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2> + <title>Guest Process Restrictions</title> + <para> + By default, you can run up to five guest processes + simultaneously. If a new guest process starts and would exceed + this limit, the oldest not-running guest process is discarded to + run the new process. You cannot retrieve output from a discarded + guest process. If all five guest processes are active and + running, attempting to start a new guest process fails. + </para> + <para> + You can modify the guest process execution limit in two ways: + </para> + <itemizedlist> + <listitem><para> + Use the <command>VBoxManage setproperty</command> command to + update the + <literal>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</literal> + guest property value. + </para></listitem> + <listitem><para> + Use the <command>VBoxService</command> command and specify + the + <option>--control-procs-max-kept=<replaceable>value</replaceable></option> + option. + </para></listitem> + </itemizedlist> + <para> + After you change the limit, you must restart the guest OS. + </para> + <para> + You can serve an unlimited number guest processes by specifing a + value of <literal>0</literal>, however this action is not + recommended. + </para> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-run"> + <title>Run a Command on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> run</command> command enables + you to execute a program on the guest VM. Standard input, + standard output, and standard error are redirected from the VM + to the host system until the program completes. + </para> + <note> + <para> + The Windows OS imposes certain limitations for graphical + applications. See <xref linkend="KnownIssues" />. + </para> + </note> + <variablelist> + <varlistentry> + <term><option>--exe=<replaceable>path-to-executable</replaceable></option></term> + <listitem><para> + Specifies the absolute path of the executable program to + run on the guest VM. For example: + <filename>C:\Windows\System32\calc.exe</filename>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--timeout=<replaceable>msec</replaceable></option></term> + <listitem><para> + Specifies the maximum amount of time, in milliseconds, + that the program can run. While the program runs, + <command>VBoxManage</command> receives its output. + </para><para> + If you do not specify a timeout value, + <command>VBoxManage</command> waits indefinitely for the + process to end, or for an error to occur. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option></term> + <listitem><para> + Sets, modifies, and unsets environment variables in the + guest VM environment. + </para><para> + When you create a guest process, it runs with the default + standard guest OS environment. Use this option to modify + environment variables in that default environment. + </para><para> + Use the + <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option> + option to set or modify the environment variable specified + by <replaceable>NAME</replaceable>. + </para><para> + Use the + <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option> + option to unset the environment variable specified by + <replaceable>NAME</replaceable>. + </para><para> + Ensure that any environment variable name or value that + includes spaces is enclosed by quotes. + </para><para> + Specify a <option>--putenv</option> option for each + environment variable that you want to modify. + </para><para> + The short form of this option is <option>-E</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--unquoted-args</option></term> + <listitem><para> + Disables the escaped double quoting of arguments that you + pass to the program. For example, + <literal>\"fred\"</literal>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--ignore-orphaned-processes</option></term> + <listitem><para> + Ignores orphaned processes. Not yet implemented. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--profile</option></term> + <listitem><para> + Uses a shell profile to specify the environment to use. + Not yet implemented. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--no-wait-stdout</option></term> + <listitem><para> + Does not wait for the guest process to end or receive its + exit code and any failure explanation. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--wait-stdout</option></term> + <listitem><para> + Waits for the guest process to end to receive its exit + code and any failure explanation. The + <command>VBoxManage</command> command receives the + standard output of the guest process while the process + runs. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--no-wait-stderr</option></term> + <listitem><para> + Does not wait for the guest process to end to receive its + exit code, error messages, and flags. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--wait-stderr</option></term> + <listitem><para> + Waits for the guest process to end to receive its exit + code, error messages, and flags. The + <command>VBoxManage</command> command receives the + standard error of the guest process while the process + runs. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--dos2unix</option></term> + <listitem><para> + Transform DOS or Windows guest output to UNIX or Linux + output. This transformation changes CR + LF line endings + to LF. Not yet implemented. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--unix2dos</option></term> + <listitem><para> + Transform UNIX or Linux guest output to DOS or Windows + output. This transformation changes LF line endings to CR + + LF. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>-- <replaceable>program/arg0</replaceable> [<replaceable>argument</replaceable>...]</option></term> + <listitem><para> + Specifies the name of the program and any arguments to + pass to the program. + </para><para> + Ensure that any command argument that includes spaces is + enclosed by quotes. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-start"> + <title>Start a Command on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> start</command> command + enables you to execute a guest program until it completes. + </para> + <note> + <para> + The Windows OS imposes certain limitations for graphical + applications. See <xref linkend="KnownIssues" />. + </para> + </note> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-copyfrom"> + <title>Copy a file from the guest to the host.</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> copyfrom</command> command + enables you to copy a file from the guest VM to the host system. + </para> + <variablelist> + <varlistentry> + <term><option>--dereference</option></term> + <listitem><para> + Enables following of symbolic links on the guest file + system. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--no-replace</option></term> + <listitem><para> + Only copies a file if it does not exist on the host yet. + </para><para> + The short form of this option is <option>-n</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--recursive</option></term> + <listitem><para> + Recursively copies files and directories from the + specified guest directory to the host. + </para><para> + The short form of this option is <option>-R</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--target-directory=<replaceable>host-dst-dir</replaceable></option></term> + <listitem><para> + Specifies the absolute path of the destination directory + on the host system. For example, + <filename>C:\Temp</filename>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--update</option></term> + <listitem><para> + Only copies a file if the guest file is newer than on the host. + </para><para> + The short form of this option is <option>-u</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>guest-source0</replaceable> [<replaceable>guest-source1</replaceable> [...]]</literal></term> + <listitem><para> + Specifies the absolute path of one or more files to copy + from the guest VM. For example, + <filename>C:\Windows\System32\calc.exe</filename>. You can + use wildcards to specify multiple files. For example, + <filename>C:\Windows\System*\*.dll</filename>. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-copyto"> + <title>Copy a file from the host to the guest.</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> copyto</command> command + enables you to copy a file from the host system to the guest VM. + </para> + <variablelist> + <varlistentry> + <term><option>--dereference</option></term> + <listitem><para> + Enables following of symbolic links on the host system. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--no-replace</option></term> + <listitem><para> + Only copies a file if it does not exist on the guest yet. + </para><para> + The short form of this option is <option>-n</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--recursive</option></term> + <listitem><para> + Recursively copies files and directories from the + specified host directory to the guest. + </para><para> + The short form of this option is <option>-R</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--target-directory=<replaceable>guest-dst-dir</replaceable></option></term> + <listitem><para> + Specifies the absolute path of the destination directory + on the guest. For example, + <filename>/home/myuser/fromhost</filename>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--update</option></term> + <listitem><para> + Only copies a file if the host file is newer than on the guest. + </para><para> + The short form of this option is <option>-u</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>host-source0</replaceable> [<replaceable>host-source1</replaceable> [...]]</literal></term> + <listitem><para> + Specifies the absolute path of a file to + copy from the host system. For example, + <filename>C:\Windows\System32\calc.exe</filename>. You can + use wildcards to specify multiple files. For example, + <filename>C:\Windows\System*\*.dll</filename>. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-mkdir"> + <title>Create a directory on the guest.</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> mkdir</command> command + enables you to create one or more directories on the guest VM. + </para> + <para> + Alternate forms of this subcommand are <command>md</command>, + <command>createdir</command>, and + <command>createdirectory</command>. + </para> + <variablelist> + <varlistentry> + <term><option>--parents</option></term> + <listitem><para> + Creates any of the missing parent directories of the + specified directory. + </para><para> + For example, if you attempt to create the + <filename>D:\Foo\Bar</filename> directory and the + <filename>D:\Foo</filename> directory does not exist, + using the <option>--parents</option> creates the missing + <filename>D:\Foo</filename> directory. However, if you + attempt to create the <filename>D:\Foo\Bar</filename> and + do not specify the <option>--parents</option> option, the + command fails. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--mode=<replaceable>mode</replaceable></option></term> + <listitem><para> + Specifies the permission mode to use for the specified + directory. If you specify the <option>--parents</option> + option, the mode is used for the associated parent + directories, as well. <replaceable>mode</replaceable> is a + four-digit octal mode such as <literal>0755</literal>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term> + <listitem><para> + Specifies an absolute path of one or more directories to + create on the guest VM. For example, + <filename>D:\Foo\Bar</filename>. + </para><para> + If all of the associated parent directories do not exist + on the guest VM, you must specify the + <option>--parents</option> option. + </para><para> + You must have sufficient rights on the guest VM to create + the specified directory and its parent directories. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-rmdir"> + <title>Remove a directory from the guest.</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> rmdir</command> command + enables you to delete the specified directory from the guest VM. + </para> + <para> + Alternate forms of this subcommand are + <command>removedir</command> and + <command>removedirectory</command>. + </para> + <variablelist> + <varlistentry> + <term><option>--recursive</option></term> + <listitem><para> + Recursively removes directories from the specified from + the guest VM. + </para><para> + The short form of this option is <option>-R</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term> + <listitem><para> + Specifies an absolute path of one or more directories to + remove from the guest VM. You can use wildcards to specify + the directory names. For example, + <filename>D:\Foo\*Bar</filename>. + </para><para> + You must have sufficient rights on the guest VM to remove + the specified directory and its parent directories. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-rm"> + <title>Remove a file from the guest.</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> rm</command> command enables + you to delete the specified files from the guest VM. + </para> + <para> + The alternate form of this subcommand is + <command>removefile</command>. + </para> + <variablelist> + <varlistentry> + <term><option>--force</option></term> + <listitem><para> + Forces the operation and overrides any confirmation + requests. + </para><para> + The short form of this option is <option>-f</option>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>guest-file</replaceable> [<replaceable>guest-file</replaceable>...]</literal></term> + <listitem><para> + Specifies an absolute path of one or more file to remove + from the guest VM. You can use wildcards to specify the + file names. For example, + <filename>D:\Foo\Bar\text*.txt</filename>. + </para><para> + You must have sufficient rights on the guest VM to remove + the specified file. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-mv"> + <title>Rename a file or Directory on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> mv</command> command enables + you to rename files and directories on the guest VM. + </para> + <para> + Alternate forms of this subcommand are <command>move</command>, + <command>ren</command>, and <command>rename</command>. + </para> + <variablelist> + <varlistentry> + <term><literal><replaceable>guest-source</replaceable> [<replaceable>guest-source</replaceable>...]</literal></term> + <listitem><para> + Specifies an absolute path of a file or a single directory + to move or rename on the guest VM. You can use wildcards + to specify the file names. + </para><para> + You must have sufficient rights on the guest VM to access + the specified file or directory. + </para></listitem> + </varlistentry> + <varlistentry> + <term><replaceable>dest</replaceable></term> + <listitem><para> + Specifies the absolute path of the renamed file or + directory, or the destination directory to which to move + the files. If you move only one file, + <replaceable>dest</replaceable> can be a file or a + directory, otherwise <replaceable>dest</replaceable> must + be a directory. + </para><para> + You must have sufficient rights on the guest VM to access + the destination file or directory. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-mktemp"> + <title>Create a Temporary File or Directory on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> mktemp</command> command + enables you to create a temporary file or temporary directory on + the guest VM. You can use this command to assist with the + subsequent copying of files from the host system to the guest + VM. By default, this command creates the file or directory in + the guest VM's platform-specific <filename>temp</filename> + directory. + </para> + <para> + Alternate forms of this subcommand are + <command>createtemp</command> and + <command>createtemporary</command>. + </para> + <variablelist> + <varlistentry> + <term><option>--directory</option></term> + <listitem><para> + Creates a temporary directory that is specified by the + <replaceable>template</replaceable> operand. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--secure</option></term> + <listitem><para> + Enforces secure file and directory creation by setting the + permission mode to <literal>0755</literal>. Any operation + that cannot be performed securely fails. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--mode=<replaceable>mode</replaceable></option></term> + <listitem><para> + Specifies the permission mode to use for the specified + directory. <replaceable>mode</replaceable> is a four-digit + octal mode such as <literal>0755</literal>. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--tmpdir=<replaceable>directory</replaceable></option></term> + <listitem><para> + Specifies the absolute path of the directory on the guest + VM in which to create the specified file or directory. If + unspecified, <replaceable>directory</replaceable> is the + platform-specific <filename>temp</filename> directory. + </para></listitem> + </varlistentry> + <varlistentry> + <term><replaceable>template</replaceable></term> + <listitem><para> + Specifies a template file name for the temporary file, + without a directory path. The template file name must + contain at least one sequence of three consecutive X + characters, or must end in X. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-stat"> + <title>Show a file or File System Status on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> stat</command> command enables + you to show the status of files or file systems on the guest VM. + </para> + <variablelist> + <varlistentry> + <term><literal><replaceable>file</replaceable> [<replaceable>file</replaceable> ...]</literal></term> + <listitem><para> + Specifies an absolute path of a file or file system on the + guest VM. For example, + <filename>/home/foo/a.out</filename>. + </para><para> + You must have sufficient rights on the guest VM to access + the specified files or file systems. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-list"> + <title>List the Configuration and Status Information for a Guest Virtual + Machine</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> list</command> command enables + you to list guest control configuration and status information. + For example, the output shows open guest sessions, guest + processes, and files. + </para> + <variablelist> + <varlistentry> + <term><literal>all</literal>|<literal>sessions</literal>|<literal>processes</literal>|<literal>files</literal></term> + <listitem><para> + Indicates the type of information to show. + <literal>all</literal> shows all available data, + <literal>sessions</literal> shows guest sessions, + <literal>processes</literal> shows processes, and + <literal>files</literal> shows files. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-closeprocess"> + <title>Terminate a Process in a guest Session</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> closeprocess</command> command + enables you to terminate a guest process that runs in a guest + session. Specify the process by using a process identifier (PID) + and the session by using the session ID or name. + </para> + <variablelist> + <varlistentry> + <term><option>--session-id=<replaceable>ID</replaceable></option></term> + <listitem><para> + Specifies the ID of the guest session. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term> + <listitem><para> + Specifies the name of the guest session. Use a pattern + that contains wildcards to specify multiple sessions. + </para></listitem> + </varlistentry> + <varlistentry> + <term><literal><replaceable>PID</replaceable> [<replaceable>PID</replaceable> ...]</literal></term> + <listitem><para> + Specifies the list of PIDs of guest processes to + terminate. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-closesession"> + <title>Close a guest Session</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> closesession</command> command + enables you to close a guest session. Specify the guest session + either by session ID or by name. + </para> + <variablelist> + <varlistentry> + <term><option>--session-id=<replaceable>ID</replaceable></option></term> + <listitem><para> + Specifies the ID of the guest session. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term> + <listitem><para> + Specifies the name of the guest session. Use a pattern + that contains wildcards to specify multiple sessions. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--all</option></term> + <listitem><para> + Closes all guest sessions. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-updatega"> + <title>Update the Guest Additions Software on the guest</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> updatega</command> command + enables you to update the Guest Additions software installed in + the specified guest VM. + </para> + <para> + Alternate forms of this subcommand are + <command>updateadditions</command> and + <command>updateguestadditions</command>. + </para> + <variablelist> + <varlistentry> + <term><option>--source=<replaceable>new-iso-path</replaceable></option></term> + <listitem><para> + Specifies the absolute path of the Guest Additions update + <filename>.ISO</filename> file on the guest VM. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--reboot</option></term> + <listitem><para> + Automatically reboots the guest after a successful Guest Additions + update. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--timeout=<replaceable>ms</replaceable></option></term> + <listitem><para> + Sets the timeout (in ms) to wait for the overall Guest Additions update + to complete. By default no timeout is being used. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--verify</option></term> + <listitem><para> + Verifies whether the Guest Additions were updated successfully after + a successful installation. A guest reboot is mandatory. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>--wait-ready</option></term> + <listitem><para> + Waits for the current Guest Additions being ready to handle the + Guest Additions update. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><option>--wait-start</option></term> + <listitem><para> + Starts the <command>VBoxManage</command> update process on + the guest VM and then waits for the Guest Additions update + to begin before terminating the + <command>VBoxManage</command> process. + </para><para> + By default, the <command>VBoxManage</command> command + waits for the Guest Additions update to complete before it + terminates. Use this option when a running + <command>VBoxManage</command> process affects the + interaction between the installer and the guest OS. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option>-- <replaceable>argument</replaceable> [<replaceable>argument</replaceable> ...]</option></term> + <listitem><para> + Specifies optional command-line arguments to pass to the + Guest Additions updater. You might use the + <option>--</option> option to pass the appropriate updater + arguments to retrofit features that are not yet installed. + </para><para> + Ensure that any command argument that includes spaces is + enclosed by quotes. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-waitrunlevel"> + <title>Wait for a guest run level</title> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> waitrunlevel</command> command + enables you to wait for a guest run level being reached. + </para> + <variablelist> + <varlistentry> + <term><option>--timeout=<replaceable>ms</replaceable></option></term> + <listitem><para> + Sets the timeout (in ms) to wait for reaching the run level. + By default no timeout is being used. + </para></listitem> + </varlistentry> + <varlistentry> + <term><option><replaceable>system</replaceable>|<replaceable>userland</replaceable>|<replaceable>desktop</replaceable></option></term> + <listitem><para> + Specifies the run level to wait for. + </para></listitem> + </varlistentry> + </variablelist> + </refsect2> + <refsect2 id="vboxmanage-guestcontrol-watch"> + <title>Show Current Guest Control Activity</title> + <remark role="help-copy-synopsis"/> + <para> + The <command>VBoxManage guestcontrol + <replaceable>vmname</replaceable> watch</command> command + enables you to show current guest control activity. + </para> + </refsect2> + </refsect1> + + <refsect1> + <title>Examples</title> + <remark role="help-scope" condition="GLOBAL"/> + <para> + The following <command>VBoxManage guestcontrol run</command> + command executes the <command>ls -l /usr</command> command on the + <literal>My OL VM</literal> Oracle Linux VM as the + <literal>user1</literal> user. + </para> +<screen> +$ VBoxManage --nologo guestcontrol "My OL VM" run --exe "/bin/ls" \ +--username user1 --passwordfile pw.txt --wait-stdout -- -l /usr +</screen> + <para> + The <option>--exe</option> option specifies the absolute path of + the command to run in the guest VM, <filename>/bin/ls</filename>. + Use the <option>--</option> option to pass any arguments that + follow it to the <command>ls</command> command. + </para> + <para> + Use the <option>--username</option> option to specify the user + name, <literal>user1</literal> and use the + <option>--passwordfile</option> option to specify the name of a + file that includes the password for the <literal>user1</literal> + user, <filename>pw.txt</filename>. + </para> + <para> + The <option>--wait-stdout</option> option waits for the + <command>ls</command> guest process to complete before providing + the exit code and the command output. The + <option>--nologo</option> option suppresses the output of the logo + information. + </para> + <para> + The following <command>VBoxManage guestcontrol run</command> + command executes the <command>ipconfig</command> command on the + <literal>My Win VM</literal> Windows VM as the + <literal>user1</literal> user. Standard input, standard output, + and standard error are redirected from the VM to the host system + until the program completes. + </para> +<screen> +$ VBoxManage --nologo guestcontrol "My Win VM" run \ +--exe "c:\\windows\\system32\\ipconfig.exe" \ +--username user1 --passwordfile pw.txt --wait-stdout +</screen> + <para> + The <option>--exe</option> specifies the absolute path of command + to run in the guest VM, + <filename>c:\windows\system32\ipconfig.exe</filename>. The double + backslashes shown in this example are required only on UNIX host + systems. + </para> + <para> + Use the <option>--username</option> option to specify the user + name, <literal>user1</literal> and use the + <option>--passwordfile</option> option to specify the name of a + file that includes the password for the <literal>user1</literal> + user, <filename>pw.txt</filename>. + </para> + <para> + The <option>--wait-stdout</option> option waits for the + <command>ls</command> guest process to complete before providing + the exit code and the command output. The + <option>--nologo</option> option to suppress the output of the + logo information. + </para> + <para> + The following <command>VBoxManage guestcontrol start</command> + command executes the <command>ls -l /usr</command> command on the + <literal>My OL VM</literal> Oracle Linux VM until the program + completes. + </para> +<screen> +$ VBoxManage --nologo guestcontrol "My Win VM" start \ +--exe "c:\\windows\\system32\\ipconfig.exe" \ +--username user1 --passwordfile pw.txt --wait-stdout +</screen> + </refsect1> +</refentry> |