VirtualBox

source: vbox/trunk/doc/manual/en_US/man_VBoxManage-guestcontrol.xml@ 97034

Last change on this file since 97034 was 96407, checked in by vboxsync, 3 years ago

scm copyright and license note update

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 58.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 manpage, user manual, usage: VBoxManage guestcontrol
4-->
5<!--
6 Copyright (C) 2006-2022 Oracle and/or its affiliates.
7
8 This file is part of VirtualBox base platform packages, as
9 available from https://www.virtualbox.org.
10
11 This program is free software; you can redistribute it and/or
12 modify it under the terms of the GNU General Public License
13 as published by the Free Software Foundation, in version 3 of the
14 License.
15
16 This program is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, see <https://www.gnu.org/licenses>.
23
24 SPDX-License-Identifier: GPL-3.0-only
25-->
26<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
27 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
28<!ENTITY % all.entities SYSTEM "all-entities.ent">
29%all.entities;
30]>
31<refentry id="vboxmanage-guestcontrol" lang="en">
32 <refentryinfo>
33 <pubdate>$Date: 2022-08-22 17:43:14 +0000 (Mon, 22 Aug 2022) $</pubdate>
34 <title>VBoxManage guestcontrol</title>
35 </refentryinfo>
36
37 <refmeta>
38 <refentrytitle>VBoxManage-guestcontrol</refentrytitle>
39 <manvolnum>1</manvolnum>
40 </refmeta>
41
42 <refnamediv>
43 <refname>VBoxManage-guestcontrol</refname>
44 <refpurpose>control a virtual machine from the host system</refpurpose>
45 <refclass>&product-name;</refclass>
46 </refnamediv>
47
48 <refsynopsisdiv>
49 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-run">
50<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
51 <command>VBoxManage guestcontrol</command>
52 <group choice="req">
53 <arg choice="plain"><replaceable>uuid</replaceable></arg>
54 <arg choice="plain"><replaceable>vmname</replaceable></arg>
55 </group>
56 <arg choice="plain">run</arg>
57 <arg>--domain=<replaceable>domainname</replaceable></arg>
58 <arg>--dos2unix</arg>
59 <arg>--exe=<replaceable>filename</replaceable></arg>
60 <arg>--ignore-orphaned-processes</arg>
61 <group>
62 <arg choice="plain">--no-wait-stderr</arg>
63 <arg choice="plain">--wait-stderr</arg>
64 </group>
65 <group>
66 <arg choice="plain">--no-wait-stdout</arg>
67 <arg choice="plain">--wait-stdout</arg>
68 </group>
69 <group>
70 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
71 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
72 </group>
73 <arg>--profile</arg>
74 <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg>
75 <arg>--quiet</arg>
76 <arg>--timeout=<replaceable>msec</replaceable></arg>
77 <arg>--unix2dos</arg>
78 <arg>--unquoted-args</arg>
79 <arg>--username=<replaceable>username</replaceable></arg>
80 <arg>--verbose</arg>
81 <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
82 </cmdsynopsis>
83
84 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-start">
85 <command>VBoxManage guestcontrol</command>
86 <group choice="req">
87 <arg choice="plain"><replaceable>uuid</replaceable></arg>
88 <arg choice="plain"><replaceable>vmname</replaceable></arg>
89 </group>
90 <arg choice="plain">start</arg>
91 <arg>--domain=<replaceable>domainname</replaceable></arg>
92 <arg>--exe=<replaceable>filename</replaceable></arg>
93 <arg>--ignore-orphaned-processes</arg>
94 <group>
95 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
96 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
97 </group>
98 <arg>--profile</arg>
99 <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg>
100 <arg>--quiet</arg>
101 <arg>--timeout=<replaceable>msec</replaceable></arg>
102 <arg>--unquoted-args</arg>
103 <arg>--username=<replaceable>username</replaceable></arg>
104 <arg>--verbose</arg>
105 <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
106 </cmdsynopsis>
107
108 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyfrom-hostdest">
109 <command>VBoxManage guestcontrol</command>
110 <group choice="req">
111 <arg choice="plain"><replaceable>uuid</replaceable></arg>
112 <arg choice="plain"><replaceable>vmname</replaceable></arg>
113 </group>
114 <arg choice="plain">copyfrom</arg>
115 <arg>--domain=<replaceable>domainname</replaceable></arg>
116 <arg>--follow</arg>
117 <group>
118 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
119 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
120 </group>
121 <arg>--quiet</arg>
122 <arg>--recursive</arg>
123 <arg>--username=<replaceable>username</replaceable></arg>
124 <arg>--verbose</arg>
125 <arg choice="req"><replaceable>guest-source0</replaceable></arg>
126 <arg choice="plain"><replaceable>guest-source1</replaceable> [...]</arg>
127 <arg choice="req"><replaceable>host-destination</replaceable></arg>
128 </cmdsynopsis>
129
130 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyfrom-hostdestdir">
131 <command>VBoxManage guestcontrol</command>
132 <group choice="req">
133 <arg choice="plain"><replaceable>uuid</replaceable></arg>
134 <arg choice="plain"><replaceable>vmname</replaceable></arg>
135 </group>
136 <arg choice="plain">copyfrom</arg>
137 <arg>--domain=<replaceable>domainname</replaceable></arg>
138 <arg>--follow</arg>
139 <group>
140 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
141 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
142 </group>
143 <arg>--quiet</arg>
144 <arg>--recursive</arg>
145 <arg>--target-directory=<replaceable>host-destination-dir</replaceable></arg>
146 <arg>--username=<replaceable>username</replaceable></arg>
147 <arg>--verbose</arg>
148 <arg choice="req"><replaceable>guest-source0</replaceable></arg>
149 <arg choice="plain"><replaceable>guest-source1</replaceable> [...]</arg>
150 </cmdsynopsis>
151
152 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyto-hostdest">
153 <command>VBoxManage guestcontrol</command>
154 <group choice="req">
155 <arg choice="plain"><replaceable>uuid</replaceable></arg>
156 <arg choice="plain"><replaceable>vmname</replaceable></arg>
157 </group>
158 <arg choice="plain">copyto</arg>
159 <arg>--domain=<replaceable>domainname</replaceable></arg>
160 <arg>--follow</arg>
161 <group>
162 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
163 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
164 </group>
165 <arg>--quiet</arg>
166 <arg>--recursive</arg>
167 <arg>--username=<replaceable>username</replaceable></arg>
168 <arg>--verbose</arg>
169 <arg choice="req"><replaceable>host-source0</replaceable></arg>
170 <arg choice="plain"><replaceable>host-source1</replaceable> [...]</arg>
171 <arg choice="req"><replaceable>guest-destination</replaceable></arg>
172 </cmdsynopsis>
173
174 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyto-hostdestdir">
175 <command>VBoxManage guestcontrol</command>
176 <group choice="req">
177 <arg choice="plain"><replaceable>uuid</replaceable></arg>
178 <arg choice="plain"><replaceable>vmname</replaceable></arg>
179 </group>
180 <arg choice="plain">copyto</arg>
181 <arg>--domain=<replaceable>domainname</replaceable></arg>
182 <arg>--follow</arg>
183 <group>
184 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
185 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
186 </group>
187 <arg>--quiet</arg>
188 <arg>--recursive</arg>
189 <arg>--target-directory=<replaceable>guest-destination-dir</replaceable></arg>
190 <arg>--username=<replaceable>username</replaceable></arg>
191 <arg>--verbose</arg>
192 <arg choice="req"><replaceable>host-source0</replaceable></arg>
193 <arg choice="plain"><replaceable>host-source1</replaceable> [...]</arg>
194 </cmdsynopsis>
195
196 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mkdir">
197 <command>VBoxManage guestcontrol</command>
198 <group choice="req">
199 <arg choice="plain"><replaceable>uuid</replaceable></arg>
200 <arg choice="plain"><replaceable>vmname</replaceable></arg>
201 </group>
202 <arg choice="plain">mkdir</arg>
203 <arg>--domain=<replaceable>domainname</replaceable></arg>
204 <arg>--mode=<replaceable>mode</replaceable></arg>
205 <arg>--parents</arg>
206 <group>
207 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
208 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
209 </group>
210 <arg>--quiet</arg>
211 <arg>--username=<replaceable>username</replaceable></arg>
212 <arg>--verbose</arg>
213 <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
214 </cmdsynopsis>
215
216 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rmdir">
217 <command>VBoxManage guestcontrol</command>
218 <group choice="req">
219 <arg choice="plain"><replaceable>uuid</replaceable></arg>
220 <arg choice="plain"><replaceable>vmname</replaceable></arg>
221 </group>
222 <arg choice="plain">rmdir</arg>
223 <arg>--domain=<replaceable>domainname</replaceable></arg>
224 <group>
225 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
226 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
227 </group>
228 <arg>--quiet</arg>
229 <arg>--recursive</arg>
230 <arg>--username=<replaceable>username</replaceable></arg>
231 <arg>--verbose</arg>
232 <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
233 </cmdsynopsis>
234
235 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rm">
236 <command>VBoxManage guestcontrol</command>
237 <group choice="req">
238 <arg choice="plain"><replaceable>uuid</replaceable></arg>
239 <arg choice="plain"><replaceable>vmname</replaceable></arg>
240 </group>
241 <arg choice="plain">rm</arg>
242 <arg>--domain=<replaceable>domainname</replaceable></arg>
243 <arg>--force</arg>
244 <group>
245 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
246 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
247 </group>
248 <arg>--quiet</arg>
249 <arg>--username=<replaceable>username</replaceable></arg>
250 <arg>--verbose</arg>
251 <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
252 </cmdsynopsis>
253
254 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mv">
255 <command>VBoxManage guestcontrol</command>
256 <group choice="req">
257 <arg choice="plain"><replaceable>uuid</replaceable></arg>
258 <arg choice="plain"><replaceable>vmname</replaceable></arg>
259 </group>
260 <arg choice="plain">mv</arg>
261 <arg>--domain=<replaceable>domainname</replaceable></arg>
262 <group>
263 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
264 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
265 </group>
266 <arg>--quiet</arg>
267 <arg>--username=<replaceable>username</replaceable></arg>
268 <arg>--verbose</arg>
269 <arg choice="req" rep="repeat"><replaceable>source</replaceable></arg>
270 <arg choice="req"><replaceable>destination-directory</replaceable></arg>
271 </cmdsynopsis>
272
273 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mktemp">
274 <command>VBoxManage guestcontrol</command>
275 <group choice="req">
276 <arg choice="plain"><replaceable>uuid</replaceable></arg>
277 <arg choice="plain"><replaceable>vmname</replaceable></arg>
278 </group>
279 <arg choice="plain">mktemp</arg>
280 <arg>--domain=<replaceable>domainname</replaceable></arg>
281 <arg>--mode=<replaceable>mode</replaceable></arg>
282 <group>
283 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
284 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
285 </group>
286 <arg>--quiet</arg>
287 <arg>--secure</arg>
288 <arg>--tmpdir=<replaceable>directory-name</replaceable></arg>
289 <arg>--username=<replaceable>username</replaceable></arg>
290 <arg>--verbose</arg>
291 <arg choice="req"><replaceable>template-name</replaceable></arg>
292 </cmdsynopsis>
293
294 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-stat">
295 <command>VBoxManage guestcontrol</command>
296 <group choice="req">
297 <arg choice="plain"><replaceable>uuid</replaceable></arg>
298 <arg choice="plain"><replaceable>vmname</replaceable></arg>
299 </group>
300 <arg choice="plain">stat</arg>
301 <arg>--domain=<replaceable>domainname</replaceable></arg>
302 <group>
303 <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
304 <arg choice="plain">--password=<replaceable>password</replaceable></arg>
305 </group>
306 <arg>--quiet</arg>
307 <arg>--username=<replaceable>username</replaceable></arg>
308 <arg>--verbose</arg>
309 <arg choice="req"><replaceable>filename</replaceable></arg>
310 </cmdsynopsis>
311
312 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-list">
313 <command>VBoxManage guestcontrol</command>
314 <group choice="req">
315 <arg choice="plain"><replaceable>uuid</replaceable></arg>
316 <arg choice="plain"><replaceable>vmname</replaceable></arg>
317 </group>
318 <arg choice="plain">list</arg>
319 <group choice="req">
320 <arg choice="plain">all</arg>
321 <arg choice="plain">files</arg>
322 <arg choice="plain">processes</arg>
323 <arg choice="plain">sessions</arg>
324 </group>
325 <arg>--quiet</arg>
326 <arg>--verbose</arg>
327 </cmdsynopsis>
328
329 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closeprocess">
330 <command>VBoxManage guestcontrol</command>
331 <group choice="req">
332 <arg choice="plain"><replaceable>uuid</replaceable></arg>
333 <arg choice="plain"><replaceable>vmname</replaceable></arg>
334 </group>
335 <arg choice="plain">closeprocess</arg>
336 <group>
337 <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg>
338 <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg>
339 </group>
340 <arg>--quiet</arg>
341 <arg>--verbose</arg>
342 <arg choice="req" rep="repeat"><replaceable>PID</replaceable></arg>
343 </cmdsynopsis>
344
345 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closesession">
346 <command>VBoxManage guestcontrol</command>
347 <group choice="req">
348 <arg choice="plain"><replaceable>uuid</replaceable></arg>
349 <arg choice="plain"><replaceable>vmname</replaceable></arg>
350 </group>
351 <arg choice="plain">closesession</arg>
352 <group>
353 <arg choice="plain">--all</arg>
354 <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg>
355 <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg>
356 </group>
357 <arg>--quiet</arg>
358 <arg>--verbose</arg>
359 </cmdsynopsis>
360
361 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-updatega">
362 <command>VBoxManage guestcontrol</command>
363 <group choice="req">
364 <arg choice="plain"><replaceable>uuid</replaceable></arg>
365 <arg choice="plain"><replaceable>vmname</replaceable></arg>
366 </group>
367 <arg choice="plain">updatega</arg>
368 <arg>--quiet</arg>
369 <arg>--verbose</arg>
370 <arg>--source=<replaceable>guest-additions.ISO</replaceable></arg>
371 <arg>--wait-start</arg>
372 <arg>-- <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
373 </cmdsynopsis>
374
375 <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-watch">
376 <command>VBoxManage guestcontrol</command>
377 <group choice="req">
378 <arg choice="plain"><replaceable>uuid</replaceable></arg>
379 <arg choice="plain"><replaceable>vmname</replaceable></arg>
380 </group>
381 <arg choice="plain">watch</arg>
382 <arg>--quiet</arg>
383 <arg>--verbose</arg>
384 </cmdsynopsis>
385 </refsynopsisdiv>
386
387 <refsect1>
388 <title>Description</title>
389 <para>
390 The <command>VBoxManage guestcontrol</command> command enables you
391 to control a guest virtual machine (VM) from the host system. See
392 <xref linkend="guestadd-guestcontrol" />.
393 </para>
394 <refsect2>
395 <title>Common Options and Operands</title>
396 <para>
397 The following options can be used by any of the
398 <command>VBoxManage guestcontrol</command> subcommands:
399 </para>
400 <variablelist>
401 <varlistentry>
402 <term><replaceable>uuid</replaceable>|<replaceable>vmname</replaceable></term>
403 <listitem><para>
404 Specifies the Universally Unique Identifier (UUID) or name
405 of the VM.
406 </para></listitem>
407 </varlistentry>
408 <varlistentry>
409 <term><option>--quiet</option></term>
410 <listitem><para>
411 Specifies that the command produce quieter output.
412 </para><para>
413 The short form of this option is <option>-q</option>.
414 </para></listitem>
415 </varlistentry>
416 <varlistentry>
417 <term><option>--verbose</option></term>
418 <listitem><para>
419 Specifies that the command produce more detailed output.
420 </para><para>
421 The short form of this option is <option>-v</option>.
422 </para></listitem>
423 </varlistentry>
424 </variablelist>
425 <para>
426 Some of the <command>VBoxManage guestcontrol</command>
427 subcommands require that you provide guest credentials for
428 authentication. The subcommands are:
429 <command>copyfrom</command>, <command>copyto</command>,
430 <command>mkdir</command>, <command>mktemp</command>,
431 <command>mv</command>, <command>rmdir</command>,
432 <command>rm</command>, <command>run</command>,
433 <command>start</command>, and <command>stat</command>.
434 </para>
435 <para>
436 While you cannot perform anonymous executions, a user account
437 password is optional and depends on the guest's OS security
438 policy. If a user account does not have an associated password,
439 specify an empty password. On OSes such as Windows, you might
440 need to adjust the security policy to permit user accounts with
441 an empty password. In additional, global domain rules might
442 apply and therefore cannot be changed.
443 </para>
444 <para>
445 The following options are used for authentication on the guest
446 VM:
447 </para>
448 <variablelist>
449 <varlistentry>
450 <term><option>--domain=<replaceable>domainname</replaceable></option></term>
451 <listitem><para>
452 Specifies the user domain for Windows guest VMs.
453 </para></listitem>
454 </varlistentry>
455 <varlistentry>
456 <term><option>--password=<replaceable>password</replaceable></option></term>
457 <listitem><para>
458 Specifies the password for the specified user. If you do
459 not specify a password on the command line or if the
460 password file is empty, the specified user needs to have
461 an empty password.
462 </para></listitem>
463 </varlistentry>
464 <varlistentry>
465 <term><option>--passwordfile=<replaceable>filename</replaceable></option></term>
466 <listitem><para>
467 Specifies the absolute path to a file on the guest OS that
468 contains the password for the specified user. If the
469 password file is empty or if you do not specify a password
470 on the command line, the specified user needs to have an
471 empty password.
472 </para></listitem>
473 </varlistentry>
474 <varlistentry>
475 <term><option>--username=<replaceable>username</replaceable></option></term>
476 <listitem><para>
477 Specifies an existing user on the guest OS that runs the
478 process. If unspecified, the host user runs the process.
479 </para></listitem>
480 </varlistentry>
481 </variablelist>
482 </refsect2>
483 <refsect2>
484 <title>Guest Process Restrictions</title>
485 <para>
486 By default, you can run up to five guest processes
487 simultaneously. If a new guest process starts and would exceed
488 this limit, the oldest not-running guest process is discarded to
489 run the new process. You cannot retrieve output from a discarded
490 guest process. If all five guest processes are active and
491 running, attempting to start a new guest process fails.
492 </para>
493 <para>
494 You can modify the guest process execution limit in two ways:
495 </para>
496 <itemizedlist>
497 <listitem><para>
498 Use the <command>VBoxManage setproperty</command> command to
499 update the
500 <literal>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</literal>
501 guest property value.
502 </para></listitem>
503 <listitem><para>
504 Use the <command>VBoxService</command> command and specify
505 the
506 <option>--control-procs-max-kept=<replaceable>value</replaceable></option>
507 option.
508 </para></listitem>
509 </itemizedlist>
510 <para>
511 After you change the limit, you must restart the guest OS.
512 </para>
513 <para>
514 You can serve an unlimited number guest processes by specifing a
515 value of <literal>0</literal>, however this action is not
516 recommended.
517 </para>
518 </refsect2>
519 <refsect2 id="vboxmanage-guestcontrol-run">
520 <title>Run a Command on the Guest Virtual Machine</title>
521 <remark role="help-copy-synopsis"/>
522 <para>
523 The <command>VBoxManage guestcontrol
524 <replaceable>vmname</replaceable> run</command> command enables
525 you to execute a program on the guest VM. Standard input,
526 standard output, and standard error are redirected from the VM
527 to the host system until the program completes.
528 </para>
529 <note>
530 <para>
531 The Windows OS imposes certain limitations for graphical
532 applications. See <xref linkend="KnownIssues" />.
533 </para>
534 </note>
535 <variablelist>
536 <varlistentry>
537 <term><option>--exe=<replaceable>path-to-executable</replaceable></option></term>
538 <listitem><para>
539 Specifies the absolute path of the executable program to
540 run on the guest VM. For example:
541 <filename>C:\Windows\System32\calc.exe</filename>.
542 </para></listitem>
543 </varlistentry>
544 <varlistentry>
545 <term><option>--timeout=<replaceable>msec</replaceable></option></term>
546 <listitem><para>
547 Specifies the maximum amount of time, in milliseconds,
548 that the program can run. While the program runs,
549 <command>VBoxManage</command> receives its output.
550 </para><para>
551 If you do not specify a timeout value,
552 <command>VBoxManage</command> waits indefinitely for the
553 process to end, or for an error to occur.
554 </para></listitem>
555 </varlistentry>
556 <varlistentry>
557 <term><option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option></term>
558 <listitem><para>
559 Sets, modifies, and unsets environment variables in the
560 guest VM environment.
561 </para><para>
562 When you create a guest process, it runs with the default
563 standard guest OS environment. Use this option to modify
564 environment variables in that default environment.
565 </para><para>
566 Use the
567 <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option>
568 option to set or modify the environment variable specified
569 by <replaceable>NAME</replaceable>.
570 </para><para>
571 Use the
572 <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option>
573 option to unset the environment variable specified by
574 <replaceable>NAME</replaceable>.
575 </para><para>
576 Ensure that any environment variable name or value that
577 includes spaces is enclosed by quotes.
578 </para><para>
579 Specify a <option>--putenv</option> option for each
580 environment variable that you want to modify.
581 </para><para>
582 The short form of this option is <option>-E</option>.
583 </para></listitem>
584 </varlistentry>
585 <varlistentry>
586 <term><option>--unquoted-args</option></term>
587 <listitem><para>
588 Disables the escaped double quoting of arguments that you
589 pass to the program. For example,
590 <literal>\"fred\"</literal>.
591 </para></listitem>
592 </varlistentry>
593 <varlistentry>
594 <term><option>--ignore-orphaned-processes</option></term>
595 <listitem><para>
596 Ignores orphaned processes. Not yet implemented.
597 </para></listitem>
598 </varlistentry>
599 <varlistentry>
600 <term><option>--profile</option></term>
601 <listitem><para>
602 Uses a shell profile to specify the environment to use.
603 Not yet implemented.
604 </para></listitem>
605 </varlistentry>
606 <varlistentry>
607 <term><option>--no-wait-stdout</option></term>
608 <listitem><para>
609 Does not wait for the guest process to end or receive its
610 exit code and any failure explanation.
611 </para></listitem>
612 </varlistentry>
613 <varlistentry>
614 <term><option>--wait-stdout</option></term>
615 <listitem><para>
616 Waits for the guest process to end to receive its exit
617 code and any failure explanation. The
618 <command>VBoxManage</command> command receives the
619 standard output of the guest process while the process
620 runs.
621 </para></listitem>
622 </varlistentry>
623 <varlistentry>
624 <term><option>--no-wait-stderr</option></term>
625 <listitem><para>
626 Does not wait for the guest process to end to receive its
627 exit code, error messages, and flags.
628 </para></listitem>
629 </varlistentry>
630 <varlistentry>
631 <term><option>--wait-stderr</option></term>
632 <listitem><para>
633 Waits for the guest process to end to receive its exit
634 code, error messages, and flags. The
635 <command>VBoxManage</command> command receives the
636 standard error of the guest process while the process
637 runs.
638 </para></listitem>
639 </varlistentry>
640 <varlistentry>
641 <term><option>--dos2unix</option></term>
642 <listitem><para>
643 Transform DOS or Windows guest output to UNIX or Linux
644 output. This transformation changes CR + LF line endings
645 to LF. Not yet implemented.
646 </para></listitem>
647 </varlistentry>
648 <varlistentry>
649 <term><option>--unix2dos</option></term>
650 <listitem><para>
651 Transform UNIX or Linux guest output to DOS or Windows
652 output. This transformation changes LF line endings to CR
653 + LF.
654 </para></listitem>
655 </varlistentry>
656 <varlistentry>
657 <term><option>-- <replaceable>program/arg0</replaceable> [<replaceable>argument</replaceable>...]</option></term>
658 <listitem><para>
659 Specifies the name of the program and any arguments to
660 pass to the program.
661 </para><para>
662 Ensure that any command argument that includes spaces is
663 enclosed by quotes.
664 </para></listitem>
665 </varlistentry>
666 </variablelist>
667 </refsect2>
668 <refsect2 id="vboxmanage-guestcontrol-start">
669 <title>Start a Command on the Guest Virtual Machine</title>
670 <remark role="help-copy-synopsis"/>
671 <para>
672 The <command>VBoxManage guestcontrol
673 <replaceable>vmname</replaceable> start</command> command
674 enables you to execute a guest program until it completes.
675 </para>
676 <note>
677 <para>
678 The Windows OS imposes certain limitations for graphical
679 applications. See <xref linkend="KnownIssues" />.
680 </para>
681 </note>
682 </refsect2>
683 <refsect2 id="vboxmanage-guestcontrol-copyfrom-hostdest">
684 <title>Copy a File From the Guest Virtual Machine to the Host System</title>
685 <remark role="help-copy-synopsis"/>
686 <para>
687 The <command>VBoxManage guestcontrol
688 <replaceable>vmname</replaceable> copyfrom</command> command
689 enables you to copy a file from the guest VM to the host system.
690 </para>
691 <variablelist>
692 <varlistentry>
693 <term><option>--follow</option></term>
694 <listitem><para>
695 Enables following of symbolic links on the guest file
696 system.
697 </para></listitem>
698 </varlistentry>
699 <varlistentry>
700 <term><option>--recursive</option></term>
701 <listitem><para>
702 Recursively copies files and directories from the
703 specified directory on the guest VM.
704 </para><para>
705 The short form of this option is <option>-R</option>.
706 </para></listitem>
707 </varlistentry>
708 <varlistentry>
709 <term><literal><replaceable>guest-source0</replaceable> [<replaceable>guest-source1</replaceable> [...]]</literal></term>
710 <listitem><para>
711 Specifies the absolute path of one or more files to copy
712 from the guest VM. For example,
713 <filename>C:\Windows\System32\calc.exe</filename>. You can
714 use wildcards to specify multiple files. For example,
715 <filename>C:\Windows\System*\*.dll</filename>.
716 </para></listitem>
717 </varlistentry>
718 </variablelist>
719 </refsect2>
720 <refsect2 id="vboxmanage-guestcontrol-copyfrom-hostdestdir">
721 <title>Copy a File From the Guest Virtual Machine to a Directory on the Host
722 System</title>
723 <remark role="help-copy-synopsis"/>
724 <para>
725 The <command>VBoxManage guestcontrol
726 <replaceable>vmname</replaceable> copyfrom</command> command
727 enables you to copy a file from the guest VM to the host system.
728 </para>
729 <variablelist>
730 <varlistentry>
731 <term><option>--follow</option></term>
732 <listitem><para>
733 Enables following of symbolic links on the guest file
734 system.
735 </para></listitem>
736 </varlistentry>
737 <varlistentry>
738 <term><option>--recursive</option></term>
739 <listitem><para>
740 Recursively copies files and directories from the
741 specified directory on the guest VM.
742 </para><para>
743 The short form of this option is <option>-R</option>.
744 </para></listitem>
745 </varlistentry>
746 <varlistentry>
747 <term><option>--target-directory=<replaceable>host-dst-dir</replaceable></option></term>
748 <listitem><para>
749 Specifies the absolute path of the destination directory
750 on the host system. For example,
751 <filename>C:\Temp</filename>.
752 </para></listitem>
753 </varlistentry>
754 <varlistentry>
755 <term><literal><replaceable>guest-source0</replaceable> [<replaceable>guest-source1</replaceable> [...]]</literal></term>
756 <listitem><para>
757 Specifies the absolute path of one or more the files to
758 copy from the guest VM. For example,
759 <filename>C:\Windows\System32\calc.exe</filename>. You can
760 use wildcards to specify multiple files. For example,
761 <filename>C:\Windows\System*\*.dll</filename>.
762 </para></listitem>
763 </varlistentry>
764 </variablelist>
765 </refsect2>
766 <refsect2 id="vboxmanage-guestcontrol-copyto-hostdest">
767 <title>Copy a File to the Guest Virtual Machine From the Host System</title>
768 <remark role="help-copy-synopsis"/>
769 <para>
770 The <command>VBoxManage guestcontrol
771 <replaceable>vmname</replaceable> copyto</command> command
772 enables you to copy a file from the host system to the guest VM.
773 </para>
774 <variablelist>
775 <varlistentry>
776 <term><option>--follow</option></term>
777 <listitem><para>
778 Enables following of symbolic links on the host system.
779 </para></listitem>
780 </varlistentry>
781 <varlistentry>
782 <term><option>--recursive</option></term>
783 <listitem><para>
784 Recursively copies files and directories from the
785 specified directory on the host system.
786 </para><para>
787 The short form of this option is <option>-R</option>.
788 </para></listitem>
789 </varlistentry>
790 <varlistentry>
791 <term><literal><replaceable>host-source0</replaceable> [<replaceable>host-source1</replaceable> [...]]</literal></term>
792 <listitem><para>
793 Specifies the absolute path of one or more the files to
794 copy from the host system. For example,
795 <filename>C:\Windows\System32\calc.exe</filename>. You can
796 use wildcards to specify multiple files. For example,
797 <filename>C:\Windows\System*\*.dll</filename>.
798 </para></listitem>
799 </varlistentry>
800 </variablelist>
801 </refsect2>
802 <refsect2 id="vboxmanage-guestcontrol-copyto-hostdestdir">
803 <title>Copy a File to a Directory on the Guest Virtual Machine From the Host
804 System</title>
805 <remark role="help-copy-synopsis"/>
806 <para>
807 The <command>VBoxManage guestcontrol
808 <replaceable>vmname</replaceable> copyto</command> command
809 enables you to copy a file from the host system to the guest VM.
810 </para>
811 <variablelist>
812 <varlistentry>
813 <term><option>--follow</option></term>
814 <listitem><para>
815 Enables following of symbolic links on the host system.
816 </para></listitem>
817 </varlistentry>
818 <varlistentry>
819 <term><option>--recursive</option></term>
820 <listitem><para>
821 Recursively copies files and directories from the
822 specified directory on the host system.
823 </para><para>
824 The short form of this option is <option>-R</option>.
825 </para></listitem>
826 </varlistentry>
827 <varlistentry>
828 <term><option>--target-directory=<replaceable>guest-dst-dir</replaceable></option></term>
829 <listitem><para>
830 Specifies the absolute path of the destination directory
831 on the guest VM. For example,
832 <filename>C:\Temp</filename>.
833 </para></listitem>
834 </varlistentry>
835 <varlistentry>
836 <term><literal><replaceable>host-source0</replaceable> [<replaceable>host-source1</replaceable> [...]]</literal></term>
837 <listitem><para>
838 Specifies the absolute path of one or more the files to
839 copy from the host system. For example,
840 <filename>C:\Windows\System32\calc.exe</filename>. You can
841 use wildcards to specify multiple files. For example,
842 <filename>C:\Windows\System*\*.dll</filename>.
843 </para></listitem>
844 </varlistentry>
845 </variablelist>
846 </refsect2>
847 <refsect2 id="vboxmanage-guestcontrol-mkdir">
848 <title>Create a Directory on the Guest Virtual Machine</title>
849 <remark role="help-copy-synopsis"/>
850 <para>
851 The <command>VBoxManage guestcontrol
852 <replaceable>vmname</replaceable> mkdir</command> command
853 enables you to create one or more directories on the guest VM.
854 </para>
855 <para>
856 Alternate forms of this subcommand are <command>md</command>,
857 <command>createdir</command>, and
858 <command>createdirectory</command>.
859 </para>
860 <variablelist>
861 <varlistentry>
862 <term><option>--parents</option></term>
863 <listitem><para>
864 Creates any of the missing parent directories of the
865 specified directory.
866 </para><para>
867 For example, if you attempt to create the
868 <filename>D:\Foo\Bar</filename> directory and the
869 <filename>D:\Foo</filename> directory does not exist,
870 using the <option>--parents</option> creates the missing
871 <filename>D:\Foo</filename> directory. However, if you
872 attempt to create the <filename>D:\Foo\Bar</filename> and
873 do not specify the <option>--parents</option> option, the
874 command fails.
875 </para></listitem>
876 </varlistentry>
877 <varlistentry>
878 <term><option>--mode=<replaceable>mode</replaceable></option></term>
879 <listitem><para>
880 Specifies the permission mode to use for the specified
881 directory. If you specify the <option>--parents</option>
882 option, the mode is used for the associated parent
883 directories, as well. <replaceable>mode</replaceable> is a
884 four-digit octal mode such as <literal>0755</literal>.
885 </para></listitem>
886 </varlistentry>
887 <varlistentry>
888 <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term>
889 <listitem><para>
890 Specifies an absolute path of one or more directories to
891 create on the guest VM. For example,
892 <filename>D:\Foo\Bar</filename>.
893 </para><para>
894 If all of the associated parent directories do not exist
895 on the guest VM, you must specify the
896 <option>--parents</option> option.
897 </para><para>
898 You must have sufficient rights on the guest VM to create
899 the specified directory and its parent directories.
900 </para></listitem>
901 </varlistentry>
902 </variablelist>
903 </refsect2>
904 <refsect2 id="vboxmanage-guestcontrol-rmdir">
905 <title>Remove a Directory From the Guest Virtual Machine</title>
906 <remark role="help-copy-synopsis"/>
907 <para>
908 The <command>VBoxManage guestcontrol
909 <replaceable>vmname</replaceable> rmdir</command> command
910 enables you to delete the specified directory from the guest VM.
911 </para>
912 <para>
913 Alternate forms of this subcommand are
914 <command>removedir</command> and
915 <command>removedirectory</command>.
916 </para>
917 <variablelist>
918 <varlistentry>
919 <term><option>--recursive</option></term>
920 <listitem><para>
921 Recursively removes directories from the specified from
922 the guest VM.
923 </para><para>
924 The short form of this option is <option>-R</option>.
925 </para></listitem>
926 </varlistentry>
927 <varlistentry>
928 <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term>
929 <listitem><para>
930 Specifies an absolute path of one or more directories to
931 remove from the guest VM. You can use wildcards to specify
932 the directory names. For example,
933 <filename>D:\Foo\*Bar</filename>.
934 </para><para>
935 You must have sufficient rights on the guest VM to remove
936 the specified directory and its parent directories.
937 </para></listitem>
938 </varlistentry>
939 </variablelist>
940 </refsect2>
941 <refsect2 id="vboxmanage-guestcontrol-rm">
942 <title>Remove a File From the Guest Virtual Machine</title>
943 <remark role="help-copy-synopsis"/>
944 <para>
945 The <command>VBoxManage guestcontrol
946 <replaceable>vmname</replaceable> rm</command> command enables
947 you to delete the specified files from the guest VM.
948 </para>
949 <para>
950 The alternate form of this subcommand is
951 <command>removefile</command>.
952 </para>
953 <variablelist>
954 <varlistentry>
955 <term><option>--force</option></term>
956 <listitem><para>
957 Forces the operation and overrides any confirmation
958 requests.
959 </para><para>
960 The short form of this option is <option>-f</option>.
961 </para></listitem>
962 </varlistentry>
963 <varlistentry>
964 <term><literal><replaceable>guest-file</replaceable> [<replaceable>guest-file</replaceable>...]</literal></term>
965 <listitem><para>
966 Specifies an absolute path of one or more file to remove
967 from the guest VM. You can use wildcards to specify the
968 file names. For example,
969 <filename>D:\Foo\Bar\text*.txt</filename>.
970 </para><para>
971 You must have sufficient rights on the guest VM to remove
972 the specified file.
973 </para></listitem>
974 </varlistentry>
975 </variablelist>
976 </refsect2>
977 <refsect2 id="vboxmanage-guestcontrol-mv">
978 <title>Rename a File or Directory on the Guest Virtual Machine</title>
979 <remark role="help-copy-synopsis"/>
980 <para>
981 The <command>VBoxManage guestcontrol
982 <replaceable>vmname</replaceable> mv</command> command enables
983 you to rename files and directories on the guest VM.
984 </para>
985 <para>
986 Alternate forms of this subcommand are <command>move</command>,
987 <command>ren</command>, and <command>rename</command>.
988 </para>
989 <variablelist>
990 <varlistentry>
991 <term><literal><replaceable>guest-source</replaceable> [<replaceable>guest-source</replaceable>...]</literal></term>
992 <listitem><para>
993 Specifies an absolute path of a file or a single directory
994 to move or rename on the guest VM. You can use wildcards
995 to specify the file names.
996 </para><para>
997 You must have sufficient rights on the guest VM to access
998 the specified file or directory.
999 </para></listitem>
1000 </varlistentry>
1001 <varlistentry>
1002 <term><replaceable>dest</replaceable></term>
1003 <listitem><para>
1004 Specifies the absolute path of the renamed file or
1005 directory, or the destination directory to which to move
1006 the files. If you move only one file,
1007 <replaceable>dest</replaceable> can be a file or a
1008 directory, otherwise <replaceable>dest</replaceable> must
1009 be a directory.
1010 </para><para>
1011 You must have sufficient rights on the guest VM to access
1012 the destination file or directory.
1013 </para></listitem>
1014 </varlistentry>
1015 </variablelist>
1016 </refsect2>
1017 <refsect2 id="vboxmanage-guestcontrol-mktemp">
1018 <title>Create a Temporary File or Directory on the Guest Virtual Machine</title>
1019 <remark role="help-copy-synopsis"/>
1020 <para>
1021 The <command>VBoxManage guestcontrol
1022 <replaceable>vmname</replaceable> mktemp</command> command
1023 enables you to create a temporary file or temporary directory on
1024 the guest VM. You can use this command to assist with the
1025 subsequent copying of files from the host system to the guest
1026 VM. By default, this command creates the file or directory in
1027 the guest VM's platform-specific <filename>temp</filename>
1028 directory.
1029 </para>
1030 <para>
1031 Alternate forms of this subcommand are
1032 <command>createtemp</command> and
1033 <command>createtemporary</command>.
1034 </para>
1035 <variablelist>
1036 <varlistentry>
1037 <term><option>--directory</option></term>
1038 <listitem><para>
1039 Creates a temporary directory that is specified by the
1040 <replaceable>template</replaceable> operand.
1041 </para></listitem>
1042 </varlistentry>
1043 <varlistentry>
1044 <term><option>--secure</option></term>
1045 <listitem><para>
1046 Enforces secure file and directory creation by setting the
1047 permission mode to <literal>0755</literal>. Any operation
1048 that cannot be performed securely fails.
1049 </para></listitem>
1050 </varlistentry>
1051 <varlistentry>
1052 <term><option>--mode=<replaceable>mode</replaceable></option></term>
1053 <listitem><para>
1054 Specifies the permission mode to use for the specified
1055 directory. <replaceable>mode</replaceable> is a four-digit
1056 octal mode such as <literal>0755</literal>.
1057 </para></listitem>
1058 </varlistentry>
1059 <varlistentry>
1060 <term><option>--tmpdir=<replaceable>directory</replaceable></option></term>
1061 <listitem><para>
1062 Specifies the absolute path of the directory on the guest
1063 VM in which to create the specified file or directory. If
1064 unspecified, <replaceable>directory</replaceable> is the
1065 platform-specific <filename>temp</filename> directory.
1066 </para></listitem>
1067 </varlistentry>
1068 <varlistentry>
1069 <term><replaceable>template</replaceable></term>
1070 <listitem><para>
1071 Specifies a template file name for the temporary file,
1072 without a directory path. The template file name must
1073 contain at least one sequence of three consecutive X
1074 characters, or must end in X.
1075 </para></listitem>
1076 </varlistentry>
1077 </variablelist>
1078 </refsect2>
1079 <refsect2 id="vboxmanage-guestcontrol-stat">
1080 <title>Show a File or File System Status on the Guest Virtual Machine</title>
1081 <remark role="help-copy-synopsis"/>
1082 <para>
1083 The <command>VBoxManage guestcontrol
1084 <replaceable>vmname</replaceable> stat</command> command enables
1085 you to show the status of files or file systems on the guest VM.
1086 </para>
1087 <variablelist>
1088 <varlistentry>
1089 <term><literal><replaceable>file</replaceable> [<replaceable>file</replaceable> ...]</literal></term>
1090 <listitem><para>
1091 Specifies an absolute path of a file or file system on the
1092 guest VM. For example,
1093 <filename>/home/foo/a.out</filename>.
1094 </para><para>
1095 You must have sufficient rights on the guest VM to access
1096 the specified files or file systems.
1097 </para></listitem>
1098 </varlistentry>
1099 </variablelist>
1100 </refsect2>
1101 <refsect2 id="vboxmanage-guestcontrol-list">
1102 <title>List the Configuration and Status Information for a Guest Virtual
1103 Machine</title>
1104 <remark role="help-copy-synopsis"/>
1105 <para>
1106 The <command>VBoxManage guestcontrol
1107 <replaceable>vmname</replaceable> list</command> command enables
1108 you to list guest control configuration and status information.
1109 For example, the output shows open guest sessions, guest
1110 processes, and files.
1111 </para>
1112 <variablelist>
1113 <varlistentry>
1114 <term><literal>all</literal>|<literal>sessions</literal>|<literal>processes</literal>|<literal>files</literal></term>
1115 <listitem><para>
1116 Indicates the type of information to show.
1117 <literal>all</literal> shows all available data,
1118 <literal>sessions</literal> shows guest sessions,
1119 <literal>processes</literal> shows processes, and
1120 <literal>files</literal> shows files.
1121 </para></listitem>
1122 </varlistentry>
1123 </variablelist>
1124 </refsect2>
1125 <refsect2 id="vboxmanage-guestcontrol-closeprocess">
1126 <title>Terminate a Process in a Guest Virtual Machine Session</title>
1127 <remark role="help-copy-synopsis"/>
1128 <para>
1129 The <command>VBoxManage guestcontrol
1130 <replaceable>vmname</replaceable> closeprocess</command> command
1131 enables you to terminate a guest process that runs in a guest
1132 session. Specify the process by using a process identifier (PID)
1133 and the session by using the session ID or name.
1134 </para>
1135 <variablelist>
1136 <varlistentry>
1137 <term><option>--session-id=<replaceable>ID</replaceable></option></term>
1138 <listitem><para>
1139 Specifies the ID of the guest session.
1140 </para></listitem>
1141 </varlistentry>
1142 <varlistentry>
1143 <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term>
1144 <listitem><para>
1145 Specifies the name of the guest session. Use a pattern
1146 that contains wildcards to specify multiple sessions.
1147 </para></listitem>
1148 </varlistentry>
1149 <varlistentry>
1150 <term><literal><replaceable>PID</replaceable> [<replaceable>PID</replaceable> ...]</literal></term>
1151 <listitem><para>
1152 Specifies the list of PIDs of guest processes to
1153 terminate.
1154 </para></listitem>
1155 </varlistentry>
1156 </variablelist>
1157 </refsect2>
1158 <refsect2 id="vboxmanage-guestcontrol-closesession">
1159 <title>Close a Guest Virtual Machine Session</title>
1160 <remark role="help-copy-synopsis"/>
1161 <para>
1162 The <command>VBoxManage guestcontrol
1163 <replaceable>vmname</replaceable> closesession</command> command
1164 enables you to close a guest session. Specify the guest session
1165 either by session ID or by name.
1166 </para>
1167 <variablelist>
1168 <varlistentry>
1169 <term><option>--session-id=<replaceable>ID</replaceable></option></term>
1170 <listitem><para>
1171 Specifies the ID of the guest session.
1172 </para></listitem>
1173 </varlistentry>
1174 <varlistentry>
1175 <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term>
1176 <listitem><para>
1177 Specifies the name of the guest session. Use a pattern
1178 that contains wildcards to specify multiple sessions.
1179 </para></listitem>
1180 </varlistentry>
1181 <varlistentry>
1182 <term><option>--all</option></term>
1183 <listitem><para>
1184 Closes all guest sessions.
1185 </para></listitem>
1186 </varlistentry>
1187 </variablelist>
1188 </refsect2>
1189 <refsect2 id="vboxmanage-guestcontrol-updatega">
1190 <title>Update the Guest Additions Software on the Guest Virtual Machine</title>
1191 <remark role="help-copy-synopsis"/>
1192 <para>
1193 The <command>VBoxManage guestcontrol
1194 <replaceable>vmname</replaceable> updatega</command> command
1195 enables you to update the Guest Additions software installed in
1196 the specified guest VM.
1197 </para>
1198 <para>
1199 Alternate forms of this subcommand are
1200 <command>updateadditions</command> and
1201 <command>updateguestadditions</command>.
1202 </para>
1203 <variablelist>
1204 <varlistentry>
1205 <term><option>--source=<replaceable>new-iso-path</replaceable></option></term>
1206 <listitem><para>
1207 Specifies the absolute path of the Guest Additions update
1208 <filename>.ISO</filename> file on the guest VM.
1209 </para></listitem>
1210 </varlistentry>
1211 <varlistentry>
1212 <term><option>--reboot</option></term>
1213 <listitem><para>
1214 Automatically reboots the guest after a successful Guest Additions
1215 update.
1216 </para></listitem>
1217 </varlistentry>
1218 <varlistentry>
1219 <term><option>--timeout=<replaceable>ms</replaceable></option></term>
1220 <listitem><para>
1221 Sets the timeout (in ms) to wait for the overall Guest Additions update
1222 to complete. By default no timeout is being used.
1223 </para></listitem>
1224 </varlistentry>
1225 <varlistentry>
1226 <term><option>--verify</option></term>
1227 <listitem><para>
1228 Verifies whether the Guest Additions were updated successfully after
1229 a successful installation. A guest reboot is mandatory.
1230 </para></listitem>
1231 </varlistentry>
1232 <varlistentry>
1233 <term><option>--wait-ready</option></term>
1234 <listitem><para>
1235 Waits for the current Guest Additions being ready to handle the
1236 Guest Additions update.
1237 </para>
1238 </listitem>
1239 </varlistentry>
1240 <varlistentry>
1241 <term><option>--wait-start</option></term>
1242 <listitem><para>
1243 Starts the <command>VBoxManage</command> update process on
1244 the guest VM and then waits for the Guest Additions update
1245 to begin before terminating the
1246 <command>VBoxManage</command> process.
1247 </para><para>
1248 By default, the <command>VBoxManage</command> command
1249 waits for the Guest Additions update to complete before it
1250 terminates. Use this option when a running
1251 <command>VBoxManage</command> process affects the
1252 interaction between the installer and the guest OS.
1253 </para></listitem>
1254 </varlistentry>
1255 <varlistentry>
1256 <term><option>-- <replaceable>argument</replaceable> [<replaceable>argument</replaceable> ...]</option></term>
1257 <listitem><para>
1258 Specifies optional command-line arguments to pass to the
1259 Guest Additions updater. You might use the
1260 <option>--</option> option to pass the appropriate updater
1261 arguments to retrofit features that are not yet installed.
1262 </para><para>
1263 Ensure that any command argument that includes spaces is
1264 enclosed by quotes.
1265 </para></listitem>
1266 </varlistentry>
1267 </variablelist>
1268 </refsect2>
1269 <refsect2 id="vboxmanage-guestcontrol-waitrunlevel">
1270 <title>Wait for a guest run level</title>
1271 <para>
1272 The <command>VBoxManage guestcontrol
1273 <replaceable>vmname</replaceable> waitrunlevel</command> command
1274 enables you to wait for a guest run level being reached.
1275 </para>
1276 <variablelist>
1277 <varlistentry>
1278 <term><option>--timeout=<replaceable>ms</replaceable></option></term>
1279 <listitem><para>
1280 Sets the timeout (in ms) to wait for reaching the run level.
1281 By default no timeout is being used.
1282 </para></listitem>
1283 </varlistentry>
1284 <varlistentry>
1285 <term><option><replaceable>system</replaceable>|<replaceable>userland</replaceable>|<replaceable>desktop</replaceable></option></term>
1286 <listitem><para>
1287 Specifies the run level to wait for.
1288 </para></listitem>
1289 </varlistentry>
1290 </variablelist>
1291 </refsect2>
1292 <refsect2 id="vboxmanage-guestcontrol-watch">
1293 <title>Show Current Guest Control Activity</title>
1294 <remark role="help-copy-synopsis"/>
1295 <para>
1296 The <command>VBoxManage guestcontrol
1297 <replaceable>vmname</replaceable> watch</command> command
1298 enables you to show current guest control activity.
1299 </para>
1300 </refsect2>
1301 </refsect1>
1302
1303 <refsect1>
1304 <title>Examples</title>
1305 <remark role="help-scope" condition="GLOBAL"/>
1306 <para>
1307 The following <command>VBoxManage guestcontrol run</command>
1308 command executes the <command>ls -l /usr</command> command on the
1309 <literal>My OL VM</literal> Oracle Linux VM as the
1310 <literal>user1</literal> user.
1311 </para>
1312<screen>
1313$ VBoxManage --nologo guestcontrol "My OL VM" run --exe "/bin/ls" \
1314--username user1 --passwordfile pw.txt --wait-stdout -- -l /usr
1315</screen>
1316 <para>
1317 The <option>--exe</option> option specifies the absolute path of
1318 the command to run in the guest VM, <filename>/bin/ls</filename>.
1319 Use the <option>--</option> option to pass any arguments that
1320 follow it to the <command>ls</command> command.
1321 </para>
1322 <para>
1323 Use the <option>--username</option> option to specify the user
1324 name, <literal>user1</literal> and use the
1325 <option>--passwordfile</option> option to specify the name of a
1326 file that includes the password for the <literal>user1</literal>
1327 user, <filename>pw.txt</filename>.
1328 </para>
1329 <para>
1330 The <option>--wait-stdout</option> option waits for the
1331 <command>ls</command> guest process to complete before providing
1332 the exit code and the command output. The
1333 <option>--nologo</option> option suppresses the output of the logo
1334 information.
1335 </para>
1336 <para>
1337 The following <command>VBoxManage guestcontrol run</command>
1338 command executes the <command>ipconfig</command> command on the
1339 <literal>My Win VM</literal> Windows VM as the
1340 <literal>user1</literal> user. Standard input, standard output,
1341 and standard error are redirected from the VM to the host system
1342 until the program completes.
1343 </para>
1344<screen>
1345$ VBoxManage --nologo guestcontrol "My Win VM" run \
1346--exe "c:\\windows\\system32\\ipconfig.exe" \
1347--username user1 --passwordfile pw.txt --wait-stdout
1348</screen>
1349 <para>
1350 The <option>--exe</option> specifies the absolute path of command
1351 to run in the guest VM,
1352 <filename>c:\windows\system32\ipconfig.exe</filename>. The double
1353 backslashes shown in this example are required only on UNIX host
1354 systems.
1355 </para>
1356 <para>
1357 Use the <option>--username</option> option to specify the user
1358 name, <literal>user1</literal> and use the
1359 <option>--passwordfile</option> option to specify the name of a
1360 file that includes the password for the <literal>user1</literal>
1361 user, <filename>pw.txt</filename>.
1362 </para>
1363 <para>
1364 The <option>--wait-stdout</option> option waits for the
1365 <command>ls</command> guest process to complete before providing
1366 the exit code and the command output. The
1367 <option>--nologo</option> option to suppress the output of the
1368 logo information.
1369 </para>
1370 <para>
1371 The following <command>VBoxManage guestcontrol start</command>
1372 command executes the <command>ls -l /usr</command> command on the
1373 <literal>My OL VM</literal> Oracle Linux VM until the program
1374 completes.
1375 </para>
1376<screen>
1377$ VBoxManage --nologo guestcontrol "My Win VM" start \
1378--exe "c:\\windows\\system32\\ipconfig.exe" \
1379--username user1 --passwordfile pw.txt --wait-stdout
1380</screen>
1381 </refsect1>
1382</refentry>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette