Indicator-session assumes there's only one active user
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Session Menu |
Triaged
|
Medium
|
Unassigned | ||
indicator-session (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
Bug Description
In the policykit sense, an "active" user is one that is using a physical console, and so has rights to shutdown the system etc.
Remote users, like NX users, LTSP users, XDMCP users, or users that use X+VNC scripts to remotely log in, are correctly not considered active, and thus don't have some privileges like shutting down the system.
The problem is that indicator-session is using the policykit meaning of the word "active",
instead of checking for "currently logged in and working" users,
i.e. it thinks that only one user can be working on a PC at a given time.
From src/backend-
ret-
So if I'm logged in from a thin client, or via NX, or via XDMCP etc etc, indicator-session doesn't match the uid of its own process to tell me who I am, but just relies on the matching of the "active" user.
Thus I can't see my username if I enable "show-real-
A solution would be to use getuid() in the code above.
no longer affects: | ltsp (Ubuntu) |
Changed in indicator-session: | |
importance: | Undecided → Medium |
status: | New → Triaged |
I tested the getuid() change and it works fine on LTSP thin and fat clients.