![]() |
VOOZH | about |
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Session Menu |
Triaged
|
Medium
|
Unassigned | ||
| indicator-session (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
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-dbus/users.c, line 593:
ret->is_current_user = uid == p->active_uid;
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-name-on-panel", I don't see the dot that means "current user" in the menu's user list etc.
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 |
Bug watches keep track of this bug in other bug trackers.