greeter icon indicating copy to clipboard operation
greeter copied to clipboard

Latest ISO doesn't automatically launch installer

Open davidmhewitt opened this issue 2 years ago • 4 comments

What Happened?

The greeter is supposed to be responsible for launching the installer session when it detects it is installed.

Something has changed in the stack somewhere that prevents this from occurring successfully.

I believe this is because the elementary user that casper creates during bootup of the live ISO isn't recognised as a user by LightDM, and the Greeter follows the "no users, so launch initial setup" path.

It seems that casper creates this user as UID 999, and probably always has. LightDM uses AccountsService to get the list of valid "human" users to be displayed in the greeter. It seems that AccountsService now only treats users with UID >= 1000 as real users, whereas previously it must have done something else. So, this elementary user is not presented to the greeter as a valid user, and the initial setup flow is launched instead of the installer.

I don't think we can just change the logic to just launch the installer session regardless of whether there's a user or not, because it relies on launching the installer session as that user.

So, possible solutions:

  • Patch casper to create the live user with UID 1000
  • Patch whichever config AccountsService is looking at to have valid UIDs as >= 999 (probably in the ISO only)
  • Completely rethink/rework how the installer "sessions" work (i.e. have the installer run in a pantheon session, or see if it's possible to run it directly in the greeter instead of its own session)

Steps to Reproduce

  1. Boot 20220228 ISO
  2. End up at initial setup instead of installer

Expected Behavior

  1. Boot ISO
  2. Get to installer

OS Version

7.x (Early Access)

Software Version

Compiled from git

Log Output

No response

Hardware Info

No response

davidmhewitt avatar Feb 28 '22 20:02 davidmhewitt

I can confirm this issue. It seems like this would be a good time to revisit this in Greeter and maybe change the way we launch the installer to detecting Casper?

danirabbit avatar May 16 '22 19:05 danirabbit

I don't think I understand your proposal.

We currently rely on LightDM to autologin to either the installer session or the demo session.

But as far as it's concerned, there is no user to autologin to. It's accountsservice that provides the list of users. And accountsservice has decided that users with UID < 1000 aren't users.

davidmhewitt avatar May 16 '22 19:05 davidmhewitt

Ah yeah sorry I haven't jumped into the code here yet. I know accountservice now automatically ignores non-person accounts in its list of users. I was more just commenting that we can probably still solve this in greeter instead of with a patch and that there's probably some code in greeter we can revisit anyways that was launching the installer whenever it's installed regardless of whether we were in a live session

danirabbit avatar May 16 '22 20:05 danirabbit

The installer is currently a session, and a session needs a user to run under, and for all intents and purposes, we don't have a user (at least not one the greeter can see or launch sessions under).

If we rework the whole thing so that the installer process runs under the greeter rather than in a session, then sure, we don't have to patch anything.

But I bet we'd find a bunch of other issues.

davidmhewitt avatar May 16 '22 20:05 davidmhewitt

I built a patched version of the caper package yesterday: https://github.com/elementary/os-patches/compare/casper-jammy...casper-jammy-patched

It's in the launchpad PPA and the latest daily iso was built with it included: https://github.com/elementary/os/actions/runs/3124228888/jobs/5071898039

~~However, I've not been able to test it because the builds site is showing the 20220925 daily as the latest available to download instead of the 20220926 including the potential fix.~~

~~@danirabbit Could you look to see if this is a recurrence of this issue? https://github.com/elementary/builds/issues/62~~

~~I think if there's a bunch too many files in the DO bucket, then we start to miss some of the newer files on the frontend. Don't know if we want to be more aggressive at cleanup policies to remove older images.~~

davidmhewitt avatar Sep 26 '22 12:09 davidmhewitt

The latest daily iso now launches the installer correctly, if we want to take this approach and make this change permanent, we should merge https://github.com/elementary/os-patches/pull/254

If we don't want to take this approach, we'll need to delete the casper packages and recipes from the patches PPA.

davidmhewitt avatar Sep 26 '22 17:09 davidmhewitt