After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 704581 - Enable timed/automatic login for multiseat displays
Enable timed/automatic login for multiseat displays
Status: RESOLVED OBSOLETE
Product: gdm
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2013-07-19 18:22 UTC by Ray Strode [halfline]
Modified: 2018-02-12 15:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
the patch (4.13 KB, patch)
2013-07-19 18:22 UTC, Ray Strode [halfline]
none Details | Review
Updated to also export the GDM_SEAT_ID for the initial environment as it's a useful variable to query in the login user script. (5.22 KB, patch)
2013-07-19 18:23 UTC, Ray Strode [halfline]
none Details | Review
Updated version of the patch for GDM 3.8.4 and later (6.27 KB, patch)
2013-11-20 11:40 UTC, Laércio de Sousa
none Details | Review

Description Ray Strode [halfline] 2013-07-19 18:22:19 UTC
Created attachment 249654 [details] [review]
the patch

Glen Gray slaine@slaine.org via gnome.org wrote on gdm-list

Hey guys,

I've attached a first blush patch to enable timed/automatic logins on seats > seat0. This patch is essentially made up of two parts.

1) In daemon/gdm-display.c where it currently checks if the seat != seat0. Rather than doing "goto out;" immediately, it queries the username. If the username is utilising the script method** then let the automated login proceed.

2) In gdm-simple-slave, rather than using a global level GDM_RAN_ONCE_FILE_MARKER, create one per seat. This allows the wants_autologin() to return True on a another seat rather than drop through to simply start_greeter().

**
https://help.gnome.org/admin/gdm/stable/configuration.html.en
...
TimedLogin  (applies to AutomaticLogin also)
This is the user that should be logged in after a specified number of seconds of inactivity.
If the value ends with a vertical bar | (the pipe symbol), then GDM will execute the program specified and use whatever value is returned on standard out from the program as the user. The program is run with the DISPLAY environment variable set so that it is possible to specify the user in a per-display fashion. For example if the value is "/usr/bin/getloginuser|", then the program "/usr/bin/getloginuser" will be run to get the user value.

I've performed some basic testing as follows utilizing a Plugable displaylink usb hub and a PC with integrated intel graphics.

1) AutomaticLoginEnabled = False
   Gdm Greeter is launched on both displays

2) AutomaticLoginEnabled = True / AutomaticLogin=username
   seat0 => username is logged in automtically, no greeter launched.
   seatn => Gdm Greeter is displayed

3) AutomaticLoginEnabled = True / AutomaticLogin=/usr/bin/getSeatUser.sh|
   seat0 => getSeatUser.sh looks for some seat/DISPLAY details and echo's out username, who is logged in
            automtically, no greeter launched.
   seatn => getSeatUser.sh looks for some seat/DISPLAY details and echo's out username, who is logged in
            automtically, no greeter launched.

Feedback and suggestions welcome.
Comment 1 Ray Strode [halfline] 2013-07-19 18:23:39 UTC
Created attachment 249655 [details] [review]
Updated to also export the GDM_SEAT_ID for the initial environment as it's a useful variable to query in the login user script.
Comment 2 slaine 2013-07-19 18:33:34 UTC
Thanks for creating the bug Ray.
Comment 3 Laércio de Sousa 2013-11-20 11:40:59 UTC
Created attachment 260292 [details] [review]
Updated version of the patch for GDM 3.8.4 and later

I've updated this patch, so it applies correctly to GDM up to 3.10.0.1.
Comment 4 Ray Strode [halfline] 2018-02-12 15:01:55 UTC
multiseat in general needs a lot of work these days.  this bug has been lingering for years, so i'm going to close it out.  Hopefully when we fix up multiseat we can fix this at the same time.