1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 11:55:44 +03:00
systemd/units
Evan Callicoat e6dca81441 units: Add SHELL environment variable
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-10-01 04:17:31 +02:00
..
user units/user: default.target must be isolatable 2013-03-31 19:43:14 -04:00
.gitignore backlight: add minimal tool to save/restore screen brightness across reboots 2013-08-14 01:57:02 +02:00
basic.target units: add default units for system.slice, user.slice, machine.slice 2013-06-18 00:59:54 +02:00
bluetooth.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
console-getty.service.m4.in core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
console-shell.service.m4.in core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
cryptsetup.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
debug-shell.service.in build-sys: add missing sed substitution for DEBUGTTY 2013-03-25 19:28:00 +01:00
dev-hugepages.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
dev-mqueue.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
emergency.service.in core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
emergency.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
final.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
getty.target unit: link up getty configuration from man page and unit files 2012-11-20 20:10:30 +01:00
getty@.service.m4 core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
graphical.target units: add explicit dependency on display-manager.service to graphical.target 2012-06-27 22:23:16 +02:00
halt-local.service.in build-sys: make rc-local support part of SYSV compat 2013-01-04 23:26:20 +01:00
halt.target units: rename halt/hibernate/kexec/poweroff/reboot/suspend to systed-xxx 2012-06-25 14:28:50 +02:00
hibernate.target unit: rename BindTo= to BindsTo= 2012-07-13 23:34:40 +02:00
hybrid-sleep.target logind: support for hybrid sleep (i.e. suspend+hibernate at the same time) 2012-10-28 00:50:35 +02:00
initrd-cleanup.service.in Make initrd.target the default target in the initrd 2013-03-15 00:49:37 +01:00
initrd-fs.target filesystem targets: disable default dependencies 2013-09-11 14:40:58 +02:00
initrd-parse-etc.service.in Make initrd.target the default target in the initrd 2013-03-15 00:49:37 +01:00
initrd-root-fs.target filesystem targets: disable default dependencies 2013-09-11 14:40:58 +02:00
initrd-switch-root.service.in build-sys: don't hard-code binary paths in initrd-*.service 2013-03-09 10:05:01 +01:00
initrd-switch-root.target Make initrd.target the default target in the initrd 2013-03-15 00:49:37 +01:00
initrd-udevadm-cleanup-db.service.in Move udevadm to rootbindir 2013-03-11 07:18:33 +01:00
initrd.target units: initrd, multi-user - add a few more words to Description= 2013-03-16 16:29:29 +01:00
kexec.target units: rename halt/hibernate/kexec/poweroff/reboot/suspend to systed-xxx 2012-06-25 14:28:50 +02:00
kmod-static-nodes.service.in kmod-static-nodes: condition execution on modules.devname 2013-09-28 14:51:39 -04:00
local-fs-pre.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
local-fs.target filesystem targets: disable default dependencies 2013-09-11 14:40:58 +02:00
machine.slice logind: add infrastructure to keep track of machines, and move to slices 2013-06-20 03:49:59 +02:00
Makefile build-sys: add small redirecting Makefiles to simplify compilation from within emacs 2010-05-17 01:44:03 +02:00
multi-user.target units: initrd, multi-user - add a few more words to Description= 2013-03-16 16:29:29 +01:00
network-online.target units: fix network-online.target fields 2013-03-29 18:31:07 +01:00
network.target man: link in wiki documentation about network.target 2013-01-15 04:12:53 +01:00
nss-lookup.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
nss-user-lookup.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
paths.target units: introduce new timers.target and paths.target to hook timer/path units into for boot 2013-03-25 21:28:30 +01:00
poweroff.target units: rename halt/hibernate/kexec/poweroff/reboot/suspend to systed-xxx 2012-06-25 14:28:50 +02:00
printer.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
proc-sys-fs-binfmt_misc.automount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
proc-sys-fs-binfmt_misc.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
quotaon.service.in build-sys: perform autodetection of quota-tools binaries 2012-09-11 01:43:48 +02:00
rc-local.service.in build-sys: make rc-local support part of SYSV compat 2013-01-04 23:26:20 +01:00
reboot.target units: rename halt/hibernate/kexec/poweroff/reboot/suspend to systed-xxx 2012-06-25 14:28:50 +02:00
remote-fs-pre.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
remote-fs.target filesystem targets: disable default dependencies 2013-09-11 14:40:58 +02:00
rescue.service.m4.in core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
rescue.target rescue: don't pull in sockets 2012-05-22 16:12:25 +02:00
rpcbind.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
serial-getty@.service.m4 core: optionally send SIGHUP in addition to the configured kill signal 2013-07-30 01:54:59 +02:00
shutdown.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
sigpwr.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
sleep.target units: stop sleep.target when it has done its job 2012-06-25 12:01:09 +02:00
slices.target core: general cgroup rework 2013-06-27 04:17:34 +02:00
smartcard.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
sockets.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
sound.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
suspend.target unit: rename BindTo= to BindsTo= 2012-07-13 23:34:40 +02:00
swap.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
sys-fs-fuse-connections.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
sys-kernel-config.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
sys-kernel-debug.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
sysinit.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
syslog.socket service: ignore dependencies on $syslog and $local_fs in LSB scripts 2013-01-16 21:34:09 +01:00
system-update.target man: document systemd-update-generator 2012-06-27 15:12:29 +02:00
system.slice core: general cgroup rework 2013-06-27 04:17:34 +02:00
systemd-ask-password-console.path units: introduce new timers.target and paths.target to hook timer/path units into for boot 2013-03-25 21:28:30 +01:00
systemd-ask-password-console.service.in units: run systemd-ask-password-console.service after systemd-vconsole-setup.service 2013-03-06 15:39:37 +01:00
systemd-ask-password-wall.path units: introduce new timers.target and paths.target to hook timer/path units into for boot 2013-03-25 21:28:30 +01:00
systemd-ask-password-wall.service.in units: automatically respawn the core services 2012-06-28 12:18:04 +02:00
systemd-backlight@.service.in backlight: instead of syspath use sysname for identifying backlight devices 2013-08-14 02:55:57 +02:00
systemd-binfmt.service.in man: add documentation for the binfmt, modules-load, sysctl services 2012-05-31 16:00:34 +02:00
systemd-fsck-root.service.in units: make fsck units remain after exit 2013-08-15 15:42:09 -04:00
systemd-fsck@.service.in units: make fsck units remain after exit 2013-08-15 15:42:09 -04:00
systemd-halt.service.in man: document systemd-halt.service and friends 2012-06-26 17:50:29 +02:00
systemd-hibernate.service.in man: document systemd-suspend.service 2012-06-26 17:33:11 +02:00
systemd-hostnamed.service.in units: add CAP_DAC_OVERRIDE+CAP_SYS_PTRACE to hostnamed so that detection of virtualization works 2012-12-31 21:24:26 +01:00
systemd-hybrid-sleep.service.in logind: support for hybrid sleep (i.e. suspend+hibernate at the same time) 2012-10-28 00:50:35 +02:00
systemd-initctl.service.in man: document systemd-initctl 2012-06-26 00:15:59 +02:00
systemd-initctl.socket man: properly document .socket units in man page 2012-06-27 01:06:35 +02:00
systemd-journal-flush.service.in journal: replace implicit flushing of journal by explicit one 2012-07-11 02:41:16 +02:00
systemd-journal-gatewayd.service.in journal: make gatewayd run under its own user ID 2013-03-05 19:15:31 +01:00
systemd-journal-gatewayd.socket journal: add minimal journal gateway daemon based on GNU libmicrohttpd 2012-09-28 00:55:24 +02:00
systemd-journald.service.in journal: don't pull in flush service from journald service 2012-09-03 18:59:05 -07:00
systemd-journald.socket typo fixes in man and comments 2013-08-15 23:38:09 +02:00
systemd-kexec.service.in man: document systemd-halt.service and friends 2012-06-26 17:50:29 +02:00
systemd-localed.service.in man: document localed 2012-06-25 23:55:35 +02:00
systemd-logind.service.in units: add references to bus API documentation to logind+machined 2013-07-19 03:49:07 +02:00
systemd-machined.service.in machined: run machined at minimal capabilities 2013-07-19 03:49:24 +02:00
systemd-modules-load.service.in units: add the modules-load cmdline parameters to the unit conditions 2012-07-25 08:51:41 +02:00
systemd-nspawn@.service.in nspawn: update unit file 2013-09-17 11:59:47 -05:00
systemd-poweroff.service.in man: document systemd-halt.service and friends 2012-06-26 17:50:29 +02:00
systemd-quotacheck.service.in build-sys: perform autodetection of quota-tools binaries 2012-09-11 01:43:48 +02:00
systemd-random-seed.service.in Fix obsolete references to systemd-random-seed-load.service 2013-09-23 11:41:30 +02:00
systemd-readahead-collect.service.in man: document the readahead services 2012-06-26 18:16:00 +02:00
systemd-readahead-done.service.in man: document the readahead services 2012-06-26 18:16:00 +02:00
systemd-readahead-done.timer readahead: let readahead run for a little longer 2013-04-17 22:24:07 +02:00
systemd-readahead-drop.service man: add Documentation= tags to all kinds of missing units 2012-06-27 01:07:04 +02:00
systemd-readahead-replay.service.in man: document the readahead services 2012-06-26 18:16:00 +02:00
systemd-reboot.service.in man: document systemd-halt.service and friends 2012-06-26 17:50:29 +02:00
systemd-remount-fs.service.in man: link in API FS documentation from the wiki 2013-01-15 05:13:54 +01:00
systemd-shutdownd.service.in man: properly document .socket units in man page 2012-06-27 01:06:35 +02:00
systemd-shutdownd.socket man: properly document .socket units in man page 2012-06-27 01:06:35 +02:00
systemd-suspend.service.in man: document systemd-suspend.service 2012-06-26 17:33:11 +02:00
systemd-sysctl.service.in sysctl: allow overwriting of values specified in "later" files 2013-08-15 18:43:31 +02:00
systemd-timedated.service.in man: remove timezone(5) and add localtime(5) 2012-09-14 19:27:59 +02:00
systemd-tmpfiles-clean.service.in man: link systemd-tmpfiles-setup-dev.service 2013-04-23 12:55:44 +02:00
systemd-tmpfiles-clean.timer man: link systemd-tmpfiles-setup-dev.service 2013-04-23 12:55:44 +02:00
systemd-tmpfiles-setup-dev.service.in kmod-static-nodes: remain after exit 2013-07-22 17:11:19 +02:00
systemd-tmpfiles-setup.service.in tmpfiles-setup: exclude /dev prefixes files 2013-07-24 12:04:00 -04:00
systemd-udev-settle.service.in udev: replace CAP_MKNOD by writable /sys condition 2013-08-17 19:07:42 +02:00
systemd-udev-trigger.service.in udev: replace CAP_MKNOD by writable /sys condition 2013-08-17 19:07:42 +02:00
systemd-udevd-control.socket udev: replace CAP_MKNOD by writable /sys condition 2013-08-17 19:07:42 +02:00
systemd-udevd-kernel.socket udev: replace CAP_MKNOD by writable /sys condition 2013-08-17 19:07:42 +02:00
systemd-udevd.service.in static-nodes: move creation of static nodes from udevd to tmpfiles 2013-07-08 21:26:24 +02:00
systemd-update-utmp-runlevel.service.in utmp: turn systemd-update-utmp-shutdown.service into a normal runtime service 2013-05-16 00:19:03 +02:00
systemd-update-utmp.service.in utmp: turn systemd-update-utmp-shutdown.service into a normal runtime service 2013-05-16 00:19:03 +02:00
systemd-user-sessions.service.in man: document systemd-user-sessions.service 2012-06-25 17:34:50 +02:00
systemd-vconsole-setup.service.in man: document systemd-vconsole-setup.service 2012-06-25 12:00:43 +02:00
time-sync.target units: disallow manual starting of passive units 2013-03-26 15:15:39 +01:00
timers.target units: introduce new timers.target and paths.target to hook timer/path units into for boot 2013-03-25 21:28:30 +01:00
tmp.mount units: add reference to new wiki page to all api mount units 2013-01-15 18:14:13 +01:00
umount.target units: introduce new Documentation= field and make use of it everywhere 2012-05-21 15:14:51 +02:00
user.slice logind: add infrastructure to keep track of machines, and move to slices 2013-06-20 03:49:59 +02:00
user@.service.in units: Add SHELL environment variable 2013-10-01 04:17:31 +02:00
x-.slice build-sys: work around automake issue with files with a leading '-' 2013-07-02 23:15:49 -04:00