[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#945788: lightdm: Language support is broken



Package: lightdm
Version: 1.26.0-4
Severity: important
Tags: l10n

Dear Maintainer,

I would like to use the language selector of lightdm but I found that it doesn't work.

I see there are several bug reports about this (864154, 784065, 765077, 690899, 691446), but they are only addressing small parts of the problem and those bugs doesn't have a proper solution.

So i will try to offer a more general view of the problem.


- First of all, chosen language at lightdm greeter is overridden if LANG is defined in /etc/default/locale. This is because /etc/pam.d/lightdm contains:

session      required pam_env.so readenv=1 envfile=/etc/default/locale

No matter what Language you choose in lightdm selector. You'll have system wide LANG setting.

So first step for language selector to work is to comment the above line.



- After commenting the above line, you can choose language with lightdm greeter at login time, but it won't work with that session. It will work the next session.

Let me explain it with an example:

Before login, according to /home/user/.dmrc, /var/lib/AccountsService/users/user and /var/cache/lightdm/user.dmrc you have Language=de_DE.utf8 (German)

In lightdm greeter login you choose "fr_FR.utf8" (French), enter login name and password, and a plasma (in my case) session with German language will start.

/home/user/.dmrc, /var/lib/AccountsService/users/user and /var/cache/lightdm/user.dmrc files are updated to fr_FR.utf8 but that first session have the previous language settings.

The next time you start a session from lightdm the language will be French, no matter what you choose at language selector.

The language selector doesn't set the language for the very next login but  the "next login after this login".

In other words, the language of the session will be the one we chose the previous login, not what we have choose this login.



- There is a third problem with language selector. If accountsservice is installed, files in /var/lib/AccountsService/users/ are read and written, this is correct. But, If accountsservice is uninstalled, and there are files in /var/lib/AccountsService/users/, those files are still read, and this is wrong.

If, lets say, a user with accountservice installed choose one language at lightdm greeter, that settings is save in a file in /var/lib/AccountsService/users/. Then, if the user uninstall accountsservice but don't delete the file at /var/lib/AccountsService/users he will always use the Language defined there, no matter what he choose at language selector. Lightdm will read that file, that won't be updated to newer choices of language because accountsservice is no longer running.



could this be fixed, please?

Thank you very much.



-- System Information:
Debian Release: 10.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/2 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lightdm depends on:
ii  adduser                                3.118
ii  dbus                                   1.12.16-1
ii  debconf [debconf-2.0]                  1.5.71
ii  libaudit1                              1:2.8.4-3
ii  libc6                                  2.28-10
ii  libgcrypt20                            1.8.4-5
ii  libglib2.0-0                           2.58.3-2+deb10u2
ii  libpam-systemd [logind]                241-7~deb10u2
ii  libpam0g                               1.3.1-5
ii  libxcb1                                1.13.1-2
ii  libxdmcp6                              1:1.1.2-3
ii  lightdm-gtk-greeter [lightdm-greeter]  2.0.6-1
ii  lsb-base                               10.2019051400

Versions of packages lightdm recommends:

ii  xserver-xorg  1:7.7+19

Versions of packages lightdm suggests:
pn  accountsservice  <none>
ii  upower           0.99.10-1
pn  xserver-xephyr   <none>

-- Configuration Files:
/etc/pam.d/lightdm changed [not included]

-- debconf information:
  lightdm/daemon_name: /usr/sbin/lightdm
* shared/default-x-display-manager: lightdm



-- 
________________________________________________________________
Santiago Castillo Oli                        scastillo@aragon.es
Técnico de Sistemas Informáticos                    976 71 50 06
Biblioteca de Aragón
Doctor Cerrada 22, 50005 Zaragoza

Reply to: