In preparation for https://bugzilla.gnome.org/show_bug.cgi?id=655380 we
decided it's better to include the multi-seat X wrapper in systemd,
rather than gdm. (Side effect: this makes this accessible for other
DMs)
This is a stop-gap for now, until X gins proper multi-seat graphics
support at which point this code will go away without replacement.
This new installer will replace the current code of "systemctl enable"
but also be available via D-Bus. It adds a couple of new features:
- Mask/Unmask calls
- Reenable call
- Preset call
- Support for enabling units temporarily (i.e. in /run/systemd instead
of /etc/systemd)
- Enumeration of installed units
- Support for out-of-search-path units
systemctl and D-Bus are not hooked up with this yet
This adds support for executing systemctl operations remotely or as
privileged user while still running systemctl itself unprivileged and
locally.
This currently requires a D-Bus patch to work properly.
https://bugs.freedesktop.org/show_bug.cgi?id=35230
This is supposed to play the same roles /var/lib/dbus/machine-id,
however fixes a couple of problems:
- It is available during early boot since it is stored in /etc
- Removes the ID from the D-Bus context and moves it into a system
context, thus hopefully lowering hesitation by people to use it.
- It is generated at installation time. If the file is empty at boot
time it will be mounted over with a randomly generated ID, which is
not saved to disk. This is useful to support state-less machines with
no transient or writable /etc configuration.
This functions will:
- umount all mount points that aren't API
- remount read-only all mount points that can't be umounted
- umount all swap devices.
- detach all loopback devices
TODO:
- umount dms
Mountpoints are being read from /proc/self/mountinfo.
Swaps are being read from /proc/swaps.
Loop devices from /sys/class/block/loop*.
In order to unify configuration across distributions we pick the
simple-most option by default (Debian's /etc/hostname) and then fall
back to distro-specific hacks if that doesn't exist.