Description of problem: When serving an Xfce desktop over RDP, the interface language will always be American English instead of the system default. This, however, should apply to Gnome and KDE as well. Version-Release number of selected component (if applicable): CentOS Linux release 7.1.1503 (Core) xrdp-0.9.0-4.el7.x86_64 xfce4-4.10 How reproducible: always Steps to Reproduce: 1. Minimal install, language configuration through anaconda 2. # yum group install xfce xrdp; regard bug #1244573 3. # echo PREFERRED=$(which startxfce4) > /etc/sysconfig/desktop 4. # systemctl start xrdp 5. Connect to xrdp Actual results: Interface language is set to American English. Expected results: Interface language should be set according to /etc/locale.conf. Additional info: There is a rather simple workaround: In /etc/xrdp/startwm.sh do "unset LANG" sometime before /etc/X11/xinit/Xsession is called. This is because LANG is set to en_US.UTF-8 from the very beginning of the script. Later /etc/profile.d/lang.sh will get sourced, but it doesn't change an already set LANG. Unsetting LANG in startwm.sh allows lang.sh to set the locale according to /etc/locale.conf again. As to why LANG is set in the first place I can only speculate for now: * /etc/environment is empty * /etc/sysconfig/xrdp (referenced from xrdp.service) consists of comments only * xrdp and xrdp-sesman have LANG=de_DE.UTF-8 * Xvnc has LANG=en_US.UTF-8
xrdp-sesman sets LANG. /etc/profile.d/lang.sh preserves LANG if it's set. The fix has been submitted upstream. https://github.com/neutrinolabs/xrdp/pull/314
merged in upstream, will land fedora and EL in next build.
The fix causes another bug. See also: https://github.com/neutrinolabs/xrdp/pull/410
(In reply to meta from comment #3) > The fix causes another bug. > > See also: https://github.com/neutrinolabs/xrdp/pull/410 merged in upstream.