# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/systemd
-sessionunitdir=$(pkgdatadir)/session
+userunitdir=$(pkgdatadir)/user
tmpfilesdir=$(sysconfdir)/tmpfiles.d
-sessiongeneratordir=$(pkglibexecdir)/session-generators
+usergeneratordir=$(pkglibexecdir)/user-generators
# And these are the special ones for /
rootdir=@rootdir@
-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
- -DSESSION_CONFIG_FILE=\"$(pkgsysconfdir)/session.conf\" \
- -DSESSION_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/session\" \
- -DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
+ -DUSER_CONFIG_FILE=\"$(pkgsysconfdir)/user.conf\" \
+ -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
+ -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
-DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
-DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
-DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
-DRANDOM_SEED=\"$(localstatedir)/lib/random-seed\" \
-DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
-DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
- -DSESSION_GENERATOR_PATH=\"$(sessiongeneratordir)\" \
+ -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
-I $(top_srcdir)/src
if TARGET_GENTOO
units/quotacheck.service \
units/rescue.service
-dist_sessionunit_DATA = \
- units/session/default.target \
- units/session/exit.target
+dist_userunit_DATA = \
+ units/user/default.target \
+ units/user/exit.target
-nodist_sessionunit_DATA = \
- units/session/remote-fs.target \
- units/session/exit.service
+nodist_userunit_DATA = \
+ units/user/remote-fs.target \
+ units/user/exit.service
EXTRA_DIST = \
units/getty@.service.m4 \
units/poweroff.service.in \
units/reboot.service.in \
units/kexec.service.in \
- units/session/exit.service.in \
+ units/user/exit.service.in \
units/fsck@.service.in \
units/fsck-root.service.in \
units/quotacheck.service.in \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@ || rm $@
-M4_PROCESS_SESSION = \
+M4_PROCESS_USER = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(M4) -P $(M4_DISTRO_FLAG) -DFOR_SESSION=1 < $< > $@ || rm $@
+ $(M4) -P $(M4_DISTRO_FLAG) -DFOR_USER=1 < $< > $@ || rm $@
units/%: units/%.m4 Makefile
$(M4_PROCESS_SYSTEM)
-units/session/%: units/%.m4 Makefile
- $(M4_PROCESS_SESSION)
+units/user/%: units/%.m4 Makefile
+ $(M4_PROCESS_USER)
CLEANFILES = \
$(nodist_systemunit_DATA) \
- $(nodist_sessionunit_DATA) \
+ $(nodist_userunit_DATA) \
$(nodist_man_MANS) \
${XML_IN_FILES:.xml.in=.html} \
$(pkgconfigdata_DATA)
install-data-hook:
$(MKDIR_P) -m 0755 \
$(DESTDIR)$(systemunitdir) \
- $(DESTDIR)$(sessionunitdir) \
+ $(DESTDIR)$(userunitdir) \
$(DESTDIR)$(systemunitdir)/sysinit.target.wants \
$(DESTDIR)$(systemunitdir)/sockets.target.wants \
$(DESTDIR)$(systemunitdir)/basic.target.wants \
$(DESTDIR)$(pkgsysconfdir)/system/local-fs.target.wants \
$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
- $(DESTDIR)$(pkgsysconfdir)/session \
+ $(DESTDIR)$(pkgsysconfdir)/user \
$(DESTDIR)$(sysconfdir)/xdg/systemd
( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
- rm -f session && \
- $(LN_S) $(pkgsysconfdir)/session session )
+ rm -f user && \
+ $(LN_S) $(pkgsysconfdir)/user user )
( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
rm -f systemd-initctl.socket systemd-logger.socket systemd-shutdownd.socket syslog.socket && \
$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
$(LN_S) ../remount-rootfs.service remount-rootfs.service && \
$(LN_S) ../var-run.mount var-run.mount && \
$(LN_S) ../var-lock.mount var-lock.mount )
- ( cd $(DESTDIR)$(sessionunitdir) && \
+ ( cd $(DESTDIR)$(userunitdir) && \
rm -f shutdown.target sockets.target local-fs.target swap.target bluetooth.target printer.target && \
$(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \
$(LN_S) $(systemunitdir)/sockets.target sockets.target && \
* add systemctl switch to dump transaction without executing it
-* system.conf/session.conf man page
-
* suspend, resume
* systemctl auto-pager a la git
* declare /etc/os-release cross-distro standard
-* rename s/session/user/g
-
* fix hotplug transactions
External:
--variable=systemdsystemunitdir</command> (for
system services), resp. <command>pkg-config
systemd
- --variable=systemdsessionunitdir</command>
- (for session services). This will make the
+ --variable=systemduserunitdir</command>
+ (for user services). This will make the
services available in the system on explicit
request but not activate them automatically
during boot. Optionally, during package
machines, and optionally allows their
installation even on machines lacking
systemd. (Modification of this snippet for the
- session unit directory is left as excercise to the
+ user unit directory is left as excercise to the
reader.)</para>
<para>Additionally, to ensure that
<refnamediv>
<refname>systemadm</refname>
<refpurpose>Graphical frontend for the systemd system
- and session manager</refpurpose>
+ and service manager</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Description</title>
<para><command>systemadm</command> is a graphical
- frontend for the systemd system and session manager
+ frontend for the systemd system and service manager
and allows introspection and control of
systemd.</para>
</refsect1>
</varlistentry>
<varlistentry>
- <term><option>--session</option></term>
+ <term><option>--user</option></term>
<listitem><para>Connect to the systemd
- session manager of the calling
+ manager of the calling
user.</para></listitem>
</varlistentry>
<refnamediv>
<refname>systemctl</refname>
- <refpurpose>Control the systemd system and session manager</refpurpose>
+ <refpurpose>Control the systemd system and service manager</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><command>systemctl</command> may be used to
introspect and control the state of the
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- system and session manager.</para>
+ system and service manager.</para>
</refsect1>
<refsect1>
</varlistentry>
<varlistentry>
- <term><option>--session</option></term>
+ <term><option>--user</option></term>
<listitem><para>Talk to the systemd
- session manager of the calling user.</para></listitem>
+ manager of the calling user.</para></listitem>
</varlistentry>
<varlistentry>
<listitem><para>When used with
<command>enable</command> and
<command>disable</command>, operate on the
- global session configuĊation
+ global user configuĊation
directory, thus enabling or disabling
a unit file globally for all future
- sessions of all users.</para></listitem>
+ logins of all users.</para></listitem>
</varlistentry>
<varlistentry>
<para>Depending on whether
<option>--system</option>,
- <option>--session</option> or
+ <option>--user</option> or
<option>--global</option> is specified
this enables the unit for the system,
- for sessions of the calling user only
- or for all future session of all
+ for the calling user only
+ or for all future logins of all
users. Note that in the latter case no
systemd daemon configuration is
reloaded.</para>
<para>This command honours
<option>--system</option>,
- <option>--session</option>,
+ <option>--user</option>,
<option>--global</option> in a similar
way as
<command>enable</command>.</para>
<listitem><para>Ask the systemd
manager to quit. This is only
- supported for session managers
+ supported for user service managers
(i.e. in conjunction with the
- <option>--session</option> option) and
+ <option>--user</option> option) and
will fail otherwise.</para></listitem>
</varlistentry>
</variablelist>
<refsynopsisdiv>
<para><filename>system.conf</filename></para>
- <para><filename>session.conf</filename></para>
+ <para><filename>user.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<para>When run as system instance systemd reads the
configuration file <filename>system.conf</filename>,
- otherwise <filename>session.conf</filename>. These
+ otherwise <filename>user.conf</filename>. These
configuration files contain a few settings controlling
basic manager operations.</para>
<term><varname>DumpCore=yes</varname></term>
<term><varname>CrashShell=no</varname></term>
<term><varname>ShowStatus=yes</varname></term>
+ <term><varname>SysVConsole=yes</varname></term>
<term><varname>CrashChVT=1</varname></term>
<listitem><para>Configures various
process. Takes a space-separated list
of CPU indexes.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><varname>MountAuto=yes</varname></term>
+ <term><varname>SwapAuto=yes</varname></term>
+
+ <listitem><para>Configures whether
+ systemd should automatically activate
+ all swap or mounts listed in
+ <filename>/etc/fstab</filename>, or
+ whether this job is left to some other
+ system script.</para></listitem>
+ </varlistentry>
</variablelist>
</refsect1>
</refsect1>
<refsect1>
- <title>Special Session Units</title>
+ <title>Special User Units</title>
- <para>When systemd runs as a service instance, the
+ <para>When systemd runs as a user instance, the
following special units are available, which have
similar definitions as their system counterparts:
<filename>default.target</filename>,
<listitem>
<para>A special service unit
for shutting down the
- session.</para>
+ user service manager.</para>
<para>Applications wanting to
- terminate the session should
- start this unit. If systemd
- receives SIGTERM or SIGINT
- when running as session daemon
- it will start this
- unit.</para>
+ terminate the user service
+ manager should start this
+ unit. If systemd receives
+ SIGTERM or SIGINT when running
+ as user service daemon it will
+ start this unit.</para>
<para>Normally, this pulls in
<filename>shutdown.target</filename>
which in turn should be
conflicted by all units that
want to be shut down on
- session exit.</para>
+ user service manager exit.</para>
</listitem>
</varlistentry>
</variablelist>
<refnamediv>
<refname>systemd</refname>
<refname>init</refname>
- <refpurpose>systemd System and Session Manager</refpurpose>
+ <refpurpose>systemd System and Service Manager</refpurpose>
</refnamediv>
<refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>systemd is a system and session manager for
+ <para>systemd is a system and service manager for
Linux operating systems. When run as first process on
boot (as PID 1), it acts as init system that brings
up and maintains userspace services.</para>
<para>When run as system instance, systemd interprets
the configuration file
<filename>system.conf</filename>, otherwise
- <filename>session.conf</filename>. See
+ <filename>user.conf</filename>. See
<citerefentry><refentrytitle>systemd.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for more information.</para>
</refsect1>
</varlistentry>
<varlistentry>
<term><option>--system</option></term>
- <term><option>--session</option></term>
+ <term><option>--user</option></term>
<listitem><para>Tell systemd to run a
- system instance (resp. session
+ system instance (resp. user
instance), even if the process ID is
not 1 (resp. is 1), i.e. systemd is
not (resp. is) run as init process.
<varlistentry>
<term><option>--dump-core</option></term>
- <listitem><para>Dump core on crash. This switch has no effect when run as session instance.</para></listitem>
+ <listitem><para>Dump core on
+ crash. This switch has no effect when
+ run as user
+ instance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--crash-shell</option></term>
- <listitem><para>Run shell on crash. This switch has no effect when run as session instance.</para></listitem>
+ <listitem><para>Run shell on
+ crash. This switch has no effect when
+ run as user
+ instance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--confirm-spawn</option></term>
- <listitem><para>Ask for confirmation when spawning processes. This switch has no effect when run as session instance.</para></listitem>
+ <listitem><para>Ask for confirmation
+ when spawning processes. This switch
+ has no effect when run as user
+ instance.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--show-status=</option></term>
<listitem><para>Show terse service
status information while booting. This
- switch has no effect when run as
- session instance. Takes a boolean
- argument which may be omitted
- which is interpreted as
+ switch has no effect when run as user
+ instance. Takes a boolean argument
+ which may be omitted which is
+ interpreted as
<option>true</option>.</para></listitem>
</varlistentry>
<varlistentry>
<listitem><para>Controls whether
output of SysV init scripts will be
directed to the console. This switch
- has no effect when run as session
+ has no effect when run as user
instance. Takes a boolean argument
which may be omitted which is
interpreted as
<variablelist>
<varlistentry>
- <term>Session unit directories</term>
+ <term>User unit directories</term>
<listitem><para>Similar rules apply
- for the session unit
+ for the user unit
directories. However, here the <ulink
url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
Base Directory specification</ulink>
units. Applications should place their
unit files in the directory returned
by <command>pkg-config systemd
- --variable=systemdsessionunitdir</command>. Global
+ --variable=systemduserunitdir</command>. Global
configuration is done in the directory
reported by <command>pkg-config
systemd
- --variable=systemdsessionconfdir</command>. The
+ --variable=systemduserconfdir</command>. The
<command>enable</command> and
<command>disable</command> commands of
the
to <command>systemctl
daemon-reexec</command>.</para>
- <para>systemd session managers will
+ <para>systemd user managers will
start the
<filename>exit.target</filename> unit
when this signal is received. This is
mostly equivalent to
- <command>systemctl --session start
+ <command>systemctl --user start
exit.target</command>.</para></listitem>
</varlistentry>
<command>systemctl start
ctl-alt-del.target</command>.</para>
- <para>systemd session managers
+ <para>systemd user managers
treat this signal the same way as
SIGTERM.</para></listitem>
</varlistentry>
kbrequest.target</command>.</para>
<para>This signal is ignored by
- systemd session
+ systemd user
managers.</para></listitem>
</varlistentry>
<term><varname>$XDG_DATA_HOME</varname></term>
<term><varname>$XDG_DATA_DIRS</varname></term>
- <listitem><para>The systemd session
+ <listitem><para>The systemd user
manager uses these variables in
accordance to the <ulink
url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
} else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "Exit")) {
if (m->running_as == MANAGER_SYSTEM) {
- dbus_set_error(&error, BUS_ERROR_NOT_SUPPORTED, "Exit is only supported for session managers.");
+ dbus_set_error(&error, BUS_ERROR_NOT_SUPPORTED, "Exit is only supported for user service managers.");
return bus_send_error_reply(m, connection, message, &error, -ENOTSUP);
}
if (m->running_as == MANAGER_SYSTEM && m->system_bus)
m->api_bus = m->system_bus;
else {
- if (!(m->api_bus = dbus_bus_get_private(m->running_as == MANAGER_SESSION ? DBUS_BUS_SESSION : DBUS_BUS_SYSTEM, &error))) {
+ if (!(m->api_bus = dbus_bus_get_private(m->running_as == MANAGER_USER ? DBUS_BUS_SESSION : DBUS_BUS_SYSTEM, &error))) {
log_debug("Failed to get API D-Bus connection, retrying later: %s", error.message);
r = 0;
goto fail;
const char *fn;
int r;
- fn = arg_running_as == MANAGER_SYSTEM ? SYSTEM_CONFIG_FILE : SESSION_CONFIG_FILE;
+ fn = arg_running_as == MANAGER_SYSTEM ? SYSTEM_CONFIG_FILE : USER_CONFIG_FILE;
if (!(f = fopen(fn, "re"))) {
if (errno == ENOENT)
ARG_LOG_LOCATION,
ARG_UNIT,
ARG_SYSTEM,
- ARG_SESSION,
+ ARG_USER,
ARG_TEST,
ARG_DUMP_CONFIGURATION_ITEMS,
ARG_DUMP_CORE,
{ "log-location", optional_argument, NULL, ARG_LOG_LOCATION },
{ "unit", required_argument, NULL, ARG_UNIT },
{ "system", no_argument, NULL, ARG_SYSTEM },
- { "session", no_argument, NULL, ARG_SESSION },
+ { "user", no_argument, NULL, ARG_USER },
{ "test", no_argument, NULL, ARG_TEST },
{ "help", no_argument, NULL, 'h' },
{ "dump-configuration-items", no_argument, NULL, ARG_DUMP_CONFIGURATION_ITEMS },
arg_running_as = MANAGER_SYSTEM;
break;
- case ARG_SESSION:
- arg_running_as = MANAGER_SESSION;
+ case ARG_USER:
+ arg_running_as = MANAGER_USER;
break;
case ARG_TEST:
static int help(void) {
printf("%s [OPTIONS...]\n\n"
- "Starts up and maintains the system or a session.\n\n"
+ "Starts up and maintains the system or user services.\n\n"
" -h --help Show this help\n"
" --test Determine startup sequence, dump it and exit\n"
" --dump-configuration-items Dump understood unit configuration items\n"
" --introspect[=INTERFACE] Extract D-Bus interface data\n"
" --unit=UNIT Set default unit\n"
" --system Run a system instance, even if PID != 1\n"
- " --session Run a session instance\n"
+ " --user Run a user instance\n"
" --dump-core Dump core on crash\n"
" --crash-shell Run shell on crash\n"
" --confirm-spawn Ask for confirmation when spawning processes\n"
if (label_init() < 0)
goto finish;
} else {
- arg_running_as = MANAGER_SESSION;
+ arg_running_as = MANAGER_USER;
log_set_target(LOG_TARGET_CONSOLE);
}
if (arg_running_as == MANAGER_SYSTEM)
args[i++] = "--system";
else
- args[i++] = "--session";
+ args[i++] = "--user";
if (arg_dump_core)
args[i++] = "--dump-core";
dbus_error_init(&error);
- log_info("Activating special unit %s", name);
+ log_debug("Activating special unit %s", name);
if ((r = manager_add_job_by_name(m, JOB_START, name, mode, true, &error, NULL)) < 0)
log_error("Failed to enqueue %s job: %s", name, bus_error(&error, r));
assert(m);
- generator_path = m->running_as == MANAGER_SYSTEM ? SYSTEM_GENERATOR_PATH : SESSION_GENERATOR_PATH;
+ generator_path = m->running_as == MANAGER_SYSTEM ? SYSTEM_GENERATOR_PATH : USER_GENERATOR_PATH;
if (!(d = opendir(generator_path))) {
if (errno == ENOENT)
if (!m->generator_unit_path) {
char *p;
char system_path[] = "/dev/.systemd/generator-XXXXXX",
- session_path[] = "/tmp/systemd-generator-XXXXXX";
+ user_path[] = "/tmp/systemd-generator-XXXXXX";
- if (!(p = mkdtemp(m->running_as == MANAGER_SYSTEM ? system_path : session_path))) {
+ if (!(p = mkdtemp(m->running_as == MANAGER_SYSTEM ? system_path : user_path))) {
log_error("Failed to generate generator directory: %m");
goto finish;
}
static const char* const manager_running_as_table[_MANAGER_RUNNING_AS_MAX] = {
[MANAGER_SYSTEM] = "system",
- [MANAGER_SESSION] = "session"
+ [MANAGER_USER] = "user"
};
DEFINE_STRING_TABLE_LOOKUP(manager_running_as, ManagerRunningAs);
typedef enum ManagerRunningAs {
MANAGER_SYSTEM,
- MANAGER_SESSION,
+ MANAGER_USER,
_MANAGER_RUNNING_AS_MAX,
_MANAGER_RUNNING_AS_INVALID = -1
} ManagerRunningAs;
#include "path-lookup.h"
-int session_config_home(char **config_home) {
+int user_config_home(char **config_home) {
const char *e;
if ((e = getenv("XDG_CONFIG_HOME"))) {
- if (asprintf(config_home, "%s/systemd/session", e) < 0)
+ if (asprintf(config_home, "%s/systemd/user", e) < 0)
return -ENOMEM;
return 1;
const char *home;
if ((home = getenv("HOME"))) {
- if (asprintf(config_home, "%s/.config/systemd/session", home) < 0)
+ if (asprintf(config_home, "%s/.config/systemd/user", home) < 0)
return -ENOMEM;
return 1;
return 0;
}
-static char** session_dirs(void) {
+static char** user_dirs(void) {
const char *home, *e;
char *config_home = NULL, *data_home = NULL;
char **config_dirs = NULL, **data_dirs = NULL;
* as data, and allow overriding as configuration.
*/
- if (session_config_home(&config_home) < 0)
+ if (user_config_home(&config_home) < 0)
goto fail;
home = getenv("HOME");
* /etc/systemd/ anyway. */
if ((e = getenv("XDG_DATA_HOME"))) {
- if (asprintf(&data_home, "%s/systemd/session", e) < 0)
+ if (asprintf(&data_home, "%s/systemd/user", e) < 0)
goto fail;
} else if (home) {
- if (asprintf(&data_home, "%s/.local/share/systemd/session", home) < 0)
+ if (asprintf(&data_home, "%s/.local/share/systemd/user", home) < 0)
goto fail;
/* There is really no need for two unit dirs in $HOME,
* one. */
mkdir_parents(data_home, 0777);
- (void) symlink("../../../.config/systemd/session", data_home);
+ (void) symlink("../../../.config/systemd/user", data_home);
}
if ((e = getenv("XDG_DATA_DIRS")))
r = t;
}
- if (!(t = strv_merge_concat(r, config_dirs, "/systemd/session")))
+ if (!(t = strv_merge_concat(r, config_dirs, "/systemd/user")))
goto finish;
strv_free(r);
r = t;
- if (!(t = strv_append(r, SESSION_CONFIG_UNIT_PATH)))
+ if (!(t = strv_append(r, USER_CONFIG_UNIT_PATH)))
goto fail;
strv_free(r);
r = t;
r = t;
}
- if (!(t = strv_merge_concat(r, data_dirs, "/systemd/session")))
+ if (!(t = strv_merge_concat(r, data_dirs, "/systemd/user")))
goto fail;
strv_free(r);
r = t;
- if (!(t = strv_append(r, SESSION_DATA_UNIT_PATH)))
+ if (!(t = strv_append(r, USER_DATA_UNIT_PATH)))
goto fail;
strv_free(r);
r = t;
/* Nothing is set, so let's figure something out. */
strv_free(p->unit_path);
- if (running_as == MANAGER_SESSION) {
- if (!(p->unit_path = session_dirs()))
+ if (running_as == MANAGER_USER) {
+ if (!(p->unit_path = user_dirs()))
return -ENOMEM;
} else
if (!(p->unit_path = strv_new(
#include "manager.h"
-int session_config_home(char **config_home);
+int user_config_home(char **config_home);
int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as);
void lookup_paths_free(LookupPaths *p);
fine. You should NOT protect them with a call to this function. Also
note that this function checks whether the system, not the user
session is controlled by systemd. However the functions above work
- for both session and system services.
+ for both user and system services.
See sd_booted(3) for more information.
*/
if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_BASIC_TARGET, NULL, true)) < 0)
return r;
- } else if (s->meta.manager->running_as == MANAGER_SESSION) {
+ } else if (s->meta.manager->running_as == MANAGER_USER) {
if ((r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SOCKETS_TARGET, NULL, true)) < 0)
return r;
using DBus;
using Pango;
-static bool session = false;
+static bool user = false;
public class LeftLabel : Label {
public LeftLabel(string? text = null) {
private ComboBox unit_type_combo_box;
public MainWindow() throws DBus.Error {
- title = session ? "systemd Session Manager" : "systemd System Manager";
+ title = user ? "systemd User Service Manager" : "systemd System Manager";
position = WindowPosition.CENTER;
set_default_size(1000, 700);
set_border_width(12);
bbox.pack_start(cancel_button, false, true, 0);
- bus = DBus.Bus.get(session ? DBus.BusType.SESSION : DBus.BusType.SYSTEM);
+ bus = DBus.Bus.get(user ? DBus.BusType.SESSION : DBus.BusType.SYSTEM);
manager = bus.get_object(
"org.freedesktop.systemd1",
}
static const OptionEntry entries[] = {
- { "session", 0, 0, OptionArg.NONE, out session, "Connect to session bus", null },
- { "system", 0, OptionFlags.REVERSE, OptionArg.NONE, out session, "Connect to system bus", null },
+ { "user", 0, 0, OptionArg.NONE, out user, "Connect to user service manager", null },
+ { "system", 0, OptionFlags.REVERSE, OptionArg.NONE, out user, "Connect to system manager", null },
{ null }
};
local -A OPTS=(
[STANDALONE]='--all -a --defaults --fail --force -f --full --global
--help -h --no-ask-password --no-block --no-reload --no-wall
- --order --require --quiet -q --session --system --version'
+ --order --require --quiet -q --system --user --version'
[ARG]='--kill-mode --kill-who --property -p --signal -s --type -t'
)
static char **arg_property = NULL;
static bool arg_all = false;
static bool arg_fail = false;
-static bool arg_session = false;
+static bool arg_user = false;
static bool arg_global = false;
static bool arg_immediate = false;
static bool arg_no_block = false;
if (need_daemon_reload(bus, name))
log_warning("Unit file of created job changed on disk, 'systemctl %s daemon-reload' recommended.",
- arg_session ? "--session" : "--system");
+ arg_user ? "--user" : "--system");
if (!arg_no_block) {
char *p;
printf("\n%sWarning:%s Unit file changed on disk, 'systemctl %s daemon-reload' recommended.\n",
ansi_highlight(true),
ansi_highlight(false),
- arg_session ? "--session" : "--system");
+ arg_user ? "--user" : "--system");
}
static int status_property(const char *name, DBusMessageIter *iter, UnitStatusInfo *i) {
static char *get_config_path(void) {
- if (arg_session && arg_global)
- return strdup(SESSION_CONFIG_UNIT_PATH);
+ if (arg_user && arg_global)
+ return strdup(USER_CONFIG_UNIT_PATH);
- if (arg_session) {
+ if (arg_user) {
char *p;
- if (session_config_home(&p) < 0)
+ if (user_config_home(&p) < 0)
return NULL;
return p;
dbus_error_init(&error);
zero(paths);
- if ((r = lookup_paths_init(&paths, arg_session ? MANAGER_SESSION : MANAGER_SYSTEM)) < 0) {
+ if ((r = lookup_paths_init(&paths, arg_user ? MANAGER_USER : MANAGER_SYSTEM)) < 0) {
log_error("Failed to determine lookup paths: %s", strerror(-r));
goto finish;
}
/* Don't try to reload anything when updating a unit globally */
!arg_global &&
/* Don't try to reload anything if we are called for system changes but the system wasn't booted with systemd */
- (arg_session || sd_booted() > 0) &&
+ (arg_user || sd_booted() > 0) &&
/* Don't try to reload anything if we are running in a chroot environment */
- (arg_session || running_in_chroot() <= 0) ) {
+ (arg_user || running_in_chroot() <= 0) ) {
int q;
if ((q = daemon_reload(bus, args, n)) < 0)
" pending\n"
" -q --quiet Suppress output\n"
" --no-block Do not wait until operation finished\n"
- " --system Connect to system bus\n"
- " --session Connect to session bus\n"
+ " --system Connect to system manager\n"
+ " --user Connect to user service manager\n"
" --order When generating graph for dot, show only order\n"
" --require When generating graph for dot, show only requirement\n"
" --no-wall Don't send wall message before halt/power-off/reboot\n"
" poweroff Shut down and power-off the system\n"
" reboot Shut down and reboot the system\n"
" kexec Shut down and reboot the system with kexec\n"
- " exit Ask for session termination\n",
+ " exit Ask for user instance termination\n",
program_invocation_short_name);
return 0;
enum {
ARG_FAIL = 0x100,
ARG_VERSION,
- ARG_SESSION,
+ ARG_USER,
ARG_SYSTEM,
ARG_GLOBAL,
ARG_NO_BLOCK,
{ "all", no_argument, NULL, 'a' },
{ "full", no_argument, NULL, ARG_FULL },
{ "fail", no_argument, NULL, ARG_FAIL },
- { "session", no_argument, NULL, ARG_SESSION },
+ { "user", no_argument, NULL, ARG_USER },
{ "system", no_argument, NULL, ARG_SYSTEM },
{ "global", no_argument, NULL, ARG_GLOBAL },
{ "no-block", no_argument, NULL, ARG_NO_BLOCK },
arg_fail = true;
break;
- case ARG_SESSION:
- arg_session = true;
+ case ARG_USER:
+ arg_user = true;
break;
case ARG_SYSTEM:
- arg_session = false;
+ arg_user = false;
break;
case ARG_NO_BLOCK:
case ARG_GLOBAL:
arg_global = true;
- arg_session = true;
+ arg_user = true;
break;
case ARG_DEFAULTS:
goto finish;
}
- bus_connect(arg_session ? DBUS_BUS_SESSION : DBUS_BUS_SYSTEM, &bus, &private_bus, &error);
+ bus_connect(arg_user ? DBUS_BUS_SESSION : DBUS_BUS_SYSTEM, &bus, &private_bus, &error);
switch (arg_action) {
systemdsessionconfdir=@pkgsysconfdir@/session
Name: systemd
-Description: systemd System and Session Manager
+Description: systemd System and Service Manager
URL: @PACKAGE_URL@
Version: @PACKAGE_VERSION@
[Service]
Type=oneshot
-ExecStart=@SYSTEMCTL@ --session --force exit
+ExecStart=@SYSTEMCTL@ --user --force exit