data: add systemd unit file for running daemon
This adds a systemd unit file for running the Calls daemon, and adds a key to the xdg autostart file to instruct gnome-session to ignore starting when systemd is present. The expectation is that systemd distros will enable the Calls daemon as a user service and not rely on xdg autostart / gnome-session for running/managing the service. Systemd is better at managing services than gnome-session. Note: it's important to keep the xdg-autostart file around, some distros (pmOS on openrc, others) don't use systemd and will still need to rely on the xdg autostart mechanism for starting the Calls daemon. Co-authored-by: Guido Günther <agx@sigxcpu.org>
This commit is contained in:
11
data/calls-daemon.service.in
Normal file
11
data/calls-daemon.service.in
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=A phone dialer and call handler (daemon mode)
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
BusName=org.gnome.Calls
|
||||
ExecStart=@bindir@/gnome-calls --daemon
|
||||
Type=dbus
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
@@ -20,11 +20,11 @@ desktop_daemon_file = i18n.merge_file(
|
||||
install_dir : join_paths(sysconfdir, 'xdg/autostart')
|
||||
)
|
||||
|
||||
# DBus service
|
||||
service_data = configuration_data()
|
||||
service_data.set('bindir', full_bindir)
|
||||
service_file = 'org.gnome.Calls.service'
|
||||
|
||||
# DBus service
|
||||
service_file = 'org.gnome.Calls.service'
|
||||
configure_file(
|
||||
input : service_file + '.in',
|
||||
output : service_file,
|
||||
@@ -33,6 +33,16 @@ configure_file(
|
||||
install_dir : full_servicedir,
|
||||
)
|
||||
|
||||
# Systemd user service
|
||||
systemd_unit = 'calls-daemon.service'
|
||||
configure_file(
|
||||
input : systemd_unit + '.in',
|
||||
output : systemd_unit,
|
||||
configuration : service_data,
|
||||
install : true,
|
||||
install_dir : systemd_user_unit_dir,
|
||||
)
|
||||
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
if desktop_utils.found()
|
||||
test('Validate desktop file',
|
||||
|
@@ -15,3 +15,4 @@ Terminal=false
|
||||
Categories=Network;GNOME;GTK;Telephony;
|
||||
X-GNOME-AutoRestart=true
|
||||
X-GNOME-UsesNotifications=true
|
||||
X-GNOME-HiddenUnderSystemd=true
|
||||
|
Reference in New Issue
Block a user