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

Attachment: signature.asc
Description: PGP signature

Reply via email to