Am 06.10.2012 05:42, schrieb Kok, Auke-jan H:
> On Fri, Oct 5, 2012 at 4:11 PM, Thomas Bächler <tho...@archlinux.org> wrote:
>> Running as a user instance won't work at all if systemd isn't running as 
>> system
>> manager, so refuse to start in that case.
> 
> huh?
> 
> I'd like to think this is a situation that should really work...

It doesn't work, but it doesn't say so.

> - to test systemd in a non-systemd environment
> - Chroot/namespacesVM situations where there's no contact with the
> real init process
> - some calamity happened or IPC is temporarily offlined
> - just because it makes no sense to enforce it
> 
> what exactly breaks?

In the namespace situation (you are likely talking about nspawn or lxc),
we are PID 1 and should never hit that code path.

I tried running systemd as a user on a non-systemd system because I
thought it should work. It first complains that it cannot set up its
cgroups - I don't know if that problem can be solved, but I think it
can't (you need root to configure the main systemd cgroup, I think).

Furthermore, systemctl was unable to do anything - not even 'systemctl
--user exit' worked - it couldn't find systemd on the bus, as it refuses
to look for the bus unless sd_booted() is true. You can send the signal
manually, but that is not what you want.

The situation gets worse: You can only kill the systemd instance with
kill -9 - both kill -15 and Ctrl+C result in an error message about dbus.

As systemctl refuses to any work (except enable/disable) when
sd_booted() == false, so should systemd --user - this patch merely makes
systemd's behaviour consistent.


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to