keine Umlaute in der Konsole

danlei

Well-Known Member
Hallo!

Also, ich bin vor ein paar Wochen auf FreeBSD umgestiegen und soweit komme ich auch gut zurecht.

Das einzige Problem, dass ich bis jetzt nicht selbst lösen konnte, sind die Umlaute in der Konsole. Habe viel gegoogelt, Handbuch und Wiki durchgelesen. Im Moment habe ich nicht die geringste Idee, woran es liegen könnte.

Ich benutze eine Apple M2452 USB-Tastatur an einem P3. Unter X läuft alles bestens, in der Konsole beept sh bei Umlauten, zsh liefert Leerzeichen.

Ausgabe von Umlauten ist auch nicht möglich, also wohl kein Tastaturproblem!

Selbst mit entsprechend konfiguriertem Kernel-Eigenbau war nichts zu erreichen. ;'(

Ich bin für jede Hilfe dankbar!


Ausgabe von locale

LANG=de_DE.ISO8859-15
LC_CTYPE="de_DE.ISO8859-15"
LC_COLLATE="de_DE.ISO8859-15"
LC_TIME="de_DE.ISO8859-15"
LC_NUMERIC="de_DE.ISO8859-15"
LC_MONETARY="de_DE.ISO8859-15"
LC_MESSAGES="de_DE.ISO8859-15"
LC_ALL=de_DE.ISO8859-15

Auszug aus ttys

ttyv0 "/usr/libexec/getty Pc" cons25l1 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv2 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv3 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv4 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv5 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv6 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv7 "/usr/libexec/getty Pc" cons25l1 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure

Auszug aus der Kernelkonfigurationsdatei

# fuer 800x600 Konsole
options VESA
options SC_PIXEL_MODE
options VGA_WIDTH90

# deutsche Tastatur
options ATKBD_DFLT_KEYMAP
makeoptions ATKBD_DFLT_KEYMAP="german.iso"

Die rc.conf

font8x14="iso15-8x14"
font8x16="iso15-8x16"
font8x8="iso15-8x8"
keymap="german.iso"

Auszug aus login.conf

#
# German Users Accounts.
#
german:german Users accounts:\
:charset=ISO-8859-15:\
:lang=de_DE.ISO8859-15:\
:tc=default:
(user mittels vipw -> german)

Entschuldigt die lange Post, aber so habt ihr gleich alles was ihr braucht!
 
Hi,

eigentlich sieht die ganze Konfiguration recht vollständig aus. Es fällt mir jedoch nur eine Kleinigkeit in der login.conf auf. Bin mir nicht sicher, ob der Eintrag

Code:
:charset=ISO[B]-[/B]8859-15:\
nicht
Code:
:charset=ISO8859-15:\
lauten müsste. Zumindest hab ich es bei mir ohne "-" eingetragen.

Nicht vergessen danach ein
Code:
cap_mkdb /etc/login.conf
auszuführen.

Ist wie gesagt nur eine Kleinigkeit ... aber vielleicht hilft es ;)

Matthias
 
und dann guck dir auch nochmal an, was deine TERM-variable sagt.

ein einfaches
Code:
% export TERM=xterm-color

kann dir vielleicht schon helfen...
probier einfach mal aus, hinterher ein proggie zu starten, wo äöüß drinnesteckt.

ansonsten:
wer braucht diese komischen zeichän schon? ;-)
 
Man sollte sich hüten, syscons auf xterm oder xterm-color zu setzen. cons25l1 ist schon genau richtig für diesen Zweck.

Ansonsten wäre es wohl mal hilfreich zu wissen, unter welchem Betriebssystem der OP das versucht. Vielleicht hat sich mit 6.x irgendein Detail geändert.
 
Danke für die Hilfe!

@matzo

Habe den Bindestrich entfernt, cap_mkdb ausgeführt. Hat leider nichts gebracht!

@dettus

export TERM=xterm-color, auch keine Umlaute.

Natürlich lässt es sich auch ohne Umlaute Leben, aber erstens sind Texte sehr schlecht zu lesen, wenn lauter L cken darin vorkommen, zweitens ist mein Ehrgeiz geweckt. Ich WILL diese Umlaute in meiner Konsole haben ;)

@0815Chaot

Da hast Du natürlich recht!

FreeBSD 6.0 release, mit dem selbstgebauten Kernel (vorher cvsup)


