summaryrefslogtreecommitdiff
path: root/man/systemd-nspawn.xml
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-09-17 16:26:14 +0200
committerLennart Poettering <lennart@poettering.net>2020-09-17 16:39:27 +0200
commit10e8a60baa2336b92419282a7f0373167d3f77fb (patch)
tree4b235513fde92556cdd4bc5d8f00c9aa215df44c /man/systemd-nspawn.xml
parent335d2eadca9e9d8fdac1afb2ceae86d75d815979 (diff)
downloadsystemd-10e8a60baa2336b92419282a7f0373167d3f77fb.tar.gz
nspawn: add --console=autopipe mode
By default we'll run a container in --console=interactive and --console=read-only mode depending if we are invoked on a tty or not so that the container always gets a /dev/console allocated, i.e is always suitable to run a full init system /as those typically expect a /dev/console to exist). With the new --console=autopipe mode we do something similar, but slightly different: when not invoked on a tty we'll use --console=pipe. This means, if you invoke some tool in a container with this you'll get full inetractivity if you invoke it on a tty but things will also be very nicely pipeable. OTOH you cannot invoke a full init system like this, because you might or might not become a /dev/console this way... Prompted-by: #17070 (I named this "autopipe" rather than "auto" or so, since the default mode probably should be named "auto" one day if we add a name for it, and this is so similar to "auto" except that it uses pipes in the non-tty case).
Diffstat (limited to 'man/systemd-nspawn.xml')
-rw-r--r--man/systemd-nspawn.xml21
1 files changed, 12 insertions, 9 deletions
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 1e7e6a82d5..c8fbb01d00 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -1370,15 +1370,18 @@
<listitem><para>Configures how to set up standard input, output and error output for the container
payload, as well as the <filename>/dev/console</filename> device for the container. Takes one of
- <option>interactive</option>, <option>read-only</option>, <option>passive</option>, or
- <option>pipe</option>. If <option>interactive</option>, a pseudo-TTY is allocated and made available
- as <filename>/dev/console</filename> in the container. It is then bi-directionally connected to the
- standard input and output passed to <command>systemd-nspawn</command>. <option>read-only</option> is
- similar but only the output of the container is propagated and no input from the caller is read. If
- <option>passive</option>, a pseudo TTY is allocated, but it is not connected anywhere. Finally, in
- <option>pipe</option> mode no pseudo TTY is allocated, but the standard input, output and error
- output file descriptors passed to <command>systemd-nspawn</command> are passed on — as they are — to
- the container payload, see the following paragraph. Defaults to <option>interactive</option> if
+ <option>interactive</option>, <option>read-only</option>, <option>passive</option>,
+ <option>pipe</option> or <option>autopipe</option>. If <option>interactive</option>, a pseudo-TTY is
+ allocated and made available as <filename>/dev/console</filename> in the container. It is then
+ bi-directionally connected to the standard input and output passed to
+ <command>systemd-nspawn</command>. <option>read-only</option> is similar but only the output of the
+ container is propagated and no input from the caller is read. If <option>passive</option>, a pseudo
+ TTY is allocated, but it is not connected anywhere. In <option>pipe</option> mode no pseudo TTY is
+ allocated, but the standard input, output and error output file descriptors passed to
+ <command>systemd-nspawn</command> are passed on — as they are — to the container payload, see the
+ following paragraph. Finally, <option>autopipe</option> mode operates like
+ <option>interactive</option> when <command>systemd-nspawn</command> is invoked on a terminal, and
+ like <option>pipe</option> otherwise. Defaults to <option>interactive</option> if
<command>systemd-nspawn</command> is invoked from a terminal, and <option>read-only</option>
otherwise.</para>