summaryrefslogtreecommitdiff
path: root/units
AgeCommit message (Collapse)Author
2013-10-01units: Add SHELL environment variableEvan Callicoat
With the advent of systemd --user sessions, it's become very interesting to spawn X as a user unit, as well as accompanying processes that may have previously been in a .xinitrc/.xsession, or even just to replace a collection of XDG/GDM/KDM/etc session files with independent systemd --user units. The simplest case here would be to login on a tty, with the traditional /usr/sbin/login "login manager". However, systemd --user (spawned by user@.service) is at the top level of the slice for the user, and does not inherit any environment variables from the login process. Given the number of common applications which rely on SHELL being set in the environment, it seems like the cleanest way to provide this variable is to set it to %s in the user@.service. Ideally in the long-term, applications which rely on SHELL being set should be fixed to just grab it from getpwnam() or similar, but until that becomes more common, I propose this simple change to make user sessions a little bit nicer out of the box.
2013-09-28kmod-static-nodes: condition execution on modules.devnameDave Reisner
2013-09-23Fix obsolete references to systemd-random-seed-load.serviceEelco Dolstra
This service was merged with systemd-random-seed-save.service in c35b956d34bbb8bb208e49e45de2c103ca11911c.
2013-09-17nspawn: update unit fileLennart Poettering
ControlGroup= is obsolete, so let's drop it from the default nspawn unit file.
2013-09-11Add pam configuration to allow user sessions to work out of the boxZbigniew Jędrzejewski-Szmek
systemd-logind will start user@.service. user@.service unit uses PAM with service name 'systemd-user' to perform account and session managment tasks. Previously, the name was 'systemd-shared', it is now changed to 'systemd-user'. Most PAM installations use one common setup for different callers. Based on a quick poll, distributions fall into two camps: those that have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia, Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE). Distributions that have system-auth have just one configuration file that contains auth, password, account, and session blocks, and distributions that have common-auth also have common-session, common-password, and common-account. It is thus impossible to use one configuration file which would work for everybody. systemd-user now refers to system-auth, because it seems that the approach with one file is more popular and also easier, so let's follow that.
2013-09-11filesystem targets: disable default dependenciesTom Gundersen
This means we can use default dependencies on mount units without having to get them automatically ordered before the filesystem targets. Reported-by: Thomas Baechler <thomas@archlinux.org>
2013-08-22use CAP_MKNOD ConditionCapabilityKhem Raj
Fixes errors seen when booting VMs on QEMU like systemd[1]: kmod-static-nodes.service: main process exited, code=exited, status=203/EXEC systemd[1]: Failed to start Create list of required static device nodes for the current kernel. systemd[1]: Unit kmod-static-nodes.service entered failed state. Make sure that mknod capability is available Signed-off-by: Khem Raj <raj.khem@gmail.com>
2013-08-20units: disable kmod-static-nodes.service in containersZbigniew Jędrzejewski-Szmek
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=998122. Note: upstream kmod has a patch [1] to exit with a warning if modules.devname is missing. We could use new %v specifier to make this service conditional on the existence of this file, but this could mask a kernel installation error, hence we should let kmod run even if the file doesn't exist. [1] http://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=ae17710117
2013-08-17udev: replace CAP_MKNOD by writable /sys conditionKay Sievers
2013-08-15units: make fsck units remain after exitZbigniew Jędrzejewski-Szmek
Without this, fsck would be re-run if any other service which pulls in a target requiring one of the mounts was started after fsck was done but before the initial transaction was done. https://bugs.freedesktop.org/show_bug.cgi?id=66784
2013-08-15typo fixes in man and commentsThomas Hindoe Paaboel Andersen
2013-08-15sysctl: allow overwriting of values specified in "later" filesKay Sievers
2013-08-14backlight: instead of syspath use sysname for identifying backlight devicesLennart Poettering
This makes the description string of the backlight service a bit nicer.
2013-08-14backlight: add minimal tool to save/restore screen brightness across rebootsLennart Poettering
As many laptops don't save/restore screen brightness across reboots, let's do this in systemd with a minimal tool, that restores the brightness as early as possible, and saves it as late as possible. This will cover consoles and graphical logins, but graphical desktops should do their own per-user stuff probably. This only touches firmware brightness controls for now.
2013-07-30core: optionally send SIGHUP in addition to the configured kill signalLennart Poettering
This is useful to fake session ends for processes like shells.
2013-07-24tmpfiles-setup: exclude /dev prefixes filesDave Reisner
Fixes Arch Linux bug: https://bugs.archlinux.org/task/36259
2013-07-22kmod-static-nodes: remain after exitTom Gundersen
2013-07-22systemd-tmpfiles-setup-dev: remain after exitTom Gundersen
Without this, tmpfiles-setpu-dev would be re-run if any other service, which pulls in basic.target, was started after setup-dev was finished and before basic.target was active.
2013-07-19machined: run machined at minimal capabilitiesLennart Poettering
2013-07-19units: add references to bus API documentation to logind+machinedLennart Poettering
2013-07-17remove /run/initramfs/root-fsck logicHarald Hoyer
dracut uses systemd in the initramfs and does not write these files anymore. The state of the root fsck is serialized.
2013-07-13units: do not special-case getty@tty1.service installationZbigniew Jędrzejewski-Szmek
Since a long while we can use "systemctl enable getty@tty1.service" which does the right thing, so there's no need to abuse Alias= for installation.
2013-07-12static-nodes: don't hardcode path to mkdirTom Gundersen
2013-07-11units: since we auto-spawn user@.service instances now we don need an ↵Lennart Poettering
[Install] section in it
2013-07-08static-nodes: move creation of static nodes from udevd to tmpfilesTom Gundersen
As of kmod v14, it is possible to export the static node information from /lib/modules/`uname -r`/modules.devname in tmpfiles.d(5) format. Use this functionality to let systemd-tmpfilesd create the static device nodes at boot, and drop the functionality from systemd-udevd. As an effect of this we can move from systemd-udevd to systemd-tmpfiles-setup-dev: * the conditional CAP_MKNOD (replaced by checking if /sys is mounted rw) * ordering before local-fs-pre.target (see 89d09e1b5c65a2d97840f682e0932c8bb499f166)
2013-07-02build-sys: work around automake issue with files with a leading '-'Kay Sievers
We should probably work around it, until it is sorted out. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14728
2013-07-02machined: split out machine registration stuff from logindLennart Poettering
Embedded folks don't need the machine registration stuff, hence it's nice to make this optional. Also, I'd expect that machinectl will grow additional commands quickly, for example to join existing containers and suchlike, hence it's better keeping that separate from loginctl.
2013-07-02logind: port over to use scopes+slices for all cgroup stuffLennart Poettering
In order to prepare things for the single-writer cgroup scheme, let's make logind use systemd's own primitives for cgroup management. Every login user now gets his own private slice unit, in which his sessions live in a scope unit each. Also, add user@$UID.service to the same slice, and implicitly start it on first login.
2013-06-27core: general cgroup reworkLennart Poettering
Replace the very generic cgroup hookup with a much simpler one. With this change only the high-level cgroup settings remain, the ability to set arbitrary cgroup attributes is removed, so is support for adding units to arbitrary cgroup controllers or setting arbitrary paths for them (especially paths that are different for the various controllers). This also introduces a new -.slice root slice, that is the parent of system.slice and friends. This enables easy admin configuration of root-level cgrouo properties. This replaces DeviceDeny= by DevicePolicy=, and implicitly adds in /dev/null, /dev/zero and friends if DeviceAllow= is used (unless this is turned off by DevicePolicy=).
2013-06-20logind: add infrastructure to keep track of machines, and move to slicesLennart Poettering
- This changes all logind cgroup objects to use slice objects rather than fixed croup locations. - logind can now collect minimal information about running VMs/containers. As fixed cgroup locations can no longer be used we need an entity that keeps track of machine cgroups in whatever slice they might be located. Since logind already keeps track of users, sessions and seats this is a trivial addition. - nspawn will now register with logind and pass various bits of metadata along. A new option "--slice=" has been added to place the container in a specific slice. - loginctl gained commands to list, introspect and terminate machines. - user.slice and machine.slice will now be pulled in by logind.service, since only logind.service requires this slice.
2013-06-18units: add default units for system.slice, user.slice, machine.sliceLennart Poettering
2013-06-04units: cleanup agetty command lineKarel Zak
* baud rate is optional and unnecessary for virtual terminals * term type is optional (default is 'linux' for virtual terminals and 'vt102' for serial lines) * long options are more user-friendly ... all this is supported since util-linux v2.20 (Aug 2011).
2013-05-16utmp: turn systemd-update-utmp-shutdown.service into a normal runtime serviceLennart Poettering
With this change systemd-update-utmp-shutdown.service is replaced by systemd-update-utmp.service which is started at boot and stays around until shutdown. This allows us to properly order the unit against both /var/log and auditd. https://bugzilla.redhat.com/show_bug.cgi?id=853104 https://bugs.freedesktop.org/show_bug.cgi?id=64365
2013-05-15units: rework systemd-random-seed-{load,save}.service to be a single serviceLennart Poettering
That way ordering it with MountsRequiredFor= works properly, as this no longer results in mount units start requests to be added to the shutdown transaction that conflict with stop requests for the same unit.
2013-05-09systemctl does not expand %u, so revert back to %IAuke Kok
The description field is only displayed by systemctl, and it can't expand %u properly (it will always display "root").
2013-04-30units: add an easy-to-use unit template file systemd-nspawn@.service for ↵Lennart Poettering
running containers as system services
2013-04-23units: update user@.service to reflect new user cgroup pathsLennart Poettering
2013-04-23man: link systemd-tmpfiles-setup-dev.serviceUmut Tezduyar
2013-04-22units: rename systemd-static-nodes -> systemd-tmpfiles-setup-devTom Gundersen
This is really just a special case of systemd-tmpfiles-setup, moreover it could easily create more than static nodes.
2013-04-17readahead: let readahead run for a little longerLennart Poettering
Especially slower systems need more than 10s for starting the session, so let's bump this to 30s.
2013-04-12bus: rename KDBUS_CMD_FNAME_POLICY_NONE -> KDBUS_CMD_FNAME_POLICY_OPENKay Sievers
2013-04-12tmpfiles: create static device nodes before udev is startedTom Gundersen
Since v183, the contents of /usr/lib/udev/devices is no longer copied to /dev on boot, rather systemd-tmpfiles should be used instead. However, as systemd-tmpfiles --create is only ran long after udevd has been started, it is no longer possible to use udev rules to assign permissions to the static nodes. This calls systemd-tmpfiles --create early, before udev is started, and restricts the call to /dev, which is known to be mounted already. In the future, this could also take over the creation of static device nodes from systemd-udevd.
2013-04-09units: fix some left-over mentions of remote-fs-setup.targetLennart Poettering
2013-04-01Do no isolate in case of emergency or severe problemsDr. Tilmann Bubeck
This patch changes local-fs.target and systemd-fsck to not use "isolate" when going into emergency. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=810722 The motivation is, that when something wents wrong, we should keep everything as it is, to let the user fix the problem. When isolating we stop a lot of services and therefore change the system heavily so that it gets harder for the user to fix. An example is a crypted partition. When the fsck in a crypted partition fails, it previously used "emergency/start/isolate" which stops cryptsetup. Therefore if the user tries to fsck e.g. /dev/mapper/luks-356c20ae-c7a2-4f1c-ae1d-1d290a91b691 as printed by the failing fsck, then it will not find this device (because it got closed). So please apply this patch to let the user see the failing situation. Thanks! [zj: removed dead isolate param from start_target().] https://bugs.freedesktop.org/show_bug.cgi?id=49463 https://bugzilla.redhat.com/show_bug.cgi?id=810722
2013-03-31units/user: default.target must be isolatableZbigniew Jędrzejewski-Szmek
... Activating default unit: default.target Default target could not be isolated, starting instead: Operation refused, unit may not be isolated.
2013-03-29units: fix network-online.target fieldsLennart Poettering
2013-03-29unit: replace remote-fs-setup.target by network-online.targetLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=787314
2013-03-26units: disallow manual starting of passive unitsLennart Poettering
As passive units only are useful for ordering things within the initial transaction there is no point in ever activating them manually, hence refuse it.
2013-03-26units: downgrade dependency on sockets.target/timers.target/paths.target by ↵Lennart Poettering
basic.target There isn't really any need to require any targets but sysinit.target from basic.target, so downgrade sockets.target, paths.target, timers.target.
2013-03-25units: there is no point in pulling in ordering 'provides'-style targetsLennart Poettering
Units such as nss-lookup.target, nss-user-lookup.target, remote-fs-pre.target, local-fs-pre.target, time-sync.target, rpcbind.target are to be pulled in by the implementing services, and that's there only purpose. They should not have any 'active component' otherwise, so let's drop all further deps from these units.