{"action":"created","issue":{"url":"https://api.github.com/repos/sddm/sddm/issues/479","repository_url":"https://api.github.com/repos/sddm/sddm","labels_url":"https://api.github.com/repos/sddm/sddm/issues/479/labels{/name}","comments_url":"https://api.github.com/repos/sddm/sddm/issues/479/comments","events_url":"https://api.github.com/repos/sddm/sddm/issues/479/events","html_url":"https://github.com/sddm/sddm/issues/479","id":104705687,"number":479,"title":"Add an option to prevent greeter from building a full user model","user":{"login":"louen","id":1011507,"avatar_url":"https://avatars.githubusercontent.com/u/1011507?v=3","gravatar_id":"","url":"https://api.github.com/users/louen","html_url":"https://github.com/louen","followers_url":"https://api.github.com/users/louen/followers","following_url":"https://api.github.com/users/louen/following{/other_user}","gists_url":"https://api.github.com/users/louen/gists{/gist_id}","starred_url":"https://api.github.com/users/louen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louen/subscriptions","organizations_url":"https://api.github.com/users/louen/orgs","repos_url":"https://api.github.com/users/louen/repos","events_url":"https://api.github.com/users/louen/events{/privacy}","received_events_url":"https://api.github.com/users/louen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sddm/sddm/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-03T14:19:42Z","updated_at":"2016-04-30T23:16:46Z","closed_at":null,"body":"When working on a machine on which user authentication is through a network server (e.g. NIS), the greeter screen takes a lot of time to start up (~10-15 min in my case), leaving the screen blank.\r\n\r\nIt seems to be caused by the greeter building a UserModel by repeated calls to `getpwent()`. On a system with many users and each call to `getpwent()` querying the network server, it makes the login process unresponsive.\r\n\r\nAlong with the option not to display the full user list but a login/pw text box (see #406 or #450) there should be a way to avoid building the full user list and check user name only after user input.\r\n"},"comment":{"url":"https://api.github.com/repos/sddm/sddm/issues/comments/216001586","html_url":"https://github.com/sddm/sddm/issues/479#issuecomment-216001586","issue_url":"https://api.github.com/repos/sddm/sddm/issues/479","id":216001586,"user":{"login":"greyhare","id":18636280,"avatar_url":"https://avatars.githubusercontent.com/u/18636280?v=3","gravatar_id":"","url":"https://api.github.com/users/greyhare","html_url":"https://github.com/greyhare","followers_url":"https://api.github.com/users/greyhare/followers","following_url":"https://api.github.com/users/greyhare/following{/other_user}","gists_url":"https://api.github.com/users/greyhare/gists{/gist_id}","starred_url":"https://api.github.com/users/greyhare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/greyhare/subscriptions","organizations_url":"https://api.github.com/users/greyhare/orgs","repos_url":"https://api.github.com/users/greyhare/repos","events_url":"https://api.github.com/users/greyhare/events{/privacy}","received_events_url":"https://api.github.com/users/greyhare/received_events","type":"User","site_admin":false},"created_at":"2016-04-30T23:16:46Z","updated_at":"2016-04-30T23:16:46Z","body":"Best I can tell, in 0.13.0 at least, getpwnam is called for every detected user regardless of whether or not the theme asks for it. I don't see anything in the code that does lazy evaluation. So even though I'm using the Maldives theme, which doesn't have a user list, SDDM is still trying to mount every home directory it can, specifically during an exists() call.\r\n\r\nI've got a fix in my fork which adds a Users.ScanHomeDirs option (default true, matching current behavior), and will test it when I get back to work where the problem is. Once verified, I'll open a pull request. By putting this in Users and not Theme (where EnableAvatars is) should allow other non-theme code to use the setting if needed.\r\n\r\nOf course, in my case, EnableAvatars would be a good enough workaround, but it is not in the latest stable release."}}