Habt ihr ansonsten irgendwelche Ideen, was falsch konfiguriert sein könnte? Mir ist in der Zwischenzeit leider nichts neues eingefallen. Echt frustrierend! :grumble:
 
Ging auch schon vorher nicht!

Den Kernel zu bauen war das letzte, was ich ausprobiert habe, da habe ich gleich noch die Einstellungen für die 800x600 mit reingenommen.

Habe auch nirgendwo (bin nach der Anleitung im Wiki vorgegangen) einen Hinweis auf Probleme gesehen.

Gemäß aller Seiten, die ich durchgelesen habe, scheint mit meinen Einstellungen alles in Ordnung zu sein. Seltsam...

Danke trotzdem!
 
Ich würde mal die Punkte abklopfen:

1. USB-Tastatur mit welcher genauen Belegung (stammt ja vom Mac, also Äpfelchen-Taste usw), ist also wahrscheinlich kein PC-Tastatur. Hier sind also die "Probleme" USB-Tastatur und Mac-Tastatur versteckt.

2. Ist die Einstellung in der rc.conf für die Konsole entscheidend. Ist die Mac-Tastatur mit dem german.iso übereinstimmend? Oder sollte man lieber cp850 von IBM nutzen? Weiß ich nicht, aber an den Punkten würde ich ansetzen.

3. Ist der P3 ein RISC-Prozessor, so daß die Bytereihenfolge Big Endian besteht. Ich hatte oft mit Dateien Probleme, die vom Mac kamen, speziell mit den darin enthaltenen Umlauten. Das Problem sollte aber durch die Architektur abgedeckt sein, für die Du FreeBSD installiert hast.
 
Last edited:
Ich habe bisher noch gar nicht versucht mich damit herumzuschlagen. Ich glaube der Unix-Welt würde eine komplette Umstellung auf UTF-8 gut tun. Das ist zwar ein Mamutprojekt, aber das scheint mir langfristig doch die beste Lösung. Das ANSI/ASCII Erbe muss endlich zurückgelassen werden.
 
Kann ich Dir nur zustimmen. Selbst MS Windows kann (ab NT 4.0) UNICODE, Standard ist dort UTF-16. Mich ödet es auch an, daß immer wieder Anwendungen Schwierigkeiten haben, nur, weil man noch an völlig überholten Konzepten festhält. GTK2 ist da schon auf dem besten Wege, QT wohl auch, selbst das gute alte TCL/TK kann UNICODE, aber, immer wieder werden auch alle anderen möglichen Codierungen unterstützt, anstatt, daß man generell mit UTF-8 arbeitet und intern das Übersetzen der Codierung dem OS überläßt.

Ich hab ein paar Jahre mit BeOS gearbeitet, da war UTF-8 bis in die tiefsten Niederungen des OS eingebaut. Schön gelöst, warum nimmt man sich nicht an den Besten ein Beispiel?

Wäre das schön, auf der Konsole mit UTF-8 arbeiten zu können, dann kann ich auch meine chinesischen Mails in mutt lesen, ohne wilde Umstellorgien veranstalten zu müssen.

Aber, selbst bei UNICODE gibt es Big und Little Endian!
 
Last edited:
Was syscons angeht: Kein UTF-8 möglich, da es bis heute keine Grafikkarten gibt, die das unterstützen. Und es wird auch in absehbarer Zukunft keine solchen geben. Punkt. (Genau dazu gab es zuletzt auch eine sehr interessante Diskussion auf de-bsd-questions.) Außerdem ist eine Konsole heute ohnhin nicht mehr dazu gedacht Mails zu lesen, schon aus ergonomischen Gründen nicht.

Unter X sieht das natürlich schon anders aus, und hier sollte man bei Neuentwicklungen wirklich auf UTF-Konformität achten. Wie i18n schon schrieb, sind die meisten Toolkits da schon recht weit. Außerdem: Ich persönlich halte ja nicht viel von Java, aber wenn es denn wirklich so beliebt wäre, wie immer getan wird, dann sollte der Großteil der neuentwickelten Anwendungen UTF-8-fit sein. Immerhin muß man sich unter Java nicht drum kümmern, UTF-Fähigkeit kommt da von Haus aus mit. Natürlich kann man auch unter Java alle UTF-Bemühungen ad absurdum treiben, wenn man mit String.charAt() rumfummelt, ohne vorher das Hirn einzuschalten, und andere Schlampereien.

