Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions session/compositor.service.in

This file was deleted.

33 changes: 33 additions & 0 deletions session/compositor@wayland.service.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[Unit]
Description=Greeter Compositor
# On wayland, force a session shutdown
OnFailure=gnome-session-shutdown.target
OnFailureJobMode=replace-irreversibly
CollectMode=inactive-or-failed
RefuseManualStart=on
RefuseManualStop=on

After=gnome-session-manager.target

Requisite=gnome-session-initialized.target
PartOf=gnome-session-initialized.target
Before=gnome-session-initialized.target

#NOTE: ConditionEnvironment works with systemd >= 246
ConditionEnvironment=XDG_SESSION_TYPE=%I

[Service]
Slice=session.slice
Type=notify
ExecStart=env GALA_SESSION_TYPE=installer XDG_CURRENT_DESKTOP=Pantheon @bindir@/gala --wayland

# unset some environment variables that were set by the compositor and won't work now that the compositor is gone
ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY && rm -f "$XDG_RUNTIME_DIR/wayland-0" "$XDG_RUNTIME_DIR/wayland-0.lock"'

# On wayland we cannot restart
Restart=no
# Kill any stubborn child processes after this long
TimeoutStopSec=5

# Lower down Gala's OOM score to avoid being killed by OOM-killer too early
OOMScoreAdjust=-1000
3 changes: 0 additions & 3 deletions session/installer.service.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
Description=Installer
After=gnome-session-initialized.target

[Install]
WantedBy=io.elementary.installer.target

[Service]
Type=exec
ExecStart=@bindir@/io.elementary.installer
Expand Down
2 changes: 1 addition & 1 deletion session/installer.target
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ Requisite=gnome-session-initialized.target
PartOf=gnome-session-initialized.target
Before=gnome-session-initialized.target

Wants=io.elementary.installer.compositor.service
Wants=io.elementary.installer.compositor@wayland.service io.elementary.installer.service
9 changes: 7 additions & 2 deletions session/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ service_config = configuration_data()
service_config.set('bindir', prefix / get_option('bindir'))

configure_file(
input: 'compositor.service.in',
output: 'io.elementary.installer.compositor.service',
input: 'compositor@wayland.service.in',
output: 'io.elementary.installer.compositor@wayland.service',
install: true,
install_dir: systemd_userunitdir,
configuration: service_config
Expand All @@ -50,3 +50,8 @@ configure_file(
install: true,
install_dir: systemd_userunitdir
)

install_data(
'session.conf',
install_dir: systemd_userunitdir / 'gnome-session@installer.target.d',
)
6 changes: 6 additions & 0 deletions session/session.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[Unit]
Wants=org.gnome.SettingsDaemon.MediaKeys.target
Wants=org.gnome.SettingsDaemon.Power.target
Wants=org.gnome.SettingsDaemon.XSettings.target

Requires=io.elementary.installer.target
Loading