[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#658020: console-setup: Upon installation console-setup sets CODESET to "Lat15", but it should be "guess"



First, I am sorry for my delayed responce on this bug report.

On Mon, Jan 30, 2012 at 09:03:11PM +0100, Nathan Cutler wrote:
> Package: console-setup
> Version: 1.75
> Severity: normal
> 
> Dear Maintainer,
> 
>    * What led up to the situation?
> 
> Background info:
> I have had the following in /etc/X11/xorg.conf for months, if not years:
> 
>   option "XkbRules" "xorg"
>   option "XkbModel" "pc105"
>   option "XkbLayout"     "us,cz(qwerty)"
>   option "XKbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll"
> 
> Now I just did this:
> 
> # apt-get purge keyboard-configuration
> # apt-get install keyboard-configuration
> 
> Afterwards, the first thing I noticed was that the settings from
> /etc/X11/xorg.conf
> did not get transferred into /etc/default/keyboard.

I tried to reproduce this and obtained the following in /etc/default/keyboard:

XKBLAYOUT="us,cz"
XKBVARIANT="qwerty"

So the setting for XKBLAYOUT is transferred but the value of XKBVARIANT 
is not correct.  This will be fixed in version 1.76 of the package.

> But that's not directly relevant to this bug. I filled in those 
> settings by hand.
> 
> Then I did:
> 
> # invoke-rc.d console-setup restart
> 
> and found that some of the Czech characters did not display correctly. 
> This was due to CODESET being set to "Lat15" in 
> /etc/default/console-setup.

The file /etc/default/console-setup is not handled by the package 
keyboard-configuration.  Purging of keyboard-configuration has no effect 
on it.

> When I changed this to "guess" and restarted console-setup again, the 
> characters displayed correctly.
>
> So, the question is: why isn't CODESET set to "guess" by default? From my
> vantage point, it's a bug, because "guess" guesses the desired encoding using
> the system command "locale" (which works well in my case).

Actually "guess" guesses the desired set of symbols using only the 
encoding of the system locale. In your case the encoding is UTF-8 in 
which case 'guess' is equivalent to CODESET=Uni2 which covers most Latin 
languages, some Cyrillic languages and also Greek.

The reason CODESET is not 'guess' by default is that the guesing does 
not always work reliably.  For example you might need Georgian or 
Armenian letters and they are not included in Uni2.  Thats why during 
the configuration, the package tries to find more specific value for 
CODESET that is based not only on the encoding of the locale but also on 
the language and/or the country.

In your case you were not lucky because your locale was en_US.UTF-8 and 
it doesn't tell that you need Czech symbols.

Anton Zinoviev



Reply to: