Language selection is skipped for new installations

Bug #2067979 reported by Yao Wei
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
New
Undecided
Unassigned
gnome-initial-setup (Ubuntu)
In Progress
High
Yao Wei
Noble
In Progress
Undecided
Yao Wei

Bug Description

For OEM use case, we need language selection in the gnome-initial-setup account creation. We created an autoinstall to install Ubuntu that does not create a user, so that it boots into first boot screen when booting into the system:

user-data:
  users: {}

I found that there's a file in the Debian package:
https://salsa.debian.org/gnome-team/gnome-initial-setup/-/blob/ubuntu/latest/debian/vendor.conf

Which, this disables language selection for the first boot. I have an assumption that because the language selection is done when installing the system. This is not the case for OEM or for embedded system image.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

The vendor.conf directive is only part of the problem; Actually, Ubuntu's patch makes sure that page is not even considered to be loaded.

So I reckon the solution is:

* Change vendor.conf to

  [pages]
  new_user_only=language

* Add language to ubuntu_page_table

Changed in gnome-initial-setup (Ubuntu):
status: New → In Progress
assignee: nobody → Nathan Teodosio (nteodosio)
importance: Undecided → High
Revision history for this message
Nathan Teodosio (nteodosio) wrote :

Just for confirmation: In your OEM case, gnome-initial-setup currently does ask for account and password creation, right?

Revision history for this message
Nathan Teodosio (nteodosio) wrote :
Revision history for this message
Yao Wei (medicalwei) wrote :

> Just for confirmation: In your OEM case, gnome-initial-setup currently does ask for account and password creation, right?

Affirmative. There are realname/username and password/confirm pages.

Revision history for this message
Yao Wei (medicalwei) wrote :

That MR fixed the missing language page, but also added language page in the desktop welcome. I suppose that "ubuntu_page_table" is used when user enters the desktop for the first time.

Revision history for this message
Sebastien Bacher (seb128) wrote :

According to the git log the rational for not displaying that page in Ubuntu was that it's not compatible with our langpacks approach.

The issue is that by default we will only install one language/set of langpacks so that screen would be 'choose your language' with one language (and its variants) only in the list which isn't great.

I guess in case of the oem you provision the machine with more language packs?

Revision history for this message
Yao Wei (medicalwei) wrote :

Correct, we have most (if not all) language packs installed instead of having only the one chosen.

However I also discovered that the language packs in the image are not installed as many as we thought to be, but this is out of scope of this issue.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

> That MR fixed the missing language page, but also added language page in the desktop welcome.

What do you mean? The language and welcome pages are different, they cannot be added one inside another.

Revision history for this message
Yao Wei (medicalwei) wrote (last edit ):

> What do you mean? The language and welcome pages are different, they cannot be added one inside another.

Sorry I don't mean the welcome page, I mean another gnome-initial-setup screen when user is greeted into the desktop

Revision history for this message
Yao Wei (medicalwei) wrote (last edit ):

OK I tried to install g-i-s within the installation of OEM image, now it went like:
- Language Selection
- Ubuntu Pro
- Metrics Permission
- User Account
- Password
- Store
- Enter Desktop prompt

It is missing location permission (if we don't disable that) and timezone selection,
and it didn't enter desktop after that, and the account wasn't created as I couldn't login in the console.

journal is attached

Revision history for this message
Yao Wei (medicalwei) wrote (last edit ):

Here's the debdiff (against noble, since I am testing on noble and we plan to move away from g-i-s on oracular or 26.04 at least) that enables language page, and fixes segfault when language is selected.

The reason why it is not using ubuntu_page_table, is that at the time it runs gnome-initial-setup to create the first user, XDG_CURRENT_DESKTOP is set to "GNOME-Greeter:GNOME", which has no "ubuntu" or "unity" in it.

Also, although gnome-initial-setup is maintained under Salsa, there's no ubuntu/noble branch we can merge to. If there is such a branch, I am happy to do it on Salsa.

Revision history for this message
Nathan Teodosio (nteodosio) wrote :

> The reason why it is not using ubuntu_page_table, is that at the time it runs gnome-initial-setup to create the first user, XDG_CURRENT_DESKTOP is set to "GNOME-Greeter:GNOME", which has no "ubuntu" or "unity" in it.

Interesting! Could you please also add a comment to is_desktop pointing that this is the case for OEM?

Changed in gnome-initial-setup (Ubuntu):
assignee: Nathan Teodosio (nteodosio) → Yao Wei (medicalwei)
Changed in gnome-initial-setup (Ubuntu Noble):
status: New → In Progress
assignee: nobody → Yao Wei (medicalwei)
Revision history for this message
Nathan Teodosio (nteodosio) wrote :

> Here's the debdiff (against noble,

That cannot be, it must be get into Oracular first, then a SRU[1] must be started for Noble.

[1] https://wiki.ubuntu.com/StableReleaseUpdates

Revision history for this message
Yao Wei (medicalwei) wrote :
Revision history for this message
Jeremy Bícha (jbicha) wrote :

I have created the ubuntu/noble branch now.

It is intentional that the location permission dialog is not shown currently for Ubuntu 24.04 LTS. There is some background in gnome-control-center LP: #2062178 . We decided not to disable location services in gnome-control-center for now but we also didn't want to advertise the location services feature so prominently in gnome-initial-setup at this time either.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.