My problem is that xRDP does not seem to recognize the ~/.pam_environment file of the user, who is being logged in.
What I did:
- I have set up a fresh Ubuntu Server 18.04.02 LTS
- I installed MATE as the desktop environment
- I installed xRDP
- I have created 2 more users
What I can do:
- I can successfully login from Windows (10) into a session for every user
- I can start mate locally just fine and login with every user into their own sessions
I installed German as an additional language in Menu > Control Center > Language Support and reordered German (Deutschland (Deutsch)) to be above English (fallback I assume).
Now when I log in with user1 locally, I see the MATE desktop environment in English, and when I login with user2, I see it in German.
However: when I log in via a remote RDP-session (via Xorg) from my Windows computer using the corresponding credentials, the MATE desktop environment stays English no matter what user logs in.
I suspect that xRDP is drawing its information about the locale to use from /etc/default/locale, which has the following content:
LANG="en_US.UTF-8"
LANGUAGE="en"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
According to this the language is expected to stay English.
Am I missing something?
Edit: adjustments in ~/.profile I thought were necessary, actually are not. It works regardless, because locally ~/.pam_environment is used. Via xRDP for whatever reason it seems not to be recognized.
Edit 2:
Output from locale when user2 is logged in locally:
LANG="de_DE.UTF-8"
LANGUAGE="de_DE:en"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
Output from locale when user2 is logged in remotely:
LANG=en_US.UTF-8
LANGUAGE=en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=