Problem with 'locale' on SuSE 8.2
Hi. I have some problems with the Greek language on 8.2. I have installed 8.2 with the Greek language as the default. KDE displays everything really fine. The problem was when i ran XMMS (which uses gtk as far as i know). SuSE has defined the LANG variable and LC_*** variables to "el_GR.ISO-8859-7". So i had to change it to "el_GR". Since that change XMMS displays the translations right. As i remember i had to do the same thing on SuSE 8.1 (i think i had send a bug report for that). So can u explain me why locale does not work correct for "el_GR.ISO-8859-7" with some programs like XMMS? Another problem with Greek characters, is that the framebuffer console doesn't display them correct. SuSE has set lat7a-14.psfu by default. I tried the same changes for the locale variables but the problem still persists. Any thoughts ? Thanks Filip. _________________________________________________________________ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail
"philip _" <psybases@hotmail.com> さんは書きました:
I have some problems with the Greek language on 8.2. I have installed 8.2 with the Greek language as the default. KDE displays everything really fine. The problem was when i ran XMMS (which uses gtk as far as i know). SuSE has defined the LANG variable and LC_*** variables to "el_GR.ISO-8859-7". So i had to change it to "el_GR". Since that change XMMS displays the translations right.
LC_ALL=el_GR.ISO-8859-7 xmms works fine for me. Actually both el_GR and el_GR.ISO-8859-7 are aparently the same locale: mfabian@magellan:~$ LC_ALL=el_GR locale charmap ISO-8859-7 mfabian@magellan:~$ LC_ALL=el_GR.ISO-8859-7 locale charmap ISO-8859-7 mfabian@magellan:~$ Are you sure you had el_GR.ISO-8859-7 when it didn't work?
As i remember i had to do the same thing on SuSE 8.1 (i think i had send a bug report for that).
On SuSE 8.1 it was wrong, on SuSE 8.1 the default locale after an installation in Greek was set to el_GR@ISO-8859-7 (note the '@'). This was just nonsense and wrong. -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
"philip _" <psybases@hotmail.com> さんは書きました:
Another problem with Greek characters, is that the framebuffer console doesn't display them correct. SuSE has set lat7a-14.psfu by default.
That is probably a mistake. See /usr/share/doc/packages/kbd/fonts/README.Greek README.Greek> Some distributions have Greek fonts with names like lat7*, README.Greek> but latin-7 is ISO 8859-13, a character set for the Baltic Rim. Sorry.
I tried the same changes for the locale variables but the problem still persists. Any thoughts ?
The following settings work for Greek on the console: export LC_ALL=el_GR.ISO-8859-7 setfont iso07u-16 -m trivial echo -en "\033(K" To get this automatically, you can edit /etc/sysconfig/console, a sample file using the values above is attached. ## Path: System/Console/Framebuffer ## Description: Framebuffer configuration ## Type: string ## Default: "" # # You may want to load a framebuffer display driver into your kernel # in order to be able to change graphics modes etc. with fbset in # console mode. # Notes: Most people won't enter anything here, as # * it won't work if you have vesafb already active # * its advantageous to have fb support compiled into your kernel # * Some XFree86 drivers (especially in XFree86-4.x) don't work # too well, if you enable framebuffer text mode. # Example: FB_MODULES="matroxfb_base vesa=0x182 fv=85 matroxfb_maven matroxfb_crtc2" # Default: FB_MODULES="" # FB_MODULES="" ## Type: string ## Default: "" # # In case your kernel has framebuffer support (or you loaded the framebuffer # support into your kernel as a module above), you may want to change the # resolution or other parameters. This is done by secifying the parameters # to fbset. Use a mode from /etc/fb-modes and additional parameters as # -a, -depth <BPP>, -vyres <VYRES>, ... (See fbset manpage and/or fbset -h). # Notes: # * vesafb does not (currently) support changing the display mode # * BEWARE! Don't set modes your monitor can't do. Watch out for the maximum # horizontal frequency. Old monitors might even be damaged if you exceed # their capabilities. # Example: FBSET_PARAMS="-a -depth 16 768x576-90 -vyres 10240" # Default: FBSET_PARAMS="" # FBSET_PARAMS="" ## Path: Hardware/Console ## Description: Text console settings (see also Hardware/Keyboard) ## Type: string ## Default: "" # Console settings. # Note: The KBD_TTY from keyboard also apply for the settings here. # # Load this console font on bootup: # (/usr/share/kbd/consolefonts/) # CONSOLE_FONT="iso07u-16" ## Type: string ## Default: "" # # Some fonts come without a unicode map. # (.psfu fonts supposedly have it, others often not.) # You can then specify the unicode mapping of your font # explicitly. (/usr/share/kbd/unimaps/) # Normally not needed. # CONSOLE_UNICODEMAP="" ## Type: string ## Default: "" # # Most programs output 8 bit characters, so you need a table to # translate those characters into unicode. That one can be specified # here. (/usr/share/kbd/consoletrans/) # (Note: If your console is in utf-8 mode you don't need this.) # If your code does not use a unicode mapping at all (because you # e.g. explicitly specified UNICODEMAP="none") you may circumvent # the translation via unicode, but load a map which directly maps # 8 bit output of your program to a font position. # CONSOLE_SCREENMAP="trivial" ## Type: string ## Default: "" # # for some fonts the console has to be initialized with CONSOLE_MAGIC. # CONSOLE_MAGIC can be empty or have the values "(B", ")B", "(K" or ")K". # Normally not needed (automatically handled by setfont). # CONSOLE_MAGIC="(K" # Encoding used for output of non-ascii characters. # CONSOLE_ENCODING="ISO-8859-7" -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
Mike FABIAN <mfabian@suse.de> さんは書きました: [...]
The following settings work for Greek on the console:
export LC_ALL=el_GR.ISO-8859-7 setfont iso07u-16 -m trivial echo -en "\033(K"
To get this automatically, you can edit /etc/sysconfig/console, a sample file using the values above is attached.
"philip _" <csst9923@cs.uoi.gr> found another problem: Even with the above settings, Greek was working correctly only on console 1 by default. On the consoles >= 2 it didn't work automatically, one had to repeat the echo -n -e "\033(K" each time after logging in on a console >= 2. This was because /etc/inittab contains 1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 and without the option "--noclear" mingetty did a full reset of the terminal each time. This did revert the effect of the above console magic for Greek. The same problem will happen with other languages which need special console magic escape sequences. On top of that it also reverts the effect of the escape sequence used to switch the terminal into Unicode mode, i.e. if you work in a UTF-8 locale and have your terminal setup correctly for UTF-8 (for example with the script /usr/bin/unicode_start), the terminal left the Unicode mode each time you log out and log in again. I fixed that by making mingetty not use a full reset of the terminal but only clear the screen and put the cursor at the home position. The fixed mingetty is in the sysvinit packages which can be found here: ftp://ftp.suse.com/pub/people/mfabian/8.2-i586/sysvinit-2.82-286.i586.rpm ftp://ftp.suse.com/pub/people/mfabian/8.2-src/sysvinit-2.82-286.src.rpm Please update and tell me whether it is OK now. -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
Ok i installed the new RPM and everything seems fine now on the consoles. Thanks. On Thu, 5 Jun 2003, Mike FABIAN wrote:
Mike FABIAN <mfabian@suse.de> ����Ͻޤ���:
[...]
The following settings work for Greek on the console:
export LC_ALL=el_GR.ISO-8859-7 setfont iso07u-16 -m trivial echo -en "\033(K"
To get this automatically, you can edit /etc/sysconfig/console, a sample file using the values above is attached.
"philip _" <csst9923@cs.uoi.gr> found another problem:
Even with the above settings, Greek was working correctly only on console 1 by default. On the consoles >= 2 it didn't work automatically, one had to repeat the
echo -n -e "\033(K"
each time after logging in on a console >= 2. This was because /etc/inittab contains
1:2345:respawn:/sbin/mingetty --noclear tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
and without the option "--noclear" mingetty did a full reset of the terminal each time. This did revert the effect of the above console magic for Greek.
The same problem will happen with other languages which need special console magic escape sequences.
On top of that it also reverts the effect of the escape sequence used to switch the terminal into Unicode mode, i.e. if you work in a UTF-8 locale and have your terminal setup correctly for UTF-8 (for example with the script /usr/bin/unicode_start), the terminal left the Unicode mode each time you log out and log in again.
I fixed that by making mingetty not use a full reset of the terminal but only clear the screen and put the cursor at the home position.
The fixed mingetty is in the sysvinit packages which can be found here:
ftp://ftp.suse.com/pub/people/mfabian/8.2-i586/sysvinit-2.82-286.i586.rpm ftp://ftp.suse.com/pub/people/mfabian/8.2-src/sysvinit-2.82-286.src.rpm
Please update and tell me whether it is OK now.
-- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian ��̲���Ϥ����Ż���Ũ����
participants (3)
-
Filippos Papadopoulos
-
Mike FABIAN
-
philip _