SuSE Configuration BUG? (Neverend history) [SOLUTION] Re: [SLE] Deadkeys doesn't work (SuSE 7.2 prof.)
Ok, I said:
That's all. So LC_ALL is NOT SET!!!!! This seems to be a bug in suse configuration, but It should be studied more in deep to say it.
Anyway, I've tried setting LC_ALL as follows:
export LC_ALL="\"es\""
Later discovered:
The last advice about this:
If SuSEConfig it's used I think the best way to solve this is editting /etc/rc.config and giving a value of "es" to RC_LC_ALL.
But thinks did NOT work as expected, and now I've discovered this: inux:/etc # find -type f | xargs grep LC_ALL ./skel/.xim:if test x$LC_ALL != x ; then ./skel/.xim: tmplang=$LC_ALL ./skel/.xim:# LANG=ja_JP LC_ALL=ja_JP kinput2 -xim -kinput -canna & ./rc.config:# for local users, if RC_LANG and RC_LC_ALL are not set. Root ./rc.config:# as long as $LC_ALL is not set, which overrides all $LC_-variables../rc.config:RC_LC_ALL="es" ./init.d/xdm:LC_ALL \ ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this? This seems to be an stupid bug but it may be a reason. Any SuSE guys here? Is there any bug submittion e-mail address? Have a good one!
On Wednesday 12 December 2001 03.58, Francisco Manuel Marzoa Alonso wrote:
./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you look at the file at all? There is an explanation in the remarks just before the unset.
Is there any bug submittion e-mail address?
feedback@suse.com regards Anders
El Mié 12 Dic 2001 04:13, escribiste:
On Wednesday 12 December 2001 03.58, Francisco Manuel Marzoa Alonso wrote:
./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you look at the file at all? There is an explanation in the remarks just before the unset.
Yes Anders, but I think it's not consecuent with the code after. Look at this: else # # All other users get all the locale variables from /etc/rc.config: # LANG="es_ES@euro" export LANG unset LC_ALL unset LC_MESSAGES unset LC_CTYPE LC_COLLATE="POSIX" export LC_COLLATE unset LC_TIME unset LC_NUMERIC unset LC_MONETARY fi It says that 'All other users get all the locale variables from /etc/rc.config' but then, instead of do it, variables are unsetted. Why?
Is there any bug submittion e-mail address?
feedback@suse.com
regards Anders
On Wednesday 12 December 2001 05.47, Francisco Manuel Marzoa Alonso wrote:
El Mié 12 Dic 2001 04:13, escribiste:
On Wednesday 12 December 2001 03.58, Francisco Manuel Marzoa Alonso wrote:
./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you look at the file at all? There is an explanation in the remarks just before the unset.
Yes Anders, but I think it's not consecuent with the code after. Look at this:
else # # All other users get all the locale variables from /etc/rc.config: # LANG="es_ES@euro" export LANG unset LC_ALL unset LC_MESSAGES unset LC_CTYPE LC_COLLATE="POSIX" export LC_COLLATE unset LC_TIME unset LC_NUMERIC unset LC_MONETARY fi
It says that 'All other users get all the locale variables from /etc/rc.config' but then, instead of do it, variables are unsetted. Why?
You seem to be missing the point of rc.config. In rc.config, there is a variable DEFAULTLANGUAGE, in my case set to english. When I run SuSEconfig, this creates a /etc/SuSEconfig/profile with LANG set to "en_GB", just like yours get created with LANG="en_ES@euro". This variable is the default, if no other variables are set. If you want LC_ALL set, then you should edit /etc/rc.config.d/lang.rc.config, like it says in rc.config. There you can set RC_LC_ALL, which when you run SuSEconfig will create a /etc/SuSEconfig/profile with LC_ALL set. You see, rc.config isn't primarily a config file that scripts like profile sources, it is primarily a control file for SuSEconfig. When you make edits in rc.config, or the files in /etc/rc.config.d/ you should run SuSEconfig to get the changes through the real files of the system. This may be a bit bad as an explanation, but I hope you get my drift regards Anders
El Mié 12 Dic 2001 06:05, escribiste:
On Wednesday 12 December 2001 05.47, Francisco Manuel Marzoa Alonso wrote:
El Mié 12 Dic 2001 04:13, escribiste:
On Wednesday 12 December 2001 03.58, Francisco Manuel Marzoa Alonso wrote:
./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you look at the file at all? There is an explanation in the remarks just before the unset.
Yes Anders, but I think it's not consecuent with the code after. Look at this:
else # # All other users get all the locale variables from /etc/rc.config: # LANG="es_ES@euro" export LANG unset LC_ALL unset LC_MESSAGES unset LC_CTYPE LC_COLLATE="POSIX" export LC_COLLATE unset LC_TIME unset LC_NUMERIC unset LC_MONETARY fi
It says that 'All other users get all the locale variables from /etc/rc.config' but then, instead of do it, variables are unsetted. Why?
You seem to be missing the point of rc.config. In rc.config, there is a variable DEFAULTLANGUAGE, in my case set to english. When I run SuSEconfig, this creates a /etc/SuSEconfig/profile with LANG set to "en_GB", just like yours get created with LANG="en_ES@euro". This variable is the default, if no other variables are set.
Probably you're on right: things works as you say but this doesn't gives solution to the trouble. The fact is that qtlib seems to need LC_ALL sets to "es" to properly handly deadkeys.
If you want LC_ALL set, then you should edit /etc/rc.config.d/lang.rc.config, like it says in rc.config.
Sorry... where in /etc/rc.config says that? I've not seen it so I have changed the RC_LC_ALL that was defined in /etc/rc.config directly, not in /etc/rc.config.d/lang.rc.config...
From /etc/rc.config:
[...] # # This variable will override all LC-variables!! # Again, ROOT_USES_LANG must be set to "yes", if an effect on the superuser # account is desired. # RC_LC_ALL="es" [...] Another trouble is that I've NOT an /etc/rc.config.d/lang.rc.config... (well, this is a little trouble as I can create it, but if it does not exists there will be a reason also...) linux:/etc # ls rc.config.d . firewall-custom.rc.config idedma.rc.config .. firewall.rc.config security.rc.config apache.rc.config i4l.rc.config sendmail.rc.config apmd.rc.config i4l_hardware.rc.config dhcpcd.rc.config i4l_unknown linux:/etc # locate lang.rc.config linux:/etc #
There you can set RC_LC_ALL, which when you run SuSEconfig will create a /etc/SuSEconfig/profile with LC_ALL set.
You're right @ this point. That was the trouble. I've NOT run SuSEconfig after do modifications to /etc/rc.config.
You see, rc.config isn't primarily a config file that scripts like profile sources, it is primarily a control file for SuSEconfig. When you make edits in rc.config, or the files in /etc/rc.config.d/ you should run SuSEconfig to get the changes through the real files of the system.
I known, I've used SuSE since 5.1 but sometimes I forget this kind of simply things. I should sleep...
This may be a bit bad as an explanation, but I hope you get my drift
Thanks Anders, all is right now!
regards Anders
Another trouble is that I've NOT an /etc/rc.config.d/lang.rc.config... (well, this is a little trouble as I can create it, but if it does not exists there will be a reason also...)
Sorry, it seems this is new in 7.3. //Anders
* Francisco Manuel Marzoa Alonso [Wed, 12 Dec 2001 06:39:40 +0100]:
# RC_LC_ALL="es"
First of all, you should *never* have to set LC_ALL. Setting LANG should suffice in most cases. if not explicitly set, all locale categories default to what LANG is set to. You can check this by running 'locale'. Secondly, "es" isn't a correct locale specifier. It should at least be es_ES. If you want the Euro, it's es_ES@euro, which is just shorthand for es_ES.ISO-8859-15. Pardon me, but as I jump in late, could you please explain why you think you need to set LC_ALL? Philipp -- Penguins to save the dinosaurs -- Handelsblatt on Linux for S/390
Philipp Thomas wrote:
* Francisco Manuel Marzoa Alonso [Wed, 12 Dec 2001 06:39:40 +0100]:
# RC_LC_ALL="es"
First of all, you should *never* have to set LC_ALL. Setting LANG should suffice in most cases. if not explicitly set, all locale categories default to what LANG is set to. You can check this by running 'locale'.
Hi Philip, I cannot do real-time testing about this at this time because my main computer dies yesterday (too work, I don't know why I'm still alive...), so I'm working with an old P200 that has an old SuSE 6.2). One thing I can tell you is that I had my computer configured with Spanish as language since installation and 'locale' showed LC_ALL as unseted. Another friend of mine has had same troubles.
Secondly, "es" isn't a correct locale specifier. It should at least be es_ES. If you want the Euro, it's es_ES@euro, which is just shorthand for es_ES.ISO-8859-15.
Well, you're surely on right, but for my porpouses "es" works well and I've had no time to study all about locales...
Pardon me, but as I jump in late, could you please explain why you think you need to set LC_ALL?
Let mi paste... oh no! my old messages about this thread was in my computer that's @ "doctor"!!! :-/ Well, in few lines: Qt applications give me no accents (deadkeys didn't work) if LC_ALL is not set with an error message: "Locale not supported by X Server". Another x-applications those are not based on Qt-lib, give me no trouble with this; console applications works right too. I've seen after a 'locale' that LC_ALL was not set and, after to set it to 'es' by hand, Qt applications works fine. Have you got a better solution? Thanks!
Philipp
-- Penguins to save the dinosaurs -- Handelsblatt on Linux for S/390
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq and the archives at http://lists.suse.com
On Friday 14 December 2001 02.26, Philipp Thomas wrote:
* Francisco Manuel Marzoa Alonso [Wed, 12 Dec 2001 06:39:40 +0100]:
# RC_LC_ALL="es"
First of all, you should *never* have to set LC_ALL. Setting LANG should suffice in most cases. if not explicitly set, all locale categories default to what LANG is set to. You can check this by running 'locale'.
Secondly, "es" isn't a correct locale specifier. It should at least be es_ES. If you want the Euro, it's es_ES@euro, which is just shorthand for es_ES.ISO-8859-15.
Pardon me, but as I jump in late, could you please explain why you think you need to set LC_ALL?
Philipp
I wrote a small program to test all this, and here's what I discovered.
Comments are appreciated.
<code localetest.c>
#include
On Friday 14 December 2001 09.22, Anders Johansson wrote: <a load of ignorance> OK, ignore this (I'm too tired). I had LC_ALL set when the 'clean' string showed. The problem is that most languages doesn't have euro support in X. 'locale -a|grep euro' shows that only a few is installed, even though the locale.alias files seems updated. with locale set to sv_FI@euro I got the massive string, but it was supported in X. I have no idea why the other aliases don't show up. Is there an X-expert in the house? //Anders
* Francisco Manuel Marzoa Alonso (fmmarzoa@e-samuelson.com) [011211 19:03]:
The last advice about this:
If SuSEConfig it's used I think the best way to solve this is editting /etc/rc.config and giving a value of "es" to RC_LC_ALL.
I think this is bad advice: Do you really all error messages in Spanish ("lp en el fuego", etc.)? Most people, at least in SuSE, set LANG to de, dk, whatever and leave the rest of LC alone. But maybe you do.
But thinks did NOT work as expected, and now I've discovered this:
inux:/etc # find -type f | xargs grep LC_ALL ./skel/.xim:if test x$LC_ALL != x ; then ./skel/.xim: tmplang=$LC_ALL ./skel/.xim:# LANG=ja_JP LC_ALL=ja_JP kinput2 -xim -kinput -canna & ./rc.config:# for local users, if RC_LANG and RC_LC_ALL are not set. Root ./rc.config:# as long as $LC_ALL is not set, which overrides all $LC_-variables../rc.config:RC_LC_ALL="es" ./init.d/xdm:LC_ALL \ ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you set ROOT_USES_LANG=yes as well? init runs as root.
This seems to be an stupid bug but it may be a reason. Any SuSE guys here? Is there any bug submittion e-mail address?
feedback@suse.de (yes, it gets read)... -- -ckm
El Mié 12 Dic 2001 04:14, escribiste:
* Francisco Manuel Marzoa Alonso (fmmarzoa@e-samuelson.com) [011211 19:03]:
The last advice about this:
If SuSEConfig it's used I think the best way to solve this is editting /etc/rc.config and giving a value of "es" to RC_LC_ALL.
I think this is bad advice: Do you really all error messages in Spanish ("lp en el fuego", etc.)? Most people, at least in SuSE, set LANG to de, dk, whatever and leave the rest of LC alone. But maybe you do.
Follow the thread my friend, if I didn't set LC_ALL to 'es' then Qt doesn't works well with deadkeys (accents), at least under my XFree 4.0 server. And yes, the trouble is *not* from the XFree server, I've done another tests before (they're explained in prior messages).
But thinks did NOT work as expected, and now I've discovered this:
inux:/etc # find -type f | xargs grep LC_ALL ./skel/.xim:if test x$LC_ALL != x ; then ./skel/.xim: tmplang=$LC_ALL ./skel/.xim:# LANG=ja_JP LC_ALL=ja_JP kinput2 -xim -kinput -canna & ./rc.config:# for local users, if RC_LANG and RC_LC_ALL are not set. Root ./rc.config:# as long as $LC_ALL is not set, which overrides all $LC_-variables../rc.config:RC_LC_ALL="es" ./init.d/xdm:LC_ALL \ ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/csh.cshrc: unsetenv LC_ALL ./SuSEconfig/profile: unset LC_ALL ./SuSEconfig/profile: unset LC_ALL
The variable LC_ALL is unset during Init!!! So... why there's an RC_LC_ALL within rc.config if profile unsets this?
Did you set ROOT_USES_LANG=yes as well? init runs as root.
I dont want ROOT_USES_LANG, I've no trouble if I dont have accents as root as I use that account just for setup purpouses. The think that I've not understanded yet is why these variables are unset for ALL users. I've understanded why it is done for root users, but in the body of that profile file it unsets also for other users. And profile is not run as root, of course. A bit clerarer (my english is so bad that I preffer to use direct samples): # # All other users get all the locale variables from /etc/rc.config: # LANG="es_ES@euro" export LANG unset LC_ALL unset LC_MESSAGES unset LC_CTYPE LC_COLLATE="POSIX" export LC_COLLATE unset LC_TIME unset LC_NUMERIC unset LC_MONETARY Comment seems not to be consecuent with code, as you can see. Perhaps the thing of languages is more complicated that I've seen, and I'm wrong: maybe indeed. Thanks a lot,
This seems to be an stupid bug but it may be a reason. Any SuSE guys here? Is there any bug submittion e-mail address?
feedback@suse.de (yes, it gets read)...
participants (5)
-
Anders Johansson
-
Christopher Mahmood
-
Francisco M. Marzoa Alonso
-
Francisco Manuel Marzoa Alonso
-
philippt@t-online.de