[gnome-settings-daemon/origin/wip/laney/systemd-user: 2/3] plugins: Add systemd user service files for all the plugins
- From: Benjamin Berg <bberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon/origin/wip/laney/systemd-user: 2/3] plugins: Add systemd user service files for all the plugins
- Date: Mon, 25 Mar 2019 10:33:18 +0000 (UTC)
commit 931931398f906346d47b9d68cb16e36e953b2ee8
Author: Iain Lane <iain orangesquash org uk>
Date: Tue Jan 16 11:21:48 2018 +0000
plugins: Add systemd user service files for all the plugins
Using the facility added in the previous commit, we can add systemd user
service files for all plugins and know when they have started up.
For simplicity, we create a target which gnome-session can start to
activate all of g-s-d's plugins.
All units are practically identical, except for
- the media-keys and sound plugins wait for PulseAudio to start
This is heavily based on a patch originally by Bastien Nocera
<hadess hadess net>
We also add a gnome-session-gdm target to start only required programs
under GDM.
Currently we check the running plugin name against a static list in the
source code, and don't run the plugin if it's not needed in gdm. With
systemd, we can do better.
We provide a 'gdm' target which only pulls in the required programs, and
get rid of the list. This target has
Conflicts=gnome-settings-daemon.target, which means that the full fat
g-s-d won't get started if -gdm already has been, and we arrange for it
to be started explicitly by the login session target.
data/gnome-settings-daemon-gdm-wayland.target | 7 ++++
data/gnome-settings-daemon-gdm-x11.target | 8 ++++
data/gnome-settings-daemon-gdm.target | 4 ++
data/gnome-settings-daemon-wayland.target | 7 ++++
data/gnome-settings-daemon-x11.target | 8 ++++
data/gnome-settings-daemon.target | 4 ++
data/meson.build | 12 ++++++
meson.build | 2 +
plugins/a11y-settings/gsd-a11y-settings.service.in | 13 ++++++
plugins/clipboard/gsd-clipboard.service.in | 13 ++++++
plugins/color/gsd-color.service.in | 13 ++++++
plugins/common/daemon-skeleton-gtk.h | 49 ++++------------------
plugins/common/daemon-skeleton.h | 46 +++-----------------
plugins/datetime/gsd-datetime.service.in | 13 ++++++
plugins/dummy/gsd-dummy.service.in | 13 ++++++
plugins/housekeeping/gsd-housekeeping.service.in | 13 ++++++
plugins/keyboard/gsd-keyboard.service.in | 13 ++++++
plugins/media-keys/gsd-media-keys.service.in | 14 +++++++
plugins/meson.build | 17 +++++++-
plugins/mouse/gsd-mouse.service.in | 13 ++++++
plugins/power/gsd-power.service.in | 13 ++++++
.../gsd-print-notifications.service.in | 13 ++++++
plugins/rfkill/gsd-rfkill.service.in | 13 ++++++
.../gsd-screensaver-proxy.service.in | 13 ++++++
plugins/sharing/gsd-sharing.service.in | 13 ++++++
plugins/smartcard/gsd-smartcard.service.in | 13 ++++++
plugins/sound/gsd-sound.service.in | 14 +++++++
plugins/wacom/gsd-wacom.service.in | 13 ++++++
plugins/xsettings/gsd-xsettings.service.in | 13 ++++++
29 files changed, 316 insertions(+), 84 deletions(-)
---
diff --git a/data/gnome-settings-daemon-gdm-wayland.target b/data/gnome-settings-daemon-gdm-wayland.target
new file mode 100644
index 00000000..c39cfca9
--- /dev/null
+++ b/data/gnome-settings-daemon-gdm-wayland.target
@@ -0,0 +1,7 @@
+[Unit]
+Description=GNOME Settings daemon (wayland GDM)
+StopWhenUnneeded=yes
+BindsTo=gnome-settings-daemon-gdm.target
+After=gnome-settings-daemon-gdm.target
+Conflicts=gnome-settings-daemon-gdm-x11.target
+RefuseManualStart=yes
diff --git a/data/gnome-settings-daemon-gdm-x11.target b/data/gnome-settings-daemon-gdm-x11.target
new file mode 100644
index 00000000..2d141280
--- /dev/null
+++ b/data/gnome-settings-daemon-gdm-x11.target
@@ -0,0 +1,8 @@
+[Unit]
+Description=GNOME Settings daemon (x11 GDM)
+StopWhenUnneeded=yes
+Before=gnome-shell-x11.target gnome-shell.service
+BindsTo=gnome-settings-daemon-gdm.target
+After=gnome-settings-daemon-gdm.target
+Conflicts=gnome-settings-daemon-gdm-wayland.target gnome-settings-daemon.target
+RefuseManualStart=yes
diff --git a/data/gnome-settings-daemon-gdm.target b/data/gnome-settings-daemon-gdm.target
new file mode 100644
index 00000000..b13fbbf3
--- /dev/null
+++ b/data/gnome-settings-daemon-gdm.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=GNOME Settings daemon (GDM)
+StopWhenUnneeded=yes
+Conflicts=gnome-settings-daemon.target
diff --git a/data/gnome-settings-daemon-wayland.target b/data/gnome-settings-daemon-wayland.target
new file mode 100644
index 00000000..0c7e1844
--- /dev/null
+++ b/data/gnome-settings-daemon-wayland.target
@@ -0,0 +1,7 @@
+[Unit]
+Description=GNOME Settings daemon (wayland)
+StopWhenUnneeded=yes
+BindsTo=gnome-settings-daemon.target
+After=gnome-settings-daemon.target gnome-shell-wayland.target gnome-shell.service
+Conflicts=gnome-settings-daemon-x11.target
+RefuseManualStart=yes
diff --git a/data/gnome-settings-daemon-x11.target b/data/gnome-settings-daemon-x11.target
new file mode 100644
index 00000000..b11e260b
--- /dev/null
+++ b/data/gnome-settings-daemon-x11.target
@@ -0,0 +1,8 @@
+[Unit]
+Description=GNOME Settings daemon (x11)
+StopWhenUnneeded=yes
+Before=gnome-shell-x11.target gnome-shell.service
+BindsTo=gnome-settings-daemon.target
+After=gnome-settings-daemon.target
+Conflicts=gnome-settings-daemon-wayland.target
+RefuseManualStart=yes
diff --git a/data/gnome-settings-daemon.target b/data/gnome-settings-daemon.target
new file mode 100644
index 00000000..d5796dc1
--- /dev/null
+++ b/data/gnome-settings-daemon.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=GNOME Settings daemon
+StopWhenUnneeded=yes
+RefuseManualStart=yes
diff --git a/data/meson.build b/data/meson.build
index e93ba641..7450a1c9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -51,6 +51,18 @@ install_data(
install_dir: join_paths(gsd_datadir, 'GConf', 'gsettings')
)
+units = files('gnome-settings-daemon.target',
+ 'gnome-settings-daemon-wayland.target',
+ 'gnome-settings-daemon-x11.target',
+ 'gnome-settings-daemon-gdm.target',
+ 'gnome-settings-daemon-gdm-wayland.target',
+ 'gnome-settings-daemon-gdm-x11.target')
+
+install_data(
+ units,
+ install_dir: systemduserunitdir
+)
+
pkg.generate(
version: gsd_version,
name: meson.project_name(),
diff --git a/meson.build b/meson.build
index a352d04f..cab6fafd 100644
--- a/meson.build
+++ b/meson.build
@@ -102,6 +102,8 @@ polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.103')
upower_glib_dep = dependency('upower-glib', version: '>= 0.99.0')
x11_dep = dependency('x11')
+systemduserunitdir = join_paths(gsd_prefix, 'lib', 'systemd', 'user')
+
m_dep = cc.find_library('m')
# ALSA integration (default enabled)
diff --git a/plugins/a11y-settings/gsd-a11y-settings.service.in
b/plugins/a11y-settings/gsd-a11y-settings.service.in
new file mode 100644
index 00000000..90c8fe7d
--- /dev/null
+++ b/plugins/a11y-settings/gsd-a11y-settings.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Accessibility settings
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-a11y-settings
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/clipboard/gsd-clipboard.service.in b/plugins/clipboard/gsd-clipboard.service.in
new file mode 100644
index 00000000..12bdd984
--- /dev/null
+++ b/plugins/clipboard/gsd-clipboard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Clipboard handler
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-clipboard
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/color/gsd-color.service.in b/plugins/color/gsd-color.service.in
new file mode 100644
index 00000000..f0225cb9
--- /dev/null
+++ b/plugins/color/gsd-color.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Color management
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-color
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/common/daemon-skeleton-gtk.h b/plugins/common/daemon-skeleton-gtk.h
index 719c0568..3b97841b 100644
--- a/plugins/common/daemon-skeleton-gtk.h
+++ b/plugins/common/daemon-skeleton-gtk.h
@@ -40,37 +40,6 @@ static GOptionEntry entries[] = {
{NULL}
};
-static const char *gdm_helpers[] = {
- "a11y-keyboard",
- "a11y-settings",
- "clipboard",
- "color",
- "keyboard",
- "media-keys",
- "power",
- "smartcard",
- "sound",
- "xsettings",
- "wacom",
-};
-
-static gboolean
-should_run (void)
-{
- const char *session_mode;
- guint i;
-
- session_mode = g_getenv ("GNOME_SHELL_SESSION_MODE");
- if (g_strcmp0 (session_mode, "gdm") != 0)
- return TRUE;
-
- for (i = 0; i < G_N_ELEMENTS (gdm_helpers); i++) {
- if (g_str_equal (PLUGIN_NAME, gdm_helpers[i]))
- return TRUE;
- }
- return FALSE;
-}
-
static void
respond_to_end_session (GDBusProxy *proxy)
{
@@ -237,7 +206,7 @@ name_lost_cb (GDBusConnection *connection,
int
main (int argc, char **argv)
{
- GError *error;
+ GError *error = NULL;
guint name_own_id;
bindtextdomain (GETTEXT_PACKAGE, GNOME_SETTINGS_LOCALEDIR);
@@ -286,14 +255,11 @@ main (int argc, char **argv)
manager = NEW ();
register_with_gnome_session ();
- if (should_run ()) {
- error = NULL;
- if (!START (manager, &error)) {
- fprintf (stderr, "Failed to start: %s\n", error->message);
- g_error_free (error);
- exit (1);
- }
- }
+ if (!START (manager, &error)) {
+ fprintf (stderr, "Failed to start: %s\n", error->message);
+ g_error_free (error);
+ exit (1);
+ }
name_own_id = g_bus_own_name (G_BUS_TYPE_SESSION,
PLUGIN_DBUS_NAME,
@@ -306,8 +272,7 @@ main (int argc, char **argv)
gtk_main ();
- if (should_run ())
- STOP (manager);
+ STOP (manager);
g_object_unref (manager);
g_bus_unown_name (name_own_id);
diff --git a/plugins/common/daemon-skeleton.h b/plugins/common/daemon-skeleton.h
index a2fccf85..23c402ad 100644
--- a/plugins/common/daemon-skeleton.h
+++ b/plugins/common/daemon-skeleton.h
@@ -43,36 +43,6 @@ static GOptionEntry entries[] = {
{NULL}
};
-static const char *gdm_helpers[] = {
- "a11y-keyboard",
- "a11y-settings",
- "clipboard",
- "color",
- "keyboard",
- "media-keys",
- "power",
- "smartcard",
- "sound",
- "xsettings"
-};
-
-static gboolean
-should_run (void)
-{
- const char *session_mode;
- guint i;
-
- session_mode = g_getenv ("GNOME_SHELL_SESSION_MODE");
- if (g_strcmp0 (session_mode, "gdm") != 0)
- return TRUE;
-
- for (i = 0; i < G_N_ELEMENTS (gdm_helpers); i++) {
- if (g_str_equal (PLUGIN_NAME, gdm_helpers[i]))
- return TRUE;
- }
- return FALSE;
-}
-
static void
respond_to_end_session (GDBusProxy *proxy)
{
@@ -263,14 +233,11 @@ main (int argc, char **argv)
manager = NEW ();
register_with_gnome_session (loop);
- if (should_run ()) {
- error = NULL;
- if (!START (manager, &error)) {
- fprintf (stderr, "Failed to start: %s\n", error->message);
- g_error_free (error);
- exit (1);
- }
- }
+ if (!START (manager, &error)) {
+ fprintf (stderr, "Failed to start: %s\n", error->message);
+ g_error_free (error);
+ exit (1);
+ }
name_own_id = g_bus_own_name (G_BUS_TYPE_SESSION,
PLUGIN_DBUS_NAME,
@@ -283,8 +250,7 @@ main (int argc, char **argv)
g_main_loop_run (loop);
- if (should_run ())
- STOP (manager);
+ STOP (manager);
g_object_unref (manager);
g_bus_unown_name (name_own_id);
diff --git a/plugins/datetime/gsd-datetime.service.in b/plugins/datetime/gsd-datetime.service.in
new file mode 100644
index 00000000..8744b287
--- /dev/null
+++ b/plugins/datetime/gsd-datetime.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Date & Time handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-datetime
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/dummy/gsd-dummy.service.in b/plugins/dummy/gsd-dummy.service.in
new file mode 100644
index 00000000..e0451828
--- /dev/null
+++ b/plugins/dummy/gsd-dummy.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=GNOME Settings Daemon dummy replacement plugin (@pluginname@)
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-dummy --dummy-name=@pluginname@
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/housekeeping/gsd-housekeeping.service.in
b/plugins/housekeeping/gsd-housekeeping.service.in
new file mode 100644
index 00000000..3fec3743
--- /dev/null
+++ b/plugins/housekeeping/gsd-housekeeping.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Maintenance of expirable data
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-housekeeping
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/keyboard/gsd-keyboard.service.in b/plugins/keyboard/gsd-keyboard.service.in
new file mode 100644
index 00000000..2f08e4be
--- /dev/null
+++ b/plugins/keyboard/gsd-keyboard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Keyboard handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-keyboard
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/media-keys/gsd-media-keys.service.in b/plugins/media-keys/gsd-media-keys.service.in
new file mode 100644
index 00000000..6b40ce62
--- /dev/null
+++ b/plugins/media-keys/gsd-media-keys.service.in
@@ -0,0 +1,14 @@
+[Unit]
+Description=Media keys handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target pulseaudio.service
+Requires=pulseaudio.service
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-media-keys
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/meson.build b/plugins/meson.build
index 5ff476a0..ae3b26fb 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -40,16 +40,22 @@ plugins_cflags = ['-DGNOME_SETTINGS_LOCALEDIR="@0@"'.format(gsd_localedir)]
foreach plugin: [['common', '']] + enabled_plugins
plugin_name = plugin[0]
- plugin_dbus_name = plugin[1]
+ plugin_name_case = plugin[1]
+ plugin_dbus_name='org.gnome.SettingsDaemon.@0@'.format(plugin_name_case)
cflags = [
'-DG_LOG_DOMAIN="@0@-plugin"'.format(plugin_name),
'-DPLUGIN_NAME="@0@"'.format(plugin_name),
- '-DPLUGIN_DBUS_NAME="org.gnome.SettingsDaemon.@0@"'.format(plugin_dbus_name),
+ '-DPLUGIN_DBUS_NAME="@0@"'.format(plugin_dbus_name),
] + plugins_cflags
if not ['common', 'dummy'].contains(plugin_name)
desktop = 'org.gnome.SettingsDaemon.@0@.desktop'.format(plugin[1])
+ user_unit = 'gsd-@0@.service'.format(plugin_name)
+
+ unit_conf = configuration_data()
+ unit_conf.set('libexecdir', gsd_libexecdir)
+ unit_conf.set('plugin_dbus_name', plugin_dbus_name)
configure_file(
input: join_paths(plugin_name, desktop + '.in'),
@@ -58,6 +64,13 @@ foreach plugin: [['common', '']] + enabled_plugins
install: true,
install_dir: gsd_xdg_autostart
)
+ configure_file(
+ input: join_paths(plugin_name, user_unit + '.in'),
+ output: user_unit,
+ configuration: unit_conf,
+ install: true,
+ install_dir: systemduserunitdir
+ )
endif
subdir(plugin_name)
diff --git a/plugins/mouse/gsd-mouse.service.in b/plugins/mouse/gsd-mouse.service.in
new file mode 100644
index 00000000..4d25898f
--- /dev/null
+++ b/plugins/mouse/gsd-mouse.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Mouse settings management
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-mouse
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/power/gsd-power.service.in b/plugins/power/gsd-power.service.in
new file mode 100644
index 00000000..010e44e0
--- /dev/null
+++ b/plugins/power/gsd-power.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Power management handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-power
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/print-notifications/gsd-print-notifications.service.in
b/plugins/print-notifications/gsd-print-notifications.service.in
new file mode 100644
index 00000000..97e45cc9
--- /dev/null
+++ b/plugins/print-notifications/gsd-print-notifications.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Printer notifications
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-print-notifications
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/rfkill/gsd-rfkill.service.in b/plugins/rfkill/gsd-rfkill.service.in
new file mode 100644
index 00000000..e83548df
--- /dev/null
+++ b/plugins/rfkill/gsd-rfkill.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=RFKill handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-rfkill
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in
b/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in
new file mode 100644
index 00000000..2fa53b77
--- /dev/null
+++ b/plugins/screensaver-proxy/gsd-screensaver-proxy.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Freedesktop screensaver handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-screensaver-proxy
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/sharing/gsd-sharing.service.in b/plugins/sharing/gsd-sharing.service.in
new file mode 100644
index 00000000..baec02bf
--- /dev/null
+++ b/plugins/sharing/gsd-sharing.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Sharing handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-sharing
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target
diff --git a/plugins/smartcard/gsd-smartcard.service.in b/plugins/smartcard/gsd-smartcard.service.in
new file mode 100644
index 00000000..174d0a60
--- /dev/null
+++ b/plugins/smartcard/gsd-smartcard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Smartcard handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-smartcard
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/sound/gsd-sound.service.in b/plugins/sound/gsd-sound.service.in
new file mode 100644
index 00000000..367510a5
--- /dev/null
+++ b/plugins/sound/gsd-sound.service.in
@@ -0,0 +1,14 @@
+[Unit]
+Description=Sound sample caching handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target pulseaudio.service
+Requires=pulseaudio.service
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-sound
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/wacom/gsd-wacom.service.in b/plugins/wacom/gsd-wacom.service.in
new file mode 100644
index 00000000..d1d2e0f0
--- /dev/null
+++ b/plugins/wacom/gsd-wacom.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Wacom handling
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-wacom
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
diff --git a/plugins/xsettings/gsd-xsettings.service.in b/plugins/xsettings/gsd-xsettings.service.in
new file mode 100644
index 00000000..6572364e
--- /dev/null
+++ b/plugins/xsettings/gsd-xsettings.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=XSettings
+PartOf=graphical-session.target
+After=gnome-session-bus.target graphical-session-pre.target gnome-shell-wayland.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-xsettings
+Restart=on-failure
+BusName=@plugin_dbus_name@
+
+[Install]
+WantedBy=gnome-settings-daemon.target gnome-settings-daemon-gdm.target
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]