Correct, sorry, I've been running without any systemd components for such a long time that I forgot the details. Either way, systemd components are currently pulled in and activated (logind-systemd).

I don't have a good example for Linux off the top of my head because I've removed systemd a long time ago but maybe an example from OS X (which seems to be the origin of quite a few concepts introduced with systemd) explains my general problem: the socket used for X11 is stored in a private tmp diretory which can't be accessed by other users, thus I can't su to another login and still use X11 programs. That's what breaks my workflow - I usually have two or three different logins active on the same desktop and private tmp directories break things for me sooner or later. Of course I can set up a shared directory accessible by all users but that's not the point. Plus the ever-growing list of tmpfs mount points is really getting to me.

I know that ConsoleKit is no longer maintained but that's what I'm using right now because it's set up as a dependency. Maybe it would be possible to ditch all dependencies to "fast user switching" without systemd and go back to the old way of things where ownership of console devices is set to whoever logs into a local console when no other console is active. This way, folks who don't want Linux turned into something resembling Windows or OS X can work the way they're used to and all others can have systemd and all the things that come with it...

Like I said, I'm more than happy to provide a patch for policykit that does all that dynamically, i.e. doesn't need hard dependencies to systemd but uses it when present, dynamically loading the systemd libs. But if there's no interest it would be a waste of time. I'd also be willing to step up as maintainer for ConsolKit if that helps. Or both.

On 06/04/2017 11:05 AM, Simon McVittie wrote:
On Sat, 03 Jun 2017 at 22:50:58 +0200, Christian Mueller wrote:
(separate temp mount points for
each user) which, apart from the incredible clutter in the list of mounted
file systems, breaks my workflows (I need a single /tmp for all users).
systemd-logind mounts a small tmpfs at /run/user/$uid for each concurrent
user, as its way to implement XDG_RUNTIME_DIR without letting users cause
denial of service by filling up /run. /tmp remains visible to all users.

Just having a version of policykit-1 compiled without systemd
dependencies would solve all our issues and it's a tiny little change in the
rules file.
The change is tiny, but the support burden is not.

To be able to implement the policies that it provides, polkit needs a
way to determine which users are logged-in, which of those logged-in
users are local (getty, xdm etc. but not ssh), and which of those local
users are on the active VT. Historically, that was implemented by
ConsoleKit, which no longer has upstream maintainers[1], and does not
appear to have Debian maintainers either. On Linux systems (with
either systemd, sysvinit + systemd-shim or Upstart + systemd-shim)
the replacement is systemd-logind.

     S

[1] https://www.freedesktop.org/wiki/Software/ConsoleKit/

Reply via email to