German Howto
Dieses Dokument enthaumllt Tips und Informationen fuumlr deutschsprachige Linux-Anwender. (Note to English readers: this document explains the german specific aspects of Linux. The middle chapter is written in English.)
Die Bezeichnung Howto ist eine Zusammenschreibung von how to, was Sie mit "so mache ich..." uumlbersetzen koumlnnen. Das Linux German Howto beschreibt also wie man deutschsprachige Eigenheiten unter Linux aktiviert. Gesprochen wird es als Dschoumlrman Hautu. Im Folgenden schreibe ich lieber vom Deutschen Sowirdsgemacht fuumlr Linux. Schon bin ich Punk.
Was sind denn nun deutsche Eigenheiten? Ledertrachten, Weisswuumlrste, Bier und gebuumlgelte Unterwaumlsche, so wie es jedem auslaumlndischen Besucher im Bierzelt auf der CeBIT vorgemacht wird? Hm, das waumlren wohl eher Anpassungen, die man an sich selbst vornimmt. Aber keine Furcht, Linux laumlsst sich auch, dem amerikanischen Einfluss sei dank, ganz leger in Jeans beim Pizzaessen und einem Schluck Afri-Cola bedienen (fuumlr Imis: Afri-Cola wird in Koumlln gebraut). Auf das Thema gebuumlgelte Unterwaumlsche kann ich an dieser Stelle, dem amerikanischen Einfluss sei ebenfalls gedankt, nicht weiter eingehen. Denn obwohl es hier schon spaumlt ist, sind dort die Kinder ja noch wach. Sagt zumindest der Sowirdsgemacht-Projektleiter. Aber genug gescherzt, sonst entfernen wir uns zu weit vom Vorurteil der unfreundlichen Deutschen.
Linux wird von einer weltweiten Gemeinde von Hackern im Internet entwickelt, deren kleinster gemeinsamer Nenner fuumlr die Verstaumlndigung Englisch ist. Dagegen muumlssen Anwender uumlblicherweise in ihrer Muttersprache und mit nationalen Eigenheiten arbeiten: zum Beispiel Zeichen, Zeitzonen oder Zahlenformaten. Erfreulicherweise hat Linux eine so weite Verbreitung erfahren, dass die nationalen Maumlrkte laumlngst Ziele fuumlr die Linux-Distributionen geworden sind. D.h. die regionalen Anpassungen der Anwendungen und des Systems stecken in Linux weitgehend drin. In diesem Zusammenhang moumlchte man das KDE-Projekt erwaumlhnen, welches auf dem Gebiet der Internationalisierung hinsichtlich Anzahl der Sprachen und Vollstaumlndigkeit der Anpassungen hohe Maszligstaumlbe gesetzt hat. Dieser Entwicklung traumlgt auch das Deutsche Sowirdsgemacht Rechnung, indem der Schwerpunkt ab sofort mehr auf der Beschreibung von Grundlagen liegt.
(c) Winfried Truumlmper <me@wt.xpilot.org> 1994-2001. Alle Rechte vorbehalten.
Vertrieb und Benutzung dieses Dokuments sind unter den folgenden Bedingungen gestattet: Der Name des Autors darf nicht zur Vermarktung von Produkten verwendet werden, die auf diesem Dokument beruhen, und geaumlnderte Versionen dieses Dokuments muumlssen klar als solche erkennbar sein.
Text, Abbildungen und Programme in diesem Dokument wurden mit grosser Sorgfalt erarbeitet. Trotzdem sind Fehler nicht ganz auszuschliessen. Angesichts der Komplexitaumlt und der Schnelllebigkeit heutiger Computer-Systeme kann der Autor weder die Richtigkeit noch die Anwendbarkeit der gelieferten Informationen garantieren. Kurz: Benutzung auf eigene Gefahr.
Linux Sowirdsgemacht-Beschreibungen fuumlllen die Luumlcke zwischen Buumlchern und kurzen Liesmich-Dateien. Sie haben den Anspruch, einen Sachverhalt ausfuumlhrlich zu erklaumlren. Eigens zu diesen Zweck wurde vom Linux-Dokumentations-Projekt (LDP) eine umfangreiche Infrastruktur aus Autoren, Schreibwerkzeugen und Distributions-Kanaumllen geschaffen. Das vorliegende Sowirdsgemacht ist offizieller Teil des (LDP) und somit wie alle anderen Dokumente des LPD erhaumlltlich. Entweder auf dessen Webseiten oder im Verzeichnis /usr/share/doc/howto/ auf der eigenen Festplatte. Daneben sind gedruckte gedruckten Zusammenstellungen verschiedener Verlage uumlber die Buchhandlungen erhaumlltlich.
Die neueste Version des Deutschen Sowirdsgemacht ist ausserdem uumlber meine hauseigene Seite erhaumlltlich.
Korrekturen und Verbesserungsvorschlaumlge koumlnnen per E-Mail an mich geschickt werden: me@wt.xpilot.org. Angebote fuumlr mehr Schleichwerbung in der Einleitungen nehme ich dort ebenfalls entgegen.
*
*
*
In vielen Staumldten haben sich Linux-Anwender zu sogenannten Linux User Groups (LUGs) zusammengetan. Diese Benutzergruppen sind offen fuumlr jeden und halten regelmaumlszligige Sitzungen ab. Sie sind der ideale Treffpunkt fuumlr all diejenigen, die sich nicht nur im "Cyberspace" mit anderen Linuxern austauschen wollen. Eine uumlbersicht befindet sich beispielsweise auf den deutschen Linux-Portalseiten.
Hm, ich habe bisher nur die KDE-Frauen gefunden. Gibt es noch mehr?
Neben den lokalen LUGs gibt es auch noch die folgenden Vereine:
Der Linux-Verband richtet sich in erster Linie an Firmen-Mitglieder. Die Aktivitaumlten sind beachtlich und konzentrieren sich im Moment auf die Aufklaumlrung uumlber die Schaumldlichkeit von Software-Patenten.
Die German Unix User Group zielt nach Jahren der Neuorientierung derzeit wieder auf Unix-Systemadministratoren.
Derzeit gibt es drei grosse uumlberregionale Veranstaltungen zu Linux in Deutschland: den
Linux-Kongress und die
hinaus gibt es zahlreiche lokale Veranstaltungen, die in den Kalendern der Portal-Seiten zu finden sind.
Erste Anlaufstelle fuumlr deutschsprachige Anwender ist die "Newsgroup" de.comp.os.unix.linux.infos. Dort sind weitergehende Informationen zu Linux und uumlber die Benutzung der zugehoumlrigen "Newsgroups" zusammengetragen. Eine gute Idee ist die Benutzung der web-basierten Archive, in denen man zu Stichworten eine Menge Antworten findet: Google-Suche: de.comp.os.linux.* oder Oft gestellte Fragen der Deutschen Linux-Diskussionsgruppen.
Der IRC-Kanal #LinuxGER bietet eine Hotline zu Linux in deutscher Sprache. Uumlber dessen hauseigene Web-Seite kann man mehr uumlber die Welt des IRC lernen.
Hier ist eine kleine Auswahl von Seiten, die schon laumlnger existieren und auch regelmaumlssig gepflegt werden:
Linux in Oumlsterreich
Linux in der Schweiz
Linux.de
Pro Linux
Das Deutsche Linux Howto Projekt (DLHP) Projekt beschaumlftigt sich mit der uumlbersetzung der originalen englischsprachigen Linux Sowirdsgemacht ins Deutsche. Auf den Webseiten des Projekts kann man eine Liste aller uumlbersetzten Sowirdsgemacht und naumlhere Informationen zum Projekt abrufen.
Rechner sind Geraumlte, die auf der Grundlage von digitalen Zahlen arbeiten. Menschen sind Wesen, die mit Zahlen und auch mit Namen arbeiten. Setzt man einen Menschen vor einen Rechner und verkauft dem Menschen den Rechner als Universalgeraumlt, dann muss der Rechner neben den Zahlen auch mit Namen umgehen koumlnnen. Dies wird mit einem Kunstgriff erreicht: Das Alfabet wird durchnummeriert, d.h. Buchstaben werden Zahlen zugeordnet, mit denen der Rechner wiederum umgehen kann. Beispiel: Der Buchstabe A hat die Nummer 65. Zeichentabelle oder Zeichensatz wird diese Zuordnung genannt. Sie listet neben den Buchstaben auch noch Symbole und Sonderzeichen auf. Der Zeichensatz ist eine rein logische Definition; erst die Schriftart bestimmt die Darstellung des Zeichensatzes auf dem Bildschirm.
Damit Dokumente zwischen Computern austauschbar sind, muss der verwendete Zeichensatz standardisiert sein. Ein fruumlher Standard war US-ASCII, eine sehr kleine, aus 127 Zeichen bestehende Zuordnung, bei der jedes Zeichen genau 7 Bits Speicherplatz belegte. Ein Bit mehr pro Zeichen benoumltigt der Zeichensatz ISO-8859-1, mit dem sich die meisten mitteleuropaumlischen Sprachen darstellen lassen. Allerdings legen beide Zeichensaumltze das lateinische Alfabet zugrunde, sind also fuumlr Anwender ausserhalb von Europa oder Amerika nur begrenzt nuumltzlich. So entstanden in den verschiedenen Regionen der Welt Zeichensaumltze, die wegen unterschiedlicher Zeichen mit derselben Nummer nicht miteinander vertraumlglich sind.
Tabelle 1: Ausschnit des Zeichensatzes ISO-8859-1
" quotedbl ' apostrophe ` grave asciitilde ^ asciicircum _ underscore ! exclam ? question
| bar @ at + plus - minus
, comma : colon ; semicolon < less = equal > greater ( parenleft ) parenright [ bracketleft? bracketright { braceleft } braceright ¡ exclamdown ¢ cent £ sterling ¤ currency ¥ yen ¦ brokenbar § section " diaeresis © copyright ª ordfeminine < guillemotleft ¬ notsign hyphen ® registered ¯ macron ° degree ± plusminus ² twosuperior ³ threesuperior ´ acute micro mu ¶ paragraph · periodcentered ¸ cedilla ¹ onesuperior º masculine > guillemotright ¼ onequarter ½ onehalf ¾ threequarters ¿ questiondown Agrave Agrave Aacute Aacute Acirc Acircumflex Atilde Atilde auml Adiaeresis ° Aring AElig AE Ccedil Ccedilla Egrave Egrave Eacute Eacute Ecirc Ecircumflex Euml Ediaeresis Igrave Igrave Iacute Iacute Icirc Icircumflex Iuml Idiaeresis ETH ETH Ntilde Ntilde Ograve Ograve Oacute Oacute Ocirc Ocircumflex Otilde Otilde ouml Odiaeresis × multiply Oslash Ooblique Ugrave Ugrave Uacute Uacute Ucirc Ucircumflex uuml Udiaeresis Yacute Yacute THORN THORN szlig ssharp agrave agrave aacute aacute acirc acircumflex atilde atilde auml adiaeresis aring aring aelig ae ccedil ccedilla egrave egrave eacute eacute ecirc ecircumflex euml ediaeresis igrave igrave iacute iacute icirc icircumflex iuml idiaeresis eth eth ntilde ntild ograve ograve oacute oacute ocirc ocircumflex otilde otilde ouml odiaeresis ÷ division oslash oslash ugrave ugrave uacute uacute ucirc ucircumflex uuml udiaeresis yacute yacute thorn thorn yuml ydiaeresis
Die derzeitige Loumlsung ist der internationale Unicode-Zeichensatz (identisch zu ISO-10646). Unicode steht fuumlr unique code und bezeichnet eindeutige Nummern von derzeit uumlber 90.000 definierten Zeichen in einer einzigen Zuordnungstabelle. Der Prozess der Standardisierung ist weit fortgeschritten, aber noch nicht abgeschlossen. Schaumltzungen gehen davon aus, dass niemals mehr als ca. 2.1 Millionen (21 Bit) Zeichen definiert sein werden. Um eine ausreichende Reserve vorzuhalten, wurden die Unicode-Tabelle mit 32 Bit pro Zeichen ausgelegt, was zur Nummerierung von mehr als 4 Millarden Zeichen ausreicht. Unicode bricht also mit einer gelaumlufigen Annahme: 8 Bit (ein Byte) pro Zeichen. Die vier Byte scheinen grosszuumlgig dimensioniert und werfen Fragen des Speicherverbrauchs auf: Mit unserem mitteleuropaumlischen Zeichensatz ISO-8859-1 belegt jedes Zeichen acht Bit auf den Speichermedien (RAM, CD-ROM, Festplatte). Ohne spezielle Massnahmen belegen in Unicode dieselbem Zeichen 32 Bit, d.h. alle Speichermedien muumlssten fuumlr die Verwendung von Unicode vier mal so gross ausgelegt werden. Das erschien nicht durchfuumlhrbar, weshalb zur effektiveren Speicherung verschiedene Unicode Bit Transformationen (UTF) eingefuumlhrt wurden: UTF-8, UTF-16 und UTF-32. Letztere Transformation aumlndert nichts, spart deswegen auch nichts und belegt somit in verschwenderischer Manier fuumlr jedes Zeichen konstant 32 Bit im Speicher. Erstere Transformationen (UTF-8) belegt zwischen acht und 48 Bits, je nach Standort des Zeichens in der Tabelle. Oft benoumltigte Zeichen (US-ASCII) stehen vorne in der Tabelle und belegen nur acht Bits, die deutschen Umlaute stehen mehr zur Mitte hin und belegen 16 Bits. Ein kleiner Nachteil von UTF-8 ist die rechenzeitintensive Transformation der Daten. Die Transformation UTF-16 liegt irgendwo zwischen dem Speicherplatzverbrauch von UTF-32 und dem Rechenzeitverbrauch von UTF-8.
Weitere Informationen zu Unicode sind direkt beim Unicode-Consortium und in der UTF-8 and Unicode FAQ for Unix/Linux (engl.) zu finden.
Das ISO Waumlhrungs-Kuumlrzel fuumlr den Euro ist EUR, wie man es von den Uumlberweisungs-Formularen der Banken schon kennt. Die Schreibweise EUR 10,23 fuumlr 10 Euro und 23 Cent ist gleichberechtigt mit der Verwendung des speziellen Waumlhrungs-Symbols ¤ (E mit zusaumltzlichem Mittelstrich). Falls das Euro-Symbol eher wie ein mechanischer Wecker aussieht, dann verwenden Sie noch die alten Schriftarten. In diesem Fall sollten Sie Ihre Linux-Distribution aktualisieren, denn ein Austausch aller denkbaren Schriftarten geht weit uumlber die Moumlglichkeiten dieses Sowirdsgemacht hinaus. (Schriftarten waren schon immer ein Problem unter Linux, was das Euro-Symbol nur bestaumltigt.) Ob sich eine Aktualisierung angesichts des robusteren ISO-Kuumlrzels EUR uumlberhaupt lohnt, muumlssen Sie selbst entscheiden.
Definiert wird das Euro-Symbol vom Zeichensatz ISO-8859-15. Es liegt in der Tabelle bei den anderen Waumlhrungs-Symbolen zwischen Pfund und Yen. Uumlber die Tastatur koumlnnen Sie es wie aufgedruckt mit !AltGr?-E eingeben. Die Tastenkombination !AltGr?-C gibt das bekannte Cent-Symbol.
Alle dem Autor bekannten Distributionen stellen die deutsche Tastaturbelegung selbststaumlndig bei der Installation ein. Ist man mit dem Resultat nicht zufrieden, so lassen sich mit den Kommandozeilen-Werkzeugen loadkeys (Text-Konsolen) und xmodmap (X11) andere Belegungen einstellen. Eine genauere Beschreibung der Werkzeuge geht uumlber den Anspruch dieses Dokuments hinaus.
Bei dieser Gelegenheit soll ein wenig Licht in die Konzepte der Tastaturbelegung gebracht werden, um unter Unix/Linux in Zukunft weniger Probleme mit den Tastenbelegungen zu haben. Die Betaumltigung einer Taste sendet eine Kennzahl. Andere Tastaturen geben andere Kennzahlen. Aumlhnlich zu den weiter oben beschriebenen Zeichensaumltzen, kommen auch bei der Tastatur Zuordnungstabellen zum Einsatz, die den Kennzahlen Symbole zuordnen. Die Zuordnungstabellen heissen Tastaturbelegungen. Eine Tastaturbelegung definiert unter Umstaumlnden nicht direkt die auszugebenden Zeichen, sondern machen einen Zwischenschritt uumlber symbolische Namen. Beispiel: Unter X11 sendet eine Taste die Kennzahl 22. Die Tastaturbelegung definiert fuumlr diese Kennzahl (Terminus "keycode") das Symbol !BackSpace?, womit die Taste zum Loumlschen des linken Zeichens auf der PC-Tastatur gemeint ist. X11-Anwendungen reagieren direkt auf dieses Tasten-Symbol. Fuumlr Anwendungen, die in einem Textdialog-Fenster (xterm, ssh) ablaufen, wird das Symbol widerum in eine Steuersequenz uumlbersetzt, z.B. Steuerung-? oder Escape-[[3 .
Gebraumluchliche Tastaturen verfuumlgen uumlber ca. 110 Tasten. Um damit den kompletten Zeichensatz ISO-8859-1 eingeben zu koumlnnen, muumlsste man die Tasten mit bis zu vier Zeichen belegen. Benoumltigt man nur selten den Zugriff auf den kompletten Zeichensatz, dann ist die Vierfach-Belegung ein zu hoher Lernaufwand. In diesem Fall bietet sich die Kompositions-Taste an. Diese Taste verursacht selbst keine Ausgabe auf dem Bildschirm, sondern komponiert die beiden nachfolgend eingegebenen Zeichen zu einem. Mit anderen Worten: Die Zeichen werden uumlbereinander gedruckt. Beispiel: Die Tastenfolge <Compose> <> <a> ergibt ein atilde. Unter Linux ist meist eine der Tasten rechts von der Leertaste mit der Kompositions-Funktion belegt. (Hinweis fuumlr Xmodmap-Bastler: Das XFree-Tasten-Symbol der Kompositions-Taste ist Multi_key.)
Bestimmte Tasten koumlnnen als staumlndig komponierend konfiguriert werden. Die Betaumltigung solcher Tasten fuumlhrt zunaumlchst zu keiner Ausgabe auf dem Bildschirm, sondern das betreffende Symbol wird uumlber das naumlchste Zeichen gedruckt, das eingetippt wird.
Die Funktion wird im Englischen manchmal mit "dead keys" bezeichnet, was eine Fehlbezeichnung ist, denn tote Tasten verursachen uumlberhaupt keine Funktion.
Beim Starten des Computers wird der Linux-Kernel von einem sogenannten Boot-Loader in den Arbeitspeicher geladen. Uumlber den Boot-Loader kann man dem Kernel Parameter uumlbergeben - vorausgesetzt, man kennt die amerikanische Tastenbelegung. Die folgenden Abschnitte beschreiben die Moumlglichkeiten zur Konfiguration der Tastenbelegung fuumlr die Boot-Loader von Linux.
Seit der Version 2.0 hat die ehrenwerte Dame die Faumlhigkeit zur Verwendung alternativer Tastenbelegungen. Dem Source-Code liegt das Perl-Skript keytab-lilo.pl bei, mit der man eine der Tastaturbelegungen fuumlr die Textkonsolen in fuumlr Lilo geeignetes Format uumlberfuumlhrt. Beispiel: man moumlchte die Tastenbelegung de-latin1-nodeadkeys.map schon auf dem Lilo-Prompt geladen wissen. Dazu ist folgender Befehl auszufuumlhren:
./keytab-lilo.pl de-latin1-nodeadkeys > /boot/de-latin1-nodeadkeys.ktl
Um dises Belegung zu aktivieren muszlig man in der Konfigurationsdatei /etc/lilo.conf folgenden Eintrag vornehmen und danach das Kommando lilo ausfuumlhren. Die Details koumlnnen sich allerdings von Distribution zu Distribution unterscheiden, weshalb man bitte die mitgelieferten Handbuumlcher konsultiere.
keytable = /boot/de-latin1-nodeadkeys.klt
Die Erde ist in Zeitzonen eingeteilt, innerhalb derer die Tageszeit von der natuumlrlichen Zeit (houmlchster Sonnenstand = Mittag) abweichen kann. Die Tageszeit der Zeitzone kann sogar springen, wie beispielsweise bei der Umstellung zwischen Sommer und Winterzeit. Bei den Zeitzonen handelt es sich also um politische Festlegungen. Fuumlr kleine Laumlnder kann man die Zeitzone uumlber die Hauptstadt auswaumlhlen, also Europe/Berlin, Europe/Vienna oder Europe/Zurich. Hinter diesem Alias-Namen verbirgt sich die tatsaumlchliche Zeitzone, naumlmlich in unserem Fall die Mitteleuropaumlische Zeit (Central European Time, CET) bzw. die Mitteleuropaumlische Sommerzeit (Central European Summer Time, CEST).
Das fruumlher gebraumluchliche MET sollte unter keinen Umstaumlnden weiterverwendet werden. Von Markus Kuhn stammt folgende Information zu diesem Thema: Die Datei MET existiert nur zwecks Ruumlckwaumlrtskompatibilitaumlt. Die Autoren der Zeitzonentabellen (Olson/Eggert/et al.) wollen eigentlich, daszlig deutsche Anwender statt MET die Datei Europe/Berlin verwenden. Dann stimmen sogar die historischen Sommerzeiten vor 1945, die Linux auch alle kennt. Auszligerdem wird dann in der neuesten Version der Zeitzonentabelle "Mitteleuropaumlische Zeit (MEZ)" endlich korrekt ins Englische mit "Central European Time (CET)" uumlbersetzt, denn "MET" ist ein uumlbersetzungsfehler (siehe z.B. Langenscheid Englisch). Ich habe deswegen sogar beim Physikalisch-Technischen Bundesamt nachgefragt, die fuumlr die deutsche Zeit verantwortlich sind.
Der gemeinsame Bezugspunkt fuumlr alle Zeitzonen ist die Universalzeit (Universal Time, UTC), fruumlher auch Greenwich Mean Time (GMT) genannt. Unter Linux laumlsst man die CMOS-Uhr auf der Hauptplatine uumlblicherweise mit UTC laufen. Der Linux-Kernel uumlbernimmt den Wert der CMOS-Uhr beim Systemstart und errechnet daraus die Sekunden seit dem 1. Januar 1970, 0 Uhr (Unix Epoch Time). Intern arbeitet der Linux-Kernel nur mit dieser Sekunden-Zahl, die uumlblicherweise auch in UTC laumluft. Soll dem Anwender ein Datum oder eine Zeit angezeigt werden, dann wird aus der Systemzeit unter Beruumlcksichtigung der Zeitzone und der Lokalisierung (siehe oben) eine Zeichenfolge konstruiert.
Zusammenfassend kann man sagen, dass es unter Linux 3 Zeiten gibt: Die der auf dem Motherboard installierten CMOS-Uhr, die Systemzeit des Linux-Kernels und die dem Anwender von verschiedenen Uhren angezeigte Zeit. Die Kommandozeilen-Werkzeuge hwclock ("hardware clock") und date uumlbersetzen zwischen diesen Uhrzeiten. Folgende Strichzeichnung verbildlicht die Zusammenhaumlnge:
hwclock -u -w date -u -s CMOS-Uhr <-------------- Linux <-------------- (UTC) Systemzeit Anwender-Uhr --------------> (Epoch) --------------> hwclock -u -s date, xclock
Zwar liest der Kernel schon beim Booten die CMOS-Uhr aus und interpretiert sie als UTC. Aber um systematische Fehler der CMOS-Uhr zu korrigieren, wird die Uhrzeit von einem der Systemstart-Skripte im Verzeichnis /etc/init.d/ ein weiteres Mal gelesen. Uumlbernimmt man die Linux-Systemzeit mit dem Kommando netdate von einem Zeit-Server, dann muss man die CMOS-Uhr mit dem Kommando hwclock nachziehen.
Die systemweit gewaumlhlte Zeitzone kann mit der Umgebungsvariable TZ individuell uumlberschrieben werden. Beispiele:
export TZ=Asia/Hong_Kong; xclock & export TZ=UTC; xclock &
Internationalisierung und Lokalisierung sind auch im Englischen lange Woumlrter, weshalb sie mit i18n und i10n abgekuumlrzt werden. Die Zahlen geben an, wieviele Buchstaben in der englischen Schreibweise ausgelassen wurden.
Mit i18n wird die Veraumlnderung eines Programms zur Unterstuumltzung mehrerer Sprachen bezeichnet. Bei diesem Prozess wird normalerweise der angezeigte Text (Menuumls, Meldungen, usw.) vom Programmcode getrennt. Auf diese Weise koumlnnen sich mehrere Uumlbersetzungen denselben sprachenunabhaumlngigen Programmcodes teilen. Ins Deutsche uumlbersetzte Programmeldungen koumlnnen uumlber die Umgebungsvariable LANG ausgewaumlhlt bzw. aktiviert werden. Beispiel:
LANG=de_DE # in Deutschland export LANG
Das Resultat ist nicht immer zufriedenstellend. Beispielsweise sind nicht alle Bibliotheken internationalisiert, so dass sich die Ausgabe-Texte mit Englisch mischen. Die Entwicklung in den vergangenen Jahren laumlsst sich an folgendem Beispiel ablesen:
tar: Kann Archiv 'foo.tgz' nicht oumlffnen: Permission denied
tar: foo.tgz: Cannot open: Keine Berechtigung
i10n bezeichnet die daruumlber hinaus gehende Feinarbeit der Anpassung an nationalen Besonderheiten, wie Datums- und Zahlenformate oder das kulturelle Umfeld. Eine deutsche Lokalisierung wird mittlerweile automatisch mit der LANG-Umgebungsvariable aktiviert. So macht es am meisten Sinn. Bei aumllteren Systemen kann mit der Umgebungsvariable LC_ALL die Lokalisierung eingeschaltet werden. Beispiel:
LC_ALL=de export LC_ALL
Die Einstellungen sollten von allen modernen Linux-Distributionen automatisch vorgenommen werden. Exotischere Lokalisierungen sind zum Beispiel von IBM erhaumlltlich: IBM developer works: universal locales
Sowohl fuumlr die Textkonsole als auch fuumlr X11 existieren Zeichensaumltze, die nicht alle Zeichen aus ISO-8859-1 enthalten. Dies gilt erst recht fuumlr Unicode. Die fehlenden Zeichen (z.B. Umlaute) werden als Leerzeichen oder gar nicht auf dem Bildschirm dargestellt. In diesem Fall hilft natuumlrlich die nachfolgend beschriebene Konfiguration der Anwendungen nicht weiter, sondern es muszlig ein anderer (vollstaumlndiger) Zeichensatz gewaumlhlt werden.
Anwendung Einstellung vorgenommen in/auf
gnuplot set encoding iso_8859_1 /.gnuplotrc xfig Fig*inches: false Xresource xfig -metric Kommandozeilenoption lynx CHARACTER_SET:iso-8859-1 /.lynxrc und /etc/lynx.cfg nn /.nn/init und /etc/nn/setup set data-bits 8 set charset iso-8859-1 tin /.tin/headers Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit elm /.elm/elmrc und /usr/lib/elm/elm.rc charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit pine character-set=ISO-8859-1 /.pinerc und /etc/pine.conf less LESSCHARSET=latin1 Umgebungsvariable joe -asis /.joerc und /etc/joe/joerc dosemu /.dosrc und /etc/dosemu.conf keyboard { layout de-latin1 keybint on rawkeyboard on } X { updatefreq 8 title `DOS in a BOX' icon_name `xdos' keycode } kermit /.mykermrc und /etc/kermit.ini set terminal bytesize 8 set command bytesize 8 set file bytesize 8 set language german set file character-set latin1-iso set transfer character-set latin1-iso set terminal character-set latin1-iso
In Amerika wird hauptsaumlchlich das Papierformat US-Letter verwendet, welches ein wenig breiter und niedriger ist als das in Europa gebraumluchliche DIN A4. Oft muss man Anwendungen ausdruumlcklich auf DIN A4 einstellen. Beispiele:
Anwendung Einstellung vorgenommen in/auf
xdvi XDvi.paper: a4 X-Resource ghostview Ghostview.pageMedia: A4 X-Resource ghostscript -sPAPERSIZE=a4 Kommandozeile dvips Konfigurationsdatei .dvipsrc @ a4size 210mm 297mm @+ %%!PaperSize?: a4
Die Textformate von DOS/Windows-basierten System, Apple-Computern und UNIX unterscheiden sich in zwei Punkten: Zeichensatz und Zeilenenden. Linux macht am Ende einer Textzeile nur einen Zeilenvorschub, Aumlpfel machen nur einen Wagenvorlauf und DOS-basierte Systeme machen beides.
Die Programme fromdos, todos und frommac, tomac wandeln ausschlieszliglich die Zeilenenden um, die Zeichen selbst werden nicht angepaszligt. Gleiches gilt fuumlr die Optionen `conv=auto', bzw. `conv=text' des mount-Kommandos bezogen auf das MS-DOS Dateisystem.
Will man auch die Zeichensaumltze von Texten konvertieren, dann hilft das Kommandozeilen-Werkezeug recode weiter. Durch die Definition von Aliasen kann man sich das Leben etwas einfacher machen:
alias unix2dos='recode lat1.ibmpc' alias dos2unix='recode ibmpc.lat1' alias unix2mac='recode lat1.mac' alias mac2unix='recode mac.lat1'
Die folgenden Uumlberlegungen betreffen nur Text-Dateien. Grafiken oder die Ausgabe von Textverarbeitungen werden als Punktmuster zum Drucker geschickt und sind daher nicht betroffen.
Gaumlngige Drucker-Modelle erwarten Texte im DOS-Format. Schickt man eine Textdatei im Unix-Format zum Drucker, dann erhaumllt man einen Treppenstufen-Effekt, weil der Text am Ende der Zeile keinen Wagenruumlcklauf aufweist. Beispiel: lpr /etc/nsswitch.conf. Entweder konvertiert man Textdateien wie oben beschrieben in das DOS-Format oder man wandelt sie mit Werkzeugen wie atp, mpage, a2ps, ascii2ps, encode oder gencode in das
Linux-Distributionen Drucker-Treiber.
The Linux German Howto explains how to enable German specific features for Linux applications as well as for the Linux system. But what is German specific? If you have been to the worlds largest computer exhibition CeBIT in Hannover, you may consider traditional leather costumes, white sausages, (real!) beer and perfectely ironed underwear to be typical for germany. Please beg my pardon that I can't comment on the underwear part or else this Howto would at least get a R-rating, which would trigger questions about distribution restrictions and their impacts for free software and !OpenSource and !OpenDocumentation? and so on. In the end we will surely have an !OpenRating? as well. Pure horror.
Regarding the other three points about germany mentioned above, these are correct as you may already have figured out yourself. Believe me, I'm just wearing such a traditional costume while typing the text in front of his computer. Everybody does all the time. Even my computer wears a leather costume, or else it would not be germany! Built into the leather case is a sound microprocessor to turn the simple PC-beep into an original south german yodel. Can you already see the alp mountains?
So what else is german specific? Maybe your friendly stewardess told you the waiter at a restaurant "is not offensive but doing regular service to you" before your plane arrived at the german airport. Cultures clashing into each other. Of course the waiter is doing his best, but at least the americans are not willing to understand. Example: In my home town the waiters are employed to serve the beer. This is a fundamental different concept than just aiming at bloody customer satisfaction. It counts that the beer can flow down your throat in a fresh state. The beer must be satisfied. Think of it as a religious believe. Next time the american president secretly visits me, I will explain and show him all the details. Promised.
Also quite typical for German are long words and long sentences. Example: The German translation of Howto is Sowirdsgemacht. More than double as long. My words are longer than yours. Ha! We can even go for extremes like in Dampfschifffahrtspensionskassenchefsekretaumlrinnenhalbjahresbetriebsausflugsbudget. The typsetter will surely hate me for using such a long word. D78g, now all-together: Nyia-hahaha. As you can imagine, most applications will die because of string buffer overflows when german users start to type in their unusal long words. That is what the German Howto is about.
Not to forget our German speaking friends at the south: Austria and Switzerland. Read this Howto and learn how to manage your secret swiss bank account from within Linux. Making money fast is twice as much fun then.
Well, before I completely destroy the image of over-serious germans, lets come to the point. Linux is developed by a world wide community of hackers on the internet. Their least common denominator for communication is English and that works quite acceptable. The situation for users is different. In order to do their work, they have to use the native language and the specifics of their country. Examples: characters, time zones and numbering conventions. Luckily Linux is so widespread, that national markets have already become a target for Linux distributions. In other words, most adaptions are already built in. In this context the KDE project should be mentioned, as it surely has set milestones for the amount, ease and completeness of internationalization in applications. The German Howto honors this evolution by concentrating on basic knowledge instead of endless parameter listings.
The English part of the Howto is much shorter than the German one. It is only inteded as an overview of the situation.
(c) Winfried Truumlmper <me@wt.xpilot.org> 1994-2001. All rights reserved.
Distribution and use of this document are allowed under the following restrictions: The name of the author must not be used to endorse or promote products based on the German Howto and modified versions must be clearly identified as such.
Text, illustrations and programs in this Howto were crafted carefully. Nevertheless the chance of an error is always there. Because of the complexity and the frequent changes of computer systems, the author disclaims all warranties with regard to this document, including all implied warranties of merchantability and fitness for a certain purpose; in no event shall the author be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use of this document.
Short: use this Howto at your own risk.
Linux Howtos fill the gap between books and short readme files. They explain one subject in a detailed fashion. To fullfill this goal, the Linux Documentation Project (LDP) has created a infrastructure consisting of authors, tools and distribution channels. The Linux German Howto is part of the LDP and thus available like all other Howtos. Either on the LDP homepage or under the directory /usr/share/doc/howto/ on a typical Linux installation. Printed collections of Howtos published by various companies are available at your local bookstore.
The latest version of this document can be downloaded from my homepage.
Corrections and suggestions should be sent via email to my address me@wt.xpilot.org. Paid contracts for product placements in the introduction are also welcome.
This is a small list of Linux portals, which are maintained and updated frequently:
Linux in Oumlsterreich
Linux in der Schweiz
Linux.de
Pro Linux
A large number of local Linux User Groups exists in Austria, Germany and Switzerland. You can find them in the directories of most German Linux Portals. Country wide associations are the Linux-Verband, which aims more at commercial members, and the German Unix User Group (GUUG), which aims at system administrators. Three large conventions are held each year, the
Linux-Kongress and the
events are usally organised by the Linux User Groups and can be found in the calendars. The newsgroup hierarchy de.comp.os.unix.linux.* is a quite busy part of the german usenet. The same is true for the IRC channels
The traditional character sets for central europe are ISO-8859-1 and ISO-8859-15 (including the euro symbol). Please see the german part of this Howto for an excerpt of ISO-8859-15. Unicode covers both sets, but only few users have applications with full support for unicode. That may change in the future.
Conversions of the character sets have also be done when exchanging texts between Unix/Linux, Macintoshs and DOS/Windows systems. It is not enough to just convert the line endings. This is also true for printing; most printers expect the DOS-style text format. (When printing from word processors and such, high quality binary bitmaps are sent to the printer, which are not affected by character set and line ending problems.)
Quite annoying is the fact that y and z are exchanged compared to an english keyboard. Not to speak of the special characters like the slash. Now imagine you want to type yes and it always gives zes. Or you want to type /dev/sda and it gives ?dev?sda. Short: a keyboard mapping is required in europe. Every european country has its own keyboard layout. The right mapping can be choosen at installation time for all modern Linux distributions. Suitable for germany and austria is de-latin1-nodeadkeys, whereas the swiss people need sf-latin1 (swiss-french) or sg-latin1 (swiss-german).
Please keep in mind that the loadkeys command only helps for a properly started system. To have the correct mapping even for the Lilo boot prompt, you have to create a key mapping with keytab-lilo.pl and configure Lilo to use that mapping.
The character set ISO-8859-1 shares the first 128 characters with US-ASCII and defines another 128 characters on top of it. To type in all these characters on the keyboard, it would be necassary to map up to four symbols per key. For cases where you access the complete set only occasionally,such a mapping would be a too high learning effort. One solution is the use of the compose key. After pressing the compose key, which is usally mapped to the right control key, the next character is not displayed but instead printed over the following character. Example: the sequence Right-Ctrl A is composed as the character Atilde (capital a with a tilde on top).
An alternative is the feature of always composing keys. Under such mappings, characters like are never displayed but always printed over the following character. Usally this feature is refered to as dead keys, which is a little bit misleading. I'm not aware of anybody using the dead keys feature.
On january 1st 2002, the last step of the currency union in europe was performed. Since then the currency is euro and its fraction is cent. Although there is a special currency symbol in ISO-8859-15 and in unicode, you can safely use the ISO currency code EUR for euro as you used ATS for austrian schillings or DEM for deutsche marks before. Please note that switzerland (CHF, swiss francs) is not part of the european union.
There is nothing special about XFree86 for German users. Howevery, several hardware manufactures asked me for the correct setting, which is why I'm citing them here.
Section "!InputDevice?" Driver "Keyboard" Identifier "Keyboard[0?" Option "Protocol" "Standard" Option "!XkbLayout?" "de" Option "!XkbModel?" "pc104" Option "!XkbRules?" "xfree86" Option "!XkbVariant?" "nodeadkeys"
Section "Keyboard" Protocol "Standard"
The time zones for central europe are CET (Central European Time) and CEST (Central European Summer Time) respectively. However, system administrators are expected to use one of the aliases Europe/Berlin, Europe/Vienna or Europe/Zurich. This gives correct results even before the Unix Epoch.
Internationalization and lokalization are unusal long words (but not as long as D78g, see above) and thus abreviated by i18n and i10n. The numbers indicate how many characters have been left out.
I18n denotes the changes to the program code in order to have a multi lingual output. A common implementation is to seperate the messages from the code. This way several translated texts share the same code base. German messages are activated with the LANG environment variable. Examples:
LANG=de_DE # for germany export LANG
The result is not always satisfying, because not all applications and libraries are internationalized. It may happen that German and English messages are mixed like in the following example, which also illustrates the evolution of the problem:
tar: Kann Archiv 'foo.tgz' nicht oumlffnen: Permission denied
tar: foo.tgz: Cannot open: Keine Berechtigung
German messages alone don't make much sense. Applications must also display the data using the correct format. Example: 08.07.2001 instead of 07.08.2001 or EUR 10.000,32 instead of EUR 10,000.32. You get the idea. The required changes to the programm are denoted as i10n. Today the LANG variable also activates the associated locale.
The standard paper size in europe is DIN A4, which is a little bit smaller and taller than US-letter. The aspect ratio of height vs. width is the square root of two. All sizes are derived from A0 by a centered cut at the longer side.
Das erste Kapitel in Deutsch, das zweite in Englisch. Was liegt naumlher, als im Dritten beide Sprachen zu mischen? Zur genaueren Eroumlrterung dieser Frage moumlchte ich an dieser Stelle ein Beispiel aus der Welt der Programmiersprachen geben. Programmiersprachen haben den Vorteil, dass sie einen einfachen Grund-Wortschatz aufweisen und nicht gesprochen werden, d.h. reine Schriftsprachen sind. Vorranging um Schriftsprache geht es ja bei der einleitenden Frage.
system("rm wochenplan.pdf");
unlink("wochenplan.pdf");
Auch Programmiersprachen lassen sich mischen, wie im Beispiel gezeigt wird. Die Perl-Funktion system ruft den Bourne-Interpreter auf, der seinerseits das externe Programm rm zur Entfernung der Datei geschaumlftsbericht.txt aufruft. Eine Recht komplizierte Vorgehensweise, welche aber oft in Computer-Programmen von Anfaumlngern zu finden ist, denen noch die Erfahrung im Umgang mit der Sprache fehlt. Das fehlende Wissen uumlber die Funktion unlink wird kompensiert durch die Kombination der Universal-Funktion system mit dem Wissen uumlber das externe Werkzeug rm zur Entfernung von Dateien. Auf diese Weise ist das Programm in kuumlrzester Zeit lauffaumlhig.
Jeder erfahrene Perl-Programmierer wird bei der oben gezeigten Mischung der Sprachen einen Schrei des Entsetzens ausstossen, weil er um die damit verbundenen Gefahren weiss. Die Bedenken sind technischer Art, zum Beispiel koumlnnten sich rm oder der Bourne-Interpreter spaumlter anders verhalten, schliesslich sind beide nicht Teil von Perl als Sprache. Als Folge koumlnnte die Datei nicht oder eine andere Datei geloumlscht werden. Und weil das in der Praxis tatsaumlchlich vorkommt, wird immer wieder geraten, die Moumlglichkeiten einer Programmiersprache auszuschoumlpfen, bevor man andere Sprachen hinzumischt.
Leider ist es in den letzten Jahren uumlblich geworden, viel Englisch in die Deutsche Sprache zu mischen, obwohl dazu keine Notwendigkeit besteht. Aber bevor ich auf die moumlglichen Ursachen eingehe, ist es noch notwendig, den Bezug zu den Programmiersprachen herzustellen. Die deutsche Schriftsprache ist sicherlich sehr viel komplexer als Perl. Trotzdem ist der Zweck in beiden Faumlllen gleich: Informationen zu uumlbermitteln, ohne dass deren Urheber zugegen waumlre. Bei einem Buch werden in Abwesenheit des Autors Informationen an den Leser uumlbermittelt, bei einem Programmtext an den Prozessor des Rechners. Genau das ist der Unterschied zur gesprochenen Sprache, bei der immerhin eine unterstuumltzende Betonung gegeben werden kann, wenn nicht sogar der Autor persoumlnlich zugegen ist und auf diese Weise Gesten oder Ruumlckfragen moumlglich sind. In diesem Sinne gehoumlrt auch eine eingetippte Plauderei (engl. chat) im IRC, den virtuellen Raumlumen oder im Heise Newsticker trotz der Verwendung von Buchstaben eher zur gesprochenen Sprache.
Man kann also festhalten, dass es fuumlr die Informationsuumlbermittlung Medien mit verschiedenen Bandbreiten gibt. Papier ist sozusagen das alte Modem, getippte Plaudereien sind schon DSL und die Anwesenheit vor Ort ist 100base-T Ethernet. Der Ruumlckschluss "Im Chat haben mich immer alle verstanden, daher brauche ich zum Schreiben eines Buch keine Grammatik-Kenntnisse" fuumlhrt daher nicht zum Erfolg: Was bleibt von einem Video uumlbrig, das von DSL-Qualitaumlt auf Modem-Bandbreite herunterproduziert wird? Ich will an dieser Stelle nicht den vielzitierten Untergang des Abendlandes heraufbeschwoumlren, aber die Notwendigkeit und die Vorteile von Schriftsprache fuumlr unsere Kultur sollte man schon verstaumlndlich vermitteln. Eine immer komplexer werdende Welt erfasst man besser mit einer guten Schriftsprache.
Drei Ursachen fuumlr die Verenglischung der Deutschen Sprache stellen sich mir dar:
der englischen Bezeichnungen. Beispiele: LCD-Display statt LCD-Anzeige, Music Awards statt Musikpreise, Server-Cluster statt Server-Gruppe oder Open-Air-Konzert statt Freiluftkonzert.
*
unreflektiert in andere zu uumlbernehmen. (Siehe oben.)
*
hin zur Mystifizierung, man koumlnne to mount nicht mit montieren uumlbersetzen, weil noch andere (unerforschte?) Bedeutungen in "mount" stecken wuumlrden.
*
Natuumlrlich gibt es auch den umgekehrten Fall, naumlmlich dass deutsche Worte hin und wieder in der englischen Sprache verwendet werden. Beispiele: Kindergarden, Autobahn oder heimlich. Aber dieser Anteil ist ohne Bedeutung und bleibt tatsaumlchlich im Rahmen einer Bereicherung der Sprache, nicht der einer Verdraumlngung.
Die derzeitige Verenglischung des Deutschen halte ich aus den skizzierten Gruumlnden fuumlr bedenklich, aber nicht fuumlr unausweichlich. Einzelne gewaltsam uumlbersetzte IBM-Handbuumlcher vergangener Tage sind zumindest fuumlr mich kein Argument, nicht nach besseren Loumlsungen zu suchen.
No other page links to HowToGermanHOWTO yet.
lib/main.php:944: Notice: PageInfo: Cannot find action page