Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

21.11.2009, 10:19

locale.gen + 02locale - was muss rein und was nicht?

Moin!

Da ich gerade mal wieder ein Gentoo-System aufsetze stoße wieder an ein Problem, das ich auf meinem Notebook auch hatte, aber wo ich mich nie drum gekümmert habe. Nun soll es aber "gelöst" werden!

Es handelt sich um Folgendes:

in /etc/locale.gen sollen ja die verwendeten Zeichensätze. Ich möchte das ganze natürlich in UTF-8.
- Müssen nun de_DE.UTF-8 und en_US.UTF-8 darein ? Oder reicht eins von beiden, da es ja UTF-8 ist ?
- Brauch ich die ISOxxxx Locales überhaupt noch ? Wenn ja, wozu überhaupt?

Ich muss zugeben, dass ich schon ein wenig mit den Dateien rumgespielt habe vor allem mit der /etc/env.d/02locale ...
Ich weiß grob was ich da eintragen kann und was es bewirkt, steht ja in der großen Gentoo Anleitung. Aber irgendwie komm ich nicht zum richtigen Ergebnis. Ich möchte:
- Ausgaben auf der Konsole natürlich auf englisch, vor allem Fehlermeldungen, da man sonst im WWW nicht weit damit kommt ;)
- Der Rest kann (soll) deutsch sein, also (wenn das geht) man-pages, Dinge wie mkfs --help usw.

Inzwischen hab ich wohl irgendwas verpfuscht: Ich weiß nicht ob's die Anführungszeichen sind oder << und >> , auf jeden Fall spuckt die Konsole dann nur Klötzchen aus, also ein ausgefülltes Rechteck. Nicht tragisch, aber unschön.

Dann hab ich noch ein weiteres Problem (hängt vielleicht damit zusammen), wenn ich was in der Konsole eingebe und mich vertippe, z.B. auf irgendwelche Funktionstasten komme, dann tippt die Konsole das irgendwo ein , aber man siehts nicht. Wenn man dann Pfeil Hoch drückt hat sich der Befehl plötzlich verändert und es steht (meist) ein Klötzchen oder ein @ da, wo man die falsche Taste erwischt hat. Dann lösch ich das Zeichen schön und dann passiert das Ganze noch mal und es hat sie wieder ein Zeichen an der Stelle eingeschlichen , ich glaube ein (in der Mathematik verwendetes) Nicht-Symbol , also 2 Striche im Rechten Winkel.
Und noch eins: Wenn ich in der Konsole Strg + C drücke schreibt er in die abgebrochene Zeile ^C . Ist auch nicht tragisch, aber unschön ;)

Also die Letzten beiden Sachen mit den Konsoleneingaben sind nicht so schlimm, aber wenn's ne Lösung gibt, nehm ich die natürlich gern!

Danke und viele Grüße!

2

21.11.2009, 13:18

Hi

Ich hab da auch lange dran rum-gefummelt...
bei mir schaut es zZt etwa so aus:

Zunächst die Locale der glibc
$ grep -v ^# /etc/locale.gen

Quellcode

1
2
3
4
5
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15
de_DE.UTF-8 UTF-8
bei Änderungen, die Locale bitte mit einem

Quellcode

1
# locale-gen
erzeugen. Diese fünf gebräuchlichsten würde ich schon zur verfügung stellen, die meisten Fertig- Distributionen haben da standardmäßig ca. 400 drin.... ;)

..............................................................
Die Systemweite "/etc/env.d/02locale"
hier gehen die Meinungen, was rein soll recht weit auseinander, einige Leute meinen gar man sollte hier gar nichts setzen..., gezielter lässt es sich wohl über eine "bashrc" des Users setzen.

ich habe hier zZt. für ein Deutsches System
cat /etc/env.d/02locale

Quellcode

1
2
3
LANG="de_DE.UTF-8"
GDM_LANG="de_DE.UTF-8"
LC_COLLATE="C"
gesetzt.
Doch damit Portage/emerge weiterhin in englisch bleibt
cat /etc/portage/bashrc

Quellcode

1
2
export LC_ALL="C"
export LANG="C"
gesetzt.

Global sollte USE="unicode" gesetzt sein, dies ist aber idR. schon im Profil gesetzt. (kann man zb in der "emerge --info" Ausgabe einsehen)

Auch in der "/etc/rc.conf" sollte "unicode" aktiviert sein. (ist aber idR. aber schon per default gesetzt)

Auch im Kernel sollte evtl.

Quellcode

1
2
$ zgrep NLS_DEFAULT /proc/config.gz
CONFIG_NLS_DEFAULT="utf8"
gesetzt werden.

............................................................................................
Die Konsole Font: (nicht xterm)

hier ist mein Favorit: "ter-v16b" , diese ist im Paket "media-fonts/terminus-font" enthalten.
Um diese zu nutzen sollte in
/etc/conf.d/consolefont

Quellcode

1
consolefont="ter-v16b"
gesetzt sein.
Um hiermit auch ein schönes "€" Zeichen nutzen zu können muss

Quellcode

1
2
cat /usr/share/keymaps/i386/include/euro-unicode.map
altgr keycode 18 = U+20AC
angelegt werden.
Dieser Keymap muss dann in
/etc/conf.d/keymaps

