On Thu, 13 Aug 2009 03:26:32 +0200 Harald Braumann <ha...@unheit.net> wrote:
> After an upgrade of console-setup, most special characters don't work > anymore (öäüß°). Most of them just produce a beep. `ä' doesn't beep > but also doesn't output anything. 'ß' behaves like the up-key > (previous entry in history). It seems to have something to do with the locale settings. I've now set CHARMAP="UTF-8" and LC_ALL=de_AT.utf8. Now all keys work as expected. If I set LC_ALL to POSIX, I get back the weird behaviour. But the locale is set from ~/.profile, i.e. by the user's login shell and not while /etc/init.d/console-setup runs. It gets even weirder: If I login with LC_ALL=de_AT.utf8 symbols like öäüß°€µ work. If I then `export LC_ALL=POSIX', these symbols still work but backspacing to the start of the line also deletes part of the prompt. For `€' two additional characters are deleted. For the other symbols one additional character is deleted. And it adds up. Thus if I type '€öäü', 5 additional characters are deleted. It is completely beyond me how setting an environment variable can influence keyboard/console output. This is completely different from how environment variables usually work (i.e. they only influence child processes that inherit the environment). It also makes it impossible for different users to use different locale settings. For instance as root I usually use POSIX, because all the files I touch as root are ASCII-only anyway. So far I never had a problem with that. The keyboard was set to a DE layout and the console font supported ISO-8859-15. That's all that was needed. Now this doesn't work anymore. Is this behaviour regarded as a bug or a `feature'? And how is it even possible that setting an environment variable changes the behaviour immediately? Cheers, harry
signature.asc
Description: PGP signature