Aber grundsätzlich erscheint mir der Java-Ansatz diesbezüglich gut. Für die Zukunft jedenfalls. Und natürlich nur unter X. Dem OP hilft das hier und heute aber nichts.
 
Ich muss gleich raus, also fasse ich mich kurz.

Danke für die Tips. Ich habe einfach mal eine alte PS/2 Tastatur angeschlossen, mit dem gleichen Ergebnis. Hatte ich mir schon gedacht, da selbst bei Tastaturproblemen in Lynx, trn usw. ja die Darstellung funktionieren müsste. Ist leider nicht so.

Die Apfeltasten werden übrigens unter X als Windowstasten erkannt (wenn Steve das wüsste), nutze sie als AltGr. Die geschweiften/eckigen Klammern usw. liegen wie auf einer normalen PC-Tastatur (zum Glück). In der Textkonsole ist Alt gleichzeitig AltGr, d.h. ich kann Alt+< für die Pipe, aber Alt+Fx zum Wechseln der Konsolen funktioniert auch.

Zu UTF teile ich eure Meinung. Sollte einfach zum Standard und überall umgesetzt werden!

Ich arbeite meistens unter X, habe aber immer auch eine Konsole (unter X) offen. Trozdem arbeite ich auch relativ oft unter der Textkonsole. Ich denke, dass ist einfach nur Geschmackssache. Ich persönlich finde nicht, das gute Texttools wie z.B. w3m, mutt etc. eine schlechte Ergonomie aufweisen, im Gegenteil.

To each his own!

Ich hatte übrigens unter keiner Linuxdistribution Probleme, und ich glaube unter OpenBSD hats auch funktioniert. (Kann mich nicht mehr genau erinnern)

Danke für eure Hinweise, heute Mittag schau ich mir alles noch einmal genau an, habe gerade keine Zeit mehr!
 
Last edited:
Hallo aspiring,

schon mal folgende Kernelkonfiguration probiert?
Code:
#----------------------------------------------------------------------------------------------------
# Kernel.conf Optionen fuer Deutsche Tastatur
#----------------------------------------------------------------------------------------------------

options 	ATKBD_DFLT_KEYMAP 	 # specify the built-in keymap
makeoptions     ATKBD_DFLT_KEYMAP="german.iso"    # dt. Tastaturlayout
options 	SC_DFLT_FONT 		# compile font in
makeoptions     SC_DFLT_FONT=iso15	# German /Europe Fonts

Das Beastie Menü verändert dann allerdings in dem Moment seinen Rahmen,
wenn der Kernel "duchstartet".
Das heißt, es wird zunächst normal dargestellt,
und der Rahmen schaltet dann, wenns richtig losgeht, um,
ist dann aber nur für eine Zehntelsekunde zu sehen,
weil, dann rollt das ja aus dem Bild.

Zumindest funktioniert der \ für diese Wildcards
z.B. bei Versionsnummern foo-\* .

In Konsolenbrowsern wie links und
elinks (Ist ein Konsolenbrowsern mit Tabs, sehr praktisch)
sowie im irssi (irc Client) gibts dann Umlaute.
Damit der mc (Midnight Commander, "Konsolen" Dateimanager)
noch "hübsch" aussieht ,sollte man ihn dann aber mir mc -a
auf der Systemkonsole starten.

Dafür gibts dann sogar im Singleuser Mode eine Deutsche Tastatur. :)

Viel Erfolg!


Gruß, Fusselbär
 
0815Chaot said:
Was syscons angeht: Kein UTF-8 möglich, da es bis heute keine Grafikkarten gibt, die das unterstützen. Und es wird auch in absehbarer Zukunft keine solchen geben. Punkt. (Genau dazu gab es zuletzt auch eine sehr interessante Diskussion auf de-bsd-questions.) Außerdem ist eine Konsole heute ohnhin nicht mehr dazu gedacht Mails zu lesen, schon aus ergonomischen Gründen nicht.
Ich finde es gut das man quasi alles mit der Konsole machen kann. Unter Linux kann die Konsole sogar Pinguine darstellen! Meine konsole läuft in der nativen Auflösung des Bildschirms 1024x768 mit 32bit Farben (im 24bit Modus funktioniert der Mauscursor nicht). Und es gibt einen Mauscursor der sich nicht einfach nach dem Zeichenraster bewegt und den ich bestimmt nicht in der ASCII Tabelle finde.
Wenn du sagst man kann kein UTF-8 darstellen, dann glaube ich das einfach nicht. Das ist vielleicht nicht so einfach wie ASCII Zeichen in den Grafikkartenspeicher zu schieben, aber es gibt bestimmt eine Möglichkeit.

