On Friday 26 December 2014 at 13:37:58, Alison Chaiken 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[2754]: (EE) xf86OpenConsole: Cannot open /dev/tty0 (No such file or
> directory)
> 
> 
> When I take 'PrivateDevices=true' out of the unit file, it works fine.
> The man page for systemd.exec reads
> 
> PrivateDevices=
> 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

The TTY may be a pseudo-device, but to the kernel it's still a device, and it
has its own dynamically created device node in /dev. So, if the unit has
`PrivateDevices=true`, it basically gets its own /dev with only a few files
inside, and ttys aren't among these files.
At least, that's how I understand it. Maybe you can do an mknod from 
ExecStartPre=,
if you know the major:minor (4:0 for /dev/tty0) beforehand?

-- 
Ivan Shapovalov / intelfx /

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to