qvm-run.rst 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. .. program:: qvm-run
  2. :program:`qvm-run` -- Run a command in a specified VM
  3. =====================================================
  4. Synopsis
  5. --------
  6. :command:`qvm-run` [options] *VMNAME* *COMMAND* [*ARGS*]
  7. :command:`qvm-run` [options] --all [--exclude *EXCLUDE*] *COMMAND* [*ARGS*]
  8. :command:`qvm-run` [options] --dispvm [*BASE_APPVM*] *COMMAND* [*ARGS*]
  9. Execution mode
  10. --------------
  11. When executing a command, it is recommended to pass the arguments directly to
  12. `qvm-run`, for example:
  13. qvm-run --pass-io personal -- ls -a
  14. (Note the `--` used to ensure that `-a` is not treated as option of `qvm-run`).
  15. If no arguments are specified, *COMMAND* will be interpreted as a shell
  16. command, for example:
  17. qvm-run --pass-io personal 'ls -a'
  18. This is more flexible but also less safe, because care must be taken to quote
  19. or escape special characters. Use the :option:`--no-shell` option to ensure
  20. that a command without arguments is not interpreted as a shell command.
  21. Options
  22. -------
  23. .. option:: --help, -h
  24. Show the help message and exit.
  25. .. option:: --verbose, -v
  26. Increase verbosity.
  27. .. option:: --quiet, -q
  28. Decrease verbosity.
  29. .. option:: --all
  30. Run the command on all qubes. You can use :option:`--exclude` to limit the
  31. qubes set. Command is never run on the dom0.
  32. .. option:: --exclude
  33. Exclude the qube from :option:`--all`.
  34. .. option:: --dispvm [BASE_APPVM]
  35. Run the command fresh DisposableVM created out of *BASE_APPVM*. This option
  36. is mutually exclusive with *VMNAME*, --all and --exclude.
  37. .. option:: --user=USER, -u USER
  38. Run command in a qube as *USER*.
  39. .. option:: --auto, --autostart, -a
  40. Ignored. Qube is autostarted by default.
  41. .. option:: --no-auto, --no-autostart, -n
  42. Do not start the qube automatically, fail the operation if not running.
  43. .. option:: --pass-io, -p
  44. Pass standard input and output to and from the remote program.
  45. .. option:: --localcmd=COMMAND
  46. With :option:`--pass-io`, pass standard input and output to and from the
  47. given program.
  48. .. option:: --gui
  49. Run the command with GUI forwarding enabled, which is the default. This
  50. switch can be used to counter :option:`--no-gui`.
  51. .. option:: --no-gui, --nogui
  52. Run the command without GUI forwarding enabled. Can be switched back with
  53. :option:`--gui`.
  54. .. option:: --service
  55. Start RPC service instead of shell command. Specify name of the service in
  56. place of *COMMAND* argument. You can also specify service argument, appending
  57. it to the service name after `+` character.
  58. .. option:: --colour-output=COLOUR, --color-output=COLOR
  59. Mark the qube output with given ANSI colour (ie. "31" for red). The exact
  60. mapping of numbers to colours and styles depends of the particular terminal
  61. emulator.
  62. Colouring can be disabled with :option:`--no-colour-output`.
  63. .. option:: --colour-stderr=COLOUR, --color-stderr=COLOR
  64. Mark the qube stderr with given ANSI colour (ie. "31" for red). The exact
  65. mapping of numbers to colours and styles depends of the particular terminal
  66. emulator.
  67. Colouring can be disabled with :option:`--no-colour-stderr`.
  68. .. option:: --no-colour-output, --no-color-output
  69. Disable colouring the stdout.
  70. .. option:: --no-colour-stderr, --no-color-stderr
  71. Disable colouring the stderr.
  72. .. option:: --filter-escape-chars
  73. Filter terminal escape sequences (default if output is terminal).
  74. Terminal control characters are a security issue, which in worst case amount
  75. to arbitrary command execution. In the simplest case this requires two often
  76. found codes: terminal title setting (which puts arbitrary string in the
  77. window title) and title repo reporting (which puts that string on the shell's
  78. standard input.
  79. .. option:: --no-filter-escape-chars
  80. Do not filter terminal escape sequences. This is DANGEROUS when output is
  81. a terminal emulator. See :option:`--filter-escape-chars` for explanation.
  82. .. option:: --no-shell
  83. Treat *COMMAND* as a command to be executed directly, not passed to a
  84. shell. This is default if there are additional arguments to `qvm-run`.
  85. Authors
  86. -------
  87. | Joanna Rutkowska <joanna at invisiblethingslab dot com>
  88. | Rafal Wojtczuk <rafal at invisiblethingslab dot com>
  89. | Marek Marczykowski <marmarek at invisiblethingslab dot com>
  90. | Wojtek Porczyk <woju at invisiblethingslab dot com>
  91. .. vim: ts=3 sw=3 et tw=80