Selbst unter Dos konnte ich damals die Konsole in 1024x768 mit einem Hintergrundbild betreiben. Etwas das keines der BSDs bisher zu leisten scheint.
 
Um evtl. Fehlerquellen auszuschliessen, belasse es doch bitte mal beim GENERIC Kernel.

cons25l1 muss in /etc/ttys. Check
Als font in /etc/rc.conf habe ich iso-8xXX, nicht iso15-8xXX, vielleicht mal damit probieren?
charset habe ich in der login.conf garnicht gesetzt, ich verwende nur default und setze LC_CTYPE=de_DE.ISO8859-15, das wird aber anscheinend von LANG uebernommen. Probiers doch mal damit und cap_mkdb nicht vergessen.

Mehr braucht man eigentlich nicht. Wie/Wo setzt du denn die ganzen locale variablen? Ich habe hier nur folgendes:
Code:
LANG=
LC_CTYPE=de_DE.ISO8859-15
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
 
i18n said:
Kann ich Dir nur zustimmen....
Aber, selbst bei UNICODE gibt es Big und Little Endian!
Gilt das auch für UTF-8? Das erschiene mir unlogisch, da bei UTF-8 ja byte für byte gelesen wird. Bei UTF-16 ist das natürlich etwas anderes.
 
[LoN]Kamikaze said:
Ich finde es gut das man quasi alles mit der Konsole machen kann. Unter Linux kann die Konsole sogar Pinguine darstellen!
Ganz großartig, das brauchen wir unbedingt unter *BSD.

[LoN]Kamikaze said:
Wenn du sagst man kann kein UTF-8 darstellen, dann glaube ich das einfach nicht.
Glauben kannst du in der Kirche. Frage doch mal bei einem Grafikkarten-Hersteller nach, ob seine Grafikkarten UTF-8 darstellen können. Können die nämlich nicht. Wie gesagt, auf der Mailingliste gab es dazu schon eine ausführliche Diskussion, daher kaue ich das an dieser Stelle nicht nochmal durch.

[LoN]Kamikaze said:
Das ist vielleicht nicht so einfach wie ASCII Zeichen in den Grafikkartenspeicher zu schieben, aber es gibt bestimmt eine Möglichkeit.
Ja, mit einem Grafikmodus geht das. Der heißt unter Unix üblicherweise X.

[LoN]Kamikaze said:
Etwas das keines der BSDs bisher zu leisten scheint.
Weil's auch niemand braucht. Genausowenig wie Splash-Screens, die im unteren Teil des Bildchens die Boot-Meldungen anzeigen. SuSE kann das auch. Who cares?

aspiring said:
Ich persönlich finde nicht, das gute Texttools wie z.B. w3m, mutt etc. eine schlechte Ergonomie aufweisen, im Gegenteil.
Kann mich auch nicht erinnern, daß irgendjemand in diesem Thread etwas anderes behauptet hätte.
 
Worauf ich hinauswill ist das es Prinzipiell möglich ist Grafiken im Textmodus zu zeigen. Da man auch eine Schriftart als Sammlung von Grafiken verwirklichen kann gibt es also auch eine Möglichkeit UTF-8 im Textmodus darzustellen. Ich habe kein interesse an Pinguinen oder Hintergrundbildern - aber wer einen Pinguin darstellen kann, der kann auch 'Łódż' schreiben.
 
@Fusselbär

werde ich ausprobieren

@MrFixit

Ich hatte ganz am Anfang genau die gleiche locale Ausgabe wie deine, da gings auch nicht. Trotzdem habe ich genau diese Einstellungen jetzt noch einmal probiert - ging nicht.
Ich habe jetzt schon so viel ausprobiert, dass ich so langsam den Überblick verliere was ich alles schon geändert habe.

Nachtrag:

Müssten diese Einträge in /etc/profile sein LC_ALL setzt denke ich alle:
export LANGUAGE=de
export LC_CTYPE=de_DE.ISO8859-15
export LC_ALL=de_DE.ISO8859-15


Ich werde also einen Kernel nach Fusselbärs anleitung ausprobieren und den GENERIC Kernel nochmal ausprobieren. Ich weis nicht, ob ich heute noch für alles Zeit habe, aber ich melde mich wieder, sobald ich das alles probiert habe. Spätestens am Wochenende!

