[systemd-devel] PrivateDevices=true blocks use of ttys?
lennart at poettering.net
Fri Dec 26 15:36:07 PST 2014
On Fri, 26.12.14 13:37, Alison Chaiken (alison at she-devel.com) wrote:
> On Fedora 21, I created a unit file in which I included
> 'PrivateDevices=true'. When I attempt to start the unit from the text
> console, the unit fails, and 'systemctl status -l' reports:
> startx: (EE) xf86OpenConsole: Cannot open /dev/tty0 (No such file or
X requires access to DRI and input devices, and cannot run in
PrivateDevices= because of that.
> When I take 'PrivateDevices=true' out of the unit file, it works fine.
> The man page for systemd.exec reads
> Takes a boolean argument. If true, sets up a new /dev namespace for the
> executed processes and only adds API pseudo devices such as /dev/null,
> /dev/zero or /dev/random (as well as the pseudo TTY subsystem) to it, but
> no physical devices such as /dev/sda.
> Isn't /dev/tty0 a pseudo TTY? Shouldn't a service that has
> 'PrivateDevices=true' be able to access /dev/tty0? I'm willing to
> investigate further to see if there's a bug, but want to make sure that I
> understand the expected behavior first
/dev/tty0 is part of the VT subsystem and it's not a pseudo tty in the
UNIX sense. The pseudo tty devices are those under /dev/pts/, as
documented in pts(4) and pty(7)
The VT subsystem and serial devices are explicitly not included in
what PrivateDevices= covers.
Lennart Poettering, Red Hat
More information about the systemd-devel