Bug 251255

Summary: German umlauts aren't available after the installation
Product: Base System Reporter: Gordon Bergling <gbe>
Component: binAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed Works As Intended    
Severity: Affects Many People CC: bapt, emaste, yuripv
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Gordon Bergling freebsd_committer freebsd_triage 2020-11-19 12:58:03 UTC
When installing a fresh FreeBSD system and selecting the german keymap, on the console and via a ssh session the Umlauts (öäüÖÄÜ) aren't available. Meaning, the keystrokes aren't printed.

This can be solved via the following .login_conf in the home directory.

me:\
	:charset=iso-8859-1:\
	:lang=en_US.UTF-8:

Maybe this .login_conf could be generated for the first created user account, or set system wide, if the german keymap is selected.

This is verified against a recent -CURRENT installation, but this should also apply to -STABLE.
Comment 1 Yuri Pankov 2020-11-19 16:00:51 UTC
Why do you want charset set to iso8859-1 and LANG to en_US.UTF-8?

In any case, base r367690 made C.UTF-8 default system locale, and that would solve at least part of the issue.
Comment 2 Gordon Bergling freebsd_committer freebsd_triage 2020-11-19 16:51:58 UTC
(In reply to Yuri Pankov from comment #1)

"charset=iso-8859-1" is set to get the Umlaute to appear on the console and the "lang=en_US.UTF-8" to prevent programs printing error messages in german, if the program supports NLS.

My snapshot of -CURRENT was from the end of October. I update it to a recent -CURRENT and check if r367690 has improved the situation.
Comment 3 Conrad Meyer freebsd_committer freebsd_triage 2020-11-19 18:30:49 UTC
iso-8859-1 and UTF-8 are different and conflicting character sets.

C.UTF-8 (default locale for new accounts very recently in CURRENT) should keep error messages in English ("C" locale) while using the UTF-8 charset, which has an accurate representation of umlaut characters.
Comment 4 Gordon Bergling freebsd_committer freebsd_triage 2020-11-19 18:38:24 UTC
(In reply to Conrad Meyer from comment #3)

I tested a recent -CURRENT with r367690 applied and the problem is gone. A german keymap is now enough to get umlaute working on the console and on a ssh connection.

Would be great if this change could be merge to -STABLE.
Comment 5 Yuri Pankov 2020-11-19 20:59:11 UTC
(In reply to Gordon Bergling from comment #4)
I have MFCed C.UTF-8 back in 2018, so it's there starting with 12.1 and MFCing the login.conf change is simple, the question is if such change is acceptable between minor releases, at least commit message for base 367690 didn't set any MFC reminder.
Comment 6 Yuri Pankov 2020-11-19 21:47:44 UTC
Adding Baptiste.
Comment 7 Gordon Bergling freebsd_committer freebsd_triage 2021-02-17 19:29:46 UTC
That problem occurs only if the keymap is set to 'de.kbd', if 'de.acc.kbd' is set the Umlauts are available on the console and via SSH sessions.

Verified on 13.0-BETA2.