@0815Chaot

Außerdem ist eine Konsole heute ohnhin nicht mehr dazu gedacht Mails zu lesen, schon aus ergonomischen Gründen nich

Hat sich ein Bisschen so angehört, nix für ungut!

@all

Ich finde dieses Forum übrigens wirklich sehr gut. Sehr viele brauchbare Antworten in kurzer Zeit, hohes Niveau! Danke an alle!!!
 
Last edited:
[LoN]Kamikaze said:
Worauf ich hinauswill ist das es Prinzipiell möglich ist Grafiken im Textmodus zu zeigen. Da man auch eine Schriftart als Sammlung von Grafiken verwirklichen kann gibt es also auch eine Möglichkeit UTF-8 im Textmodus darzustellen.
Was schreibst du denn da? Grafiken im Textmodus? Wie soll das denn gehen? Es geht nicht. Punkt. Aus. Ende.

[LoN]Kamikaze said:
aber wer einen Pinguin darstellen kann
Wer einen Framebuffer (!) für die Systemkonsole verwendet, der kann im Prinzip alles mögliche darstellen. Wenn du VESA im Kernel hast, kannst du unter FreeBSD auch mit syscons Splash-Screens und graphische Bildschirmschoner verwenden. Nette Spielerei, mehr aber auch nicht. syscons unterstützt jedoch keinen Grafik-/VESA-Modus zur Darstellung von Fonts, weil das niemand braucht. Gut, Bildschirmschoner und Splash-Screen braucht eigentlich auch niemand, aber da war wohl jemandem langweilig. Wenn demjenigen nochmal langweilig ist, implementiert er vielleicht auch UTF-8.

Man ist auf einem Desktop-Rechner im Prinzip nur in zwei Fällen auf syscons angewiesen: Die Kiste geht in den Single-User-Mode, weil irgendwas schiefgelaufen ist, oder X funktioniert nicht mehr und man muß die X-Konfig bearbeiten. Für beides braucht man nur US-ASCII. Und auf einem Server brauche ich syscons nie, da hängt sowieso ein serielles Terminal dran, das kann dann meinetwegen UTF-8-fähig sein oder es bleiben lassen.

Im übrigen bin ich mir auch nicht sicher, ob die Framebuffer-Konsole unter Linux UTF-8-fähig ist. So wie ich das in Erinnerung habe, werden einfach nur Unicode-Zeichen auf Latin-Codierungen gemappt. Dadurch stehen IIRC 512 verschiedene Zeichen zur Verfügung. Das ist mir aber auch völlig egal.

Wer ein UTF-fähiges Terminal braucht, ist mit uxterm bestens bedient, von der besseren Ergonomie eines X-Servers mal ganz zu schweigen.

Ach ja, falls das jemand nicht mitbekommen hat: Unter FreeBSD 5/sparc64 gab es auf Ultra 5/10 noch nicht mal ein syscons!
 
Last edited:
0815Chaot said:
Wer ein UTF-fähiges Terminal braucht, ist mit uxterm bestens bedient, von der besseren Ergonomie eines X-Servers mal ganz zu schweigen.
Danach habe ich ewig gesucht! Danke, ich habe mich ewig erfolglos mit aterm und Eterm herumgeschlagen und dann so etwas...

Sowohl die Umlaute wie auch die polnischen Sonderzeichen funktionieren.
 
Also, mit der Konfiguration Fusselbärs funktioniert jetzt zumindest im Singleuser-Mode alles. Leider auch nur da! Immer noch keine Umlaute im w3m (auch ein schöner Textbrowser, mit Tabs und VI-Keys; da hat mich i18n drauf gebracht!).

Ich werde jetzt alle meine Änderungen auskommentieren, und dann wieder ganz von vorne anfangen. Danke an MrFixit; ich hätte die Einträge in der /etc/profile ohne ihn bestimmt vergessen.

Übrigens wird in der FreeX 2/06 erwähnt, dass unter FreeBSD 6.0 rel Probleme mit den Umlauten auftreten, vor allem in den Bäumen /usr/X11R6 sowie /usr/local. (Zumindest nach Updates). Außerdem steht dort cons25w in ttys. (Vielleicht hilft das ja jemand anderem)

Naja, jedenfalls vielen Dank für eure Hilfe! Wird schon irgendwann funktionieren...
 
Back
Top