Quellcode

1
extended_keymaps="euro-unicode"
angegeben werden.
Ich nutze hier die

Quellcode

1
keymap="de-latin1-nodeadkeys"
damit werden dann Zeichen wie zb "~" mit dem ersten Druck geschrieben.
(diesen Tipp hab ich aus dem Gentoo Buch von Gunar Wrobel)
AFAIK wird diese Keymap erst nach einem reboot genutzt.

Dies sind nun meine persönlichen Erfahrungen..., evtl. geht es noch besser,
doch hier funktioniert es soweit einwandfrei.

/edit: Rechtschreibung

MfG

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »josef.95« (21.11.2009, 13:27)


3

23.11.2009, 11:37

Und weiß einer ob und wie es besser ginge ? :D

4

23.11.2009, 12:06

Schade das dir mein Vorschlag nicht gefällt,
ich komme damit gut klar....

5

24.11.2009, 12:03

Doch doch, aber ich hatte gehofft, dass mir wer noch mehr Details geben kann und es evtl. eine noch minimalistischere Lösung gibt

6

28.11.2009, 00:12

Meine locale.gen sieht josefs Vorschlag sehr ähnlich. In 02locale steht bei mir aber nur LANG="en_US.UTF-8" und meine keymaps is de-latin1.

--> Es ist bei meiner X31-Box gewollt, dass die gesammte Systemoberfläche in Fluxbox (Firefox usw) wie die Konsole und deren Ausgabe auf Englisch sind.

Sonderzeichen wie @ € üöäß können trotzdem problemlos dargestellt. Zugegeben, ich habe noch nicht versucht diese Zeichen in Datei- oder Ordnernamen zu verwenden. Das mach ich aber seit ich DOS 6.22 für modern gehalten habe :)
Lenovo T60, Core2Duo T7200, X1400, 4GB RAM, Gentoo neu

IBM X31, Banias 1,4 GHz, Ati M6 LY, 2GB RAM
Gentoo 2007.0 - Erstlingswerk und 2 Jahre ohne Reboot 8-)

7

31.03.2010, 23:53

Update

Um hiermit auch ein schönes "€" Zeichen nutzen zu können muss

Quellcode

1
2
cat /usr/share/keymaps/i386/include/euro-unicode.map
altgr keycode 18 = U+20AC
angelegt werden.
Dieser Keymap muss dann in
/etc/conf.d/keymaps

Quellcode

1
extended_keymaps="euro-unicode"
angegeben werden.
Sollte mittlerweile nicht mehr nötig sein, es reicht nun in der
/etc/conf.d/keymaps

Quellcode

1
fix_euro="YES"
zu setzen.
BTW:
(es sollte die Syntax beachtet werden, je nachdem ob baselayout-1* , oder schon OpenRC genutzt wird!)

8

01.04.2010, 08:50

Ich würde global en und utf8 setzen und wenn mans dann Deutsch haben will, dies nur für den einzelnen Benutzer tun.

Der aktuellen news Meldung (hier für Python 3.1) von Gentoo entnommen:

Quellcode

1
2
3
It is recommended to use a UTF-8 locale to avoid potential problems. Especially
C and POSIX locales are discouraged. If locale has not been explicitly set,
then POSIX locale is used, so you should ensure that locale has been set.
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

9

02.04.2010, 17:16

Ich würde global en und utf8 setzen und wenn mans dann Deutsch haben will, dies nur für den einzelnen Benutzer tun.
jo, das würde ich so auch bevorzugen, doch das ist gar nicht soo einfach hinzubekommen...
Hab es hier nun so bewerkstelligt

/etc/env.d/02locale

Quellcode

1
2
3
LANG="en_US.UTF-8"
LC_COLLATE="C"
LC_MESSAGES="en_US.UTF-8"

Und unter KDE dann die Variablen nur für den Benutzer gesetzt

Quellcode

1
$ cat .kde4/env/locale.sh

Quellcode

1
2
3
4
5
#!/bin/sh
export LANG=de_DE.UTF-8
export KDE_LANG=de
export LC_MESSAGES="de_DE.UTF-8"
export LANGUAGE=de_DE.UTF-8
(das .kde4/env/ Verzeichnis muss evtl. erst erstellt werden)

Das Ergebnis schaut dann so aus:
als User

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE=C
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES=de_DE.UTF-8
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"                                                                                                                
LC_IDENTIFICATION="de_DE.UTF-8"                                                                                                             
LC_ALL=
bzw

Quellcode

1
2
3
4
5
6
$ env | grep -e LANG -e LC
LC_MESSAGES=de_DE.UTF-8
LC_COLLATE=C
LANG=de_DE.UTF-8
LANGUAGE=de_DE.UTF-8
KDE_LANG=de

als root (root login Shell)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# locale
LANG=en_US.UTF-8                                                                                                                            
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE=C
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES=en_US.UTF-8
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
bzw

Quellcode

1
2
3
4
# env | grep -e LANG -e LC
LC_MESSAGES=en_US.UTF-8
LC_COLLATE=C
LANG=en_US.UTF-8


Das funktioniert bisher sehr gut :thumbup:
/edit: LC_ALL entfernt

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »josef.95« (13.09.2010, 01:43)