<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Feb 14, 2015 at 7:36 PM, Alison Chaiken <span dir="ltr"><<a href="mailto:alison@she-devel.com" target="_blank">alison@she-devel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Thanks very much, Ivan, for the detailed explanation.<br>
<br>
I asked:<br>
<span class="">>> Question: What does the error message 'Process<br>
>> org.freedesktop.systemd1 exited with status 1' mean?<br>
<br>
</span>Ivan:<br>
<span class="">> this is a sign of that the systemd user instance (`systemd --user`)<br>
> isn't running.  More specifically, the systemd user instance wasn't running, so its bus<br>
> name hadn't been taken, so the dbus1 server tried to do the "bus<br>
> activation", but the dbus1 service file for systemd (not to be confused<br>
> with systemd's unit files) contains Exec=/bin/false (as to prevent bus<br>
> activation), so that activation had failed.<br>
<br>
</span>Why shouldn't the user be able to activate the systemd user instance?<br></blockquote><div><br></div><div>I think the idea was that the user instance would be started automatically when the user first logged in.</div><div><br></div><div>(Which it <i>is</i>, at least on Arch: logind starts "user@1000.service" for me as soon as pam_systemd tells it that I've logged in.</div><div><br></div><div>Some distros break it, either intentionally or by accident. Not sure about Fedora.)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
 Should they start services in the /user unit directories with<br>
'systemctl --session' then?</blockquote><div><br></div><div>`systemctl --session` was never a thing.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">    In the spirit of 'systemctl cat' and<br>
'systemctl edit' commands that find the applicable unit even when the<br>
invoker doesn't know the complete path, I would hope that non-SUID<br>
users could type 'systemctl start foo.service' and it would "just<br>
work".<br></blockquote><div><br></div><div>Not sure how that's at all related to knowing the complete path?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Is 'systemctl --user' completely broken then?   If so, shouldn't we<br>
remove it from the documentation?<br></blockquote><div><br></div><div>It's not broken on stock systemd. As long as your `systemd --user` instance is running, systemctl can contact it directly over the "$XDG_RUNTIME_DIR/systemd/private" socket, so there's no hard dependency on on any D-Bus bus either (neither system nor session nor user).</div><div><br></div><div>So if you see `systemctl --user` trying to contact systemd over the bus, it only does so after it has given up trying to contact it over the private socket. Does that socket exist?</div><div><br></div><div>Also check if the system service "user@<i><your uid></i>.service" is active, if it has logged any errors. Try starting that .service manually too.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
'ps | grep dbus' does in fact show a "--session" bus on Fedora 21 and<br>
GNOME, but I guess there is no direct 'plumbing' way to request it to<br>
start units.   Instead the 'porcelain' GNOME method of configured<br>
services calling each other is required.<br></blockquote><div><br></div><div>The bus doesn't start systemd units directly, only pre-systemd "DBus services".</div><div><br></div><div>(Those can be started manually, by calling org.freedesktop.DBus.StartServiceByName() over DBus – e.g. using `gdbus call` – or automatically, by simply trying to use them.)</div><div><br></div><div>To start systemd units/.services, you need to have a `systemd --user` running; see above.</div><div><br></div></div>-- <br><div class="gmail_signature"><div dir="ltr">Mantas Mikulėnas <<a href="mailto:grawity@gmail.com" target="_blank">grawity@gmail.com</a>></div></div>
</div></div>