Commit 2da0b29
committed
Sanitize systemd user services
In some cases, snapd insists on enabling user services not only
globally, as expected (thus, adding a symlink at `/etc/systemd/user/XXXXX.target.wants`),
but also locally (thus, at $HOME/.config/systemd/user/XXXX.target.wants`).
This means that if an user service is migrated from `default.target`
to `graphical-session.target` (or vice-versa), the soft link at
the user's HOME folder will be in the wrong subfolder.
Unfortunately, the main snapd service seems to not have the
capability of accessing and managing the local user services,
having to rely on the user's local daemon (`snap userd`), which
runs as an user's service. So a change in that daemon (which has
its source code at `usersession/userd` folder) is required to
check the locally enabled user services and ensure that their
soft link is in the right place.
This commit does this by checking the links in the user folder
every time user session daemon is launched, and runs as the user
a `systemctl --user reenable SNAP-SERVICE-NAME` to rebuild the
wrong softlink.1 parent 6e4eb95 commit 2da0b29
1 file changed
+95
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
24 | 29 | | |
25 | 30 | | |
26 | 31 | | |
| 32 | + | |
27 | 33 | | |
28 | 34 | | |
29 | 35 | | |
30 | 36 | | |
| 37 | + | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
| |||
50 | 57 | | |
51 | 58 | | |
52 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
53 | 146 | | |
54 | 147 | | |
55 | 148 | | |
| |||
86 | 179 | | |
87 | 180 | | |
88 | 181 | | |
| 182 | + | |
| 183 | + | |
89 | 184 | | |
90 | 185 | | |
91 | 186 | | |
| |||
0 commit comments