PDA

View Full Version : [FIX] KNOPPIX not showing correct language / Timezone fix



onemyndseye
01-31-2007, 10:26 AM
This fix should allow ALL applications to show the correct language (the language you specify at boot by the lang= cheatcode). This behavior shows up most often in things that are executed through kdesu or gksu.

First lets backup your /etc/init.d/knoppix-autoconfig. From a terminal window issue this command as root:



cp /etc/init.d/knoppix-autoconfig /etc/init.d/knoppix-autoconfig-BACKUP




Youll need to edit your /etc/init.d/knoppix-autoconfig as follows.

In a Terminal Window:



sudo kwrite /etc/init.d/knoppix-autoconfig




Find the section that looks like:


### localization
# Allow language specification via commandline. The default language
# will be overridden via "lang=de" boot commandline
# Default is now US
LANGUAGE="$(getbootparam lang 2>/dev/null)"
[ -n "$LANGUAGE" ] || LANGUAGE="us"

# The default language/keyboard to use. This CANNOT be autoprobed.
# Most of these variables will be used to generate the KDE defaults
# and will be inserted into /etc/sysconfig/* below.
case "$LANGUAGE" in
de)
# German version
COUNTRY="de"
LANG="de_DE@euro"
KEYTABLE="de-latin1-nodeadkeys"
XKEYBOARD="de"
KDEKEYBOARD="de(nodeadkeys)"
CHARSET="iso8859-15"
# Additional KDE Keyboards
KDEKEYBOARDS="us,fr"
TZ="Europe/Berlin"
;;



Youll notice that this section contains every lang= cheatcode that knoppix understands... Add this line towards the end of the section where youll find the following lines:


*)
# American version
LANGUAGE="us"
COUNTRY="us"
LANG="C"
KEYTABLE="us"
XKEYBOARD="us"
KDEKEYBOARD="us"
CHARSET="iso8859-1"
# Additional KDE Keyboards
KDEKEYBOARDS="de(nodeadkeys),fr"
TZ="America/New_York"
;;
esac

# Export it now, so error messages get translated, too
export LANG COUNTRY CHARSET



insert this line just below the last line shown above. (right below " export LANG COUNTRY CHARSET ")



# Write the chosen language to default (/etc/default/locale) to be sure that the system selects your chosen
# Language for all applications
update-locale LANG=$LANG 2>/dev/null




Thats it! :) all fixed.


While we are at it we'll make the lang= cheatcode alittle more efficient by making the timezone configurable through /etc/sysconfig/timezone. This is needed for alot of people because the timezone is reset at every boot and the default timezone for a given locale might not suit everyone. For instance lang=us defaults to the New York timezone... so we will make it settable through the file /etc/sysconfig/timezone

Right below the last line we added.... add the following:



# Since the Default Timezone for a given locale may not suit every ones needs we will check to see if we can read
# it from sysconfig again to make it more user configurable
if [ -f /etc/sysconfig/timezone ]; then
TZ=$(cat /etc/sysconfig/timezone)
export TZ
fi



Save and quit... all done! :)

Now if the /etc/sysconfig/timezone file exists the timezone will be set by the value contained in this file.... mine looks like this for the Central US Timezone:



onemyndseye@exodus:~$ cat /etc/sysconfig/timezone
America/Chicago





Hope this helps :)
-Justin
One Mynds Eye

reverendhamer
12-08-2007, 05:48 PM
Hey,

I have everything in english from a hd install except for, "Qparted".

KISS <Keep it simple su>:

reverend@knoppix:~$ su
Password:
root@knoppix:/home/reverend# cat /etc/default/locale
# File generated by update-locale
LANG=de_DE@euro
root@knoppix:/home/reverend# pico /etc/default/locale
root@knoppix:/home/reverend# cat /etc/default/locale
# File generated by update-locale
LANG=LANG=en_US
root@knoppix:/home/reverend# exit
exit
reverend@knoppix:~$

Begin/w an...

Open Shell
Su
Enter Password
cat /etc/default/locale
pico /etc/default/locale
Change:
LANG=de_DE@euro
to
LANG=LANG=en_US
ctrl+shift O ...not numeric
enter
ctrl x

Bare Bones:
replace <de_DE@euro> with <LANG=en_US> or <your choice of language> after LANG=


qparted to <your LANG=

It works!

Best Regards,


Reverend Hamer