| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Users sometimes set their shell to an invalid shell to prevent
login from proceeding.
GNOME on Wayland still allows login in these cases.
This commit makes the behavior match expectations by skipping
shell validity checks when deciding to run though a login shell.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The preview bugfix in commit f51153498246 was incorrect as it tested for
the variant to be non-NULL to detect an error (rather than NULL).
Fix this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, a switch from a mixed locale where LANG != REGION(/FORMAT) to a
non-mixed environment where LANG == REGION(/FORMAT) may result in LC_*
surviving in systemd and the change not getting applied.
Similar issues might occur when other DEs are setting these variables
before a login into GNOME happens.
Closes: #85
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As is, we are requesting the screensaver proxy to be started too early
in the login process. One issue that this is causing that login may hang
for a long time, other possible issues appear to be that the screensaver
service is not running at all in the end.
Note that gnome-settings-daemon will request the startup later on.
Thanks to Xiaoguang Wang <xwang@suse.com> for finding this issue and
suggesting a fix!
Closes: #88
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 646b9bc0 (included in 3.33.92) prevented one run of gnome-session
from uploading environment variables into `systemd --user` that should not
leak into a different login session, such as XDG_SESSION_ID. However,
non-GNOME session managers (and in particular the forks of gnome-session
found in Cinnamon and MATE) might still upload those environment variables.
The other session managers should be fixed, similar to 646b9bc0, but we
can mitigate this for GNOME sessions by actively unsetting the undesired
variables, instead of just not setting them.
Signed-off-by: Simon McVittie <smcv@collabora.com>
Resolves: https://gitlab.gnome.org/GNOME/gnome-session/-/issues/86
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This is only used for the gettext package. We could possibly just the
version from the gettext package entirely. But, leave as is for now and
simply use the GNOME release instead.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, asking to inhibit suspend ended up inhibiting both
sleeping and shutting down. And asking to inhibit logout did neither.
With this change, we inhibit only sleeping if suspend is requested
and start inhibiting shutdown when logout is requested.
This matches the documentation for those Gtk inhibit flags better.
https://gitlab.gnome.org/GNOME/gnome-session/-/issues/69
|
|
|
|
|
|
|
|
|
| |
Target units can indeed fail if a dependency fails. As such, it makes
sense to have the OnFailure= in there. systemd just incorrectly warned
about it for a while. See
https://github.com/systemd/systemd/commit/94d1ddbd7cd15b1073757eb5ae0645c83f0b414c
This reverts commit 11ae5b4cf00e44ba4024506835bd7cafdbf5f023.
|
|
|
|
|
|
|
|
|
| |
Looks like that using a file-to-be-generated doesn't work as expected,
so reverting previous patch.
Sorry for the troubles.
This reverts commit 1da09ac5bb5099e9a43cad9b8e98022f27c533c3.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that the pattern we use will create a subpattern match for
every character of the value. This appears to then result in a stack
overflow when matching very long values.
It might be an idea to limit the overall length of an environment
variable that is uploaded. But, this should fix the issue of crashes.
Fixes: #42
|
|
|
|
|
| |
systemd cannot be auto-started. Doing this avoids warnings during login
of the gdm user where we (intentionally) cannot use systemd.
|
|
|
|
| |
Closes: #71
|
| |
|
|
|
|
| |
See: #71
|
|
|
|
|
|
|
|
|
|
| |
Specifically, systemd only permits " \t\n" and we should stick to the
same set of permitted space characters.
See also
https://github.com/systemd/systemd/issues/17378
Closes: #70
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On systems where dbus-daemon is a systemd user service, it is always
socket-activatable, so it will be restarted on-demand by dbus.socket.
On systems where it is not, neither StopUnit nor TryRestartUnit will
do anything. Either way, there doesn't seem much point in immediately
restarting it.
If the job contradicts jobs that are already queued, fail with a warning
instead of replacing those jobs.
Related to #74.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
systemd v247 now puts services into app.slice by default. But app.slice
will have a conflict with exit.target, which in turn means that we still
get a conflict with exit.target indirectly.
Fix it by adding the appropriate Slice=-.slice into
gnome-session-restart-dbus.service. Also update the note in
gnome-session-shutdown.service to point out the requirements.
Closes: #74
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
As per previous commit we fill the gnome-session's session.conf based on
a list of required components, we can also avoid hardcoding things even
more, and generate config files for all the configured desktop sessions
with required components.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't leave to humans what machines can do, the gnome.session.desktop.in.in
is filled with an hard-to-maintain single-line semicolon separated list of
components, that then are repeated in the gnome systemd gnome.session.conf.
And these are meant to be kept in sync.
Meson can help us in this, so let's just keep a single list in meson and
use it to generate the various formats we need.
Using a map to keep the components so that this can be easily adapted and
possibly new sessions can be defined
|