Details
-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
rhel-8.7.0
Description
Description of problem:
Even while the user is still on the host with logged-in status, the user@.service can be stopped with systemctl stop user@UID.service manually. There are some situations that user@UID.service is not running but the user is still on the host.
A customer had a expectation that the systemd-logind should start the user@UID.service if it's not running, even if the user is available with logged-in status.
Currently, it's checked in user_start() as below.
int user_start(User *u) {
assert(u);
if (u->started && !u->stopping)
return 0;
... snip ...
/* Start user@UID.service */
user_start_service(u);
So, the user is checked, but the status of user@UID.service is not checked.
Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 8.7
How reproducible:
Always
Steps to Reproduce:
1. login with a test user (UID=1000)
2. confirm if user@1000.service is running, and stop it.
3. login with the same test user (UID=1000) to make another session.
4. check if user@1000.service is running or if systemd -user is running for UID=1000
Actual results:
The systemd-logind doesn't start user@1000.service when the user is available.
Expected results:
The systemd-logind can start user@1000.service if it's not activated, even when the user is available.
Attachments
Issue Links
- external trackers