VOICE Homepage: http://de.os2voice.org |
[Vorherige Seite] [Nächste Seite] [Artikelübersicht] |
März 2001
editor@os2voice.org
Ich nutze Emacs nun schon eine ganze Weile unter OS/2. Die letzte stabile
Version, die ich benutzt habe, war der Port von Eberhard Mattes, Version
19.33. Vor etwa einem Jahr habe ich versucht, den neuen Port der Version
20.3 von Jeremy Bowen zu installieren. Ich habe es nicht so hinbekommen,
wie es sein sollte und die Idee, meinen Emacs auf neueren Stand zu bringen
beiseite gelegt, da auch der Portierungs-Enthusiamus nachließ. Im
November 2000 brachte Jeremy Bowen den OS/2-Port der Version 20.6 heraus
und da ich nach einem üblen Festplatten-Crash gezwungen war, meine
komplette Arbeitsumgebung neu einzurichten, beschloß ich, es noch
einmal zu versuchen.
Schließlich schaffte ich es, alles so zum Laufen zu bringen,
wie es sein sollte und war sogar in der Lage, Pakete wie z.B. mailcrypt
zu installieren, die ich aus unbekannten Gründen nicht unter Emacs
19.33 für OS/2 installieren konnte.
Im Dauertest zeigte sich dann, daß der neue Port sich auf meinem
Computer durchaus stabil verhält,
solange nur interne Funktionen verwenden werden. Bei der Interaktion
mit externen Programmen wie beim
Senden von Mail kommt es jedoch nach wiederholten Aufrufen, etwa mehrere
Mails hintereinander
versenden, zu regelmäßigen Abstürzen. (Anm. d. Red.:
Jeremy Bowen bezeichnet diese Version selbst als Beta.)
Ich empfehle Ihnen daher, Ihre alte Emacs Installation nicht zu voreilig
zu löschen. Für interessierte
Neunutzer nochmal in anderen Worten: Solange Sie Emacs 20.6 nur zum
Editieren verwenden wollen,
sollten Sie keine Berührungsängste haben. Als Mailprogramm
jedoch eignet sich auch dieser Port noch
nicht. Wollen Sie Emacs also intensiv im Zusammenspiel mit anderen
Programmen verwenden, sollten Sie
Emacs 19.33 in Betracht ziehen.
Im folgenden erhalten Sie eine allgemeine Schritt für Schritt-Anleitung zur Installation von Emacs unter OS/2. Diese ist jedoch nicht als Ersatz der Emacs oder zusätzlichen Paketen beiliegenden README-Dateien gedacht.
Wann immer Sie dieses Symbol sehen, geht der darauf folgende Text auf Probleme ein, auf die ich bei der Installation von Emacs und einigen elisp-Paketen gestoßen bin und zeigt Workarounds und Modifikationen, die ich zur Lösung der Probleme vorgenommen habe.
Die Distribution umfaßt die vier Dateien e206base.zip, e206el1.zip, e206elc.zip und e206rest.zip mit einem Gesamtumfang von etwa 14 Megabyte. Sie müssen nur die ersten drei herunterladen, aber ich empfehle alle vier, da die vierte die gesamte Dokumentation und Anleitung enthält.
Ich empfehle Ihnen besonders, die gnuserv-Distribution (@Hobbes) für OS/2 herunterzuladen, da diese Portierung von Emacs keinen emacsclient enthält.
Außerdem brauchen Sie etwa 50MB freien Platz auf einem HPFS-Laufwerk für die Installation und UnZip, um die Archive zu entpacken.
Falls Sie noch nie mit der GNU/EMX-Umgebung unter OS/2 gearbeitet haben, müssen Sie auch die Dateien für die EMX Runtime-Bibliothek herunterladen. Die zum Zeitpunkt des Verfassens aktuelle Version ist EMX 0.9d, fix level 3. Wie Emacs selbst kann sie von Hobbes (WWW, FTP) oder Leo (WWW, FTP) bezogen werden. Stellen Sie sicher, daß Ihre GNU/EMX-Umgebung korrekt installiert und auf dem neuesten Stand ist, bevor Sie mit der Installation von Emacs beginnen.
Wenn Sie Emacs in einer vollen GNU/EMX-Umgebung nutzen wollen, sollten Sie auch eine Un*x-kompatible Kommandozeilen-Shell wie die bash Shell (@Leo) oder die korn Shell (@Leo) installieren. Meines Wissens ist Emacs in der Lage, intern mit der OS/2 Shell cmd.exe zu arbeiten, aber ich habe dies nicht intensiv getestet. Falls Sie nicht vorhaben, Kommandos des Betriebssystems von innerhalb Emacs zu benutzen, brauchen Sie sich erst einmal nicht weiter darum zu kümmern. Sie können die Shell auch später installieren.
Kopieren oder verschieben Sie alle vier Dateien der Distribution in das Wurzelverzeichnis des Laufwerkes, auf dem Sie Emacs installieren wollen. Emacs wird dann mit unzip e206*.zip nach x:\emacs\20.6\ ausgepackt und ich empfehle dringend, die Standardpfade nicht zu ändern.
Lesen Sie auf jeden Fall die Datei readme.os2 in x:\emacs\20.6\.
2)
Fügen Sie der Anweisung SET PATH in Ihrer CONFIG.SYS-Datei den Pfad zu Emacs hinzu:
SET PATH=[...];x:\emacs\20.6\bin;[...];
Fügen Sie folgendes Ihrer CONFIG.SYS hinzu. Ersetzen Sie x: durch das Ihrem System entsprechende Laufwerk und SYSTEMNAME durch einen beliebigen Namen.
REM *** Emacs 20.6 ***
SET SHELL=x:/emx/bin/sh.exe
SET SYSTEMNAME=ohei
SET TMP=x:\tmp
SET TMPDIR=x:/tmp
Falls sich die folgenden Angaben nicht bereits in ähnlicher Form von einer bestehenden GNU/EMX-Installation her in Ihrer CONFIG.SYS befinden, fügen Sie sie hinzu:
SET TERM=ansi
SET TERMCAP=x:/emx/etc/termcap.dat
SET INFOPATH=x:/emx/info
SET HOME=x:/home
SET NAME=Oliver Heidelbach
SET USER=ohei
3)
Damit sind Sie grundsätzlich fertig, alles obere gehörte zum Standardprozedere. Allerdings mußte ich die folgenden zusätzlichen Schritte durchführen, um alle Komponenten glücklich zu machen. Ich denke, daß dies mit hartkodierten Pfaden, die sich noch im Port befinden, zu tun haben könnte.
Damit sollten Sie nun fertig sein. Starten Sie Ihren Rechner neu, wechseln Sie auf der Kommandozeile ins Verzeichnis x:\emacs\20.6\bin und erstellen Sie Emacs mit Hilfe der Batchdatei dump.cmd..
Schauen Sie sich auch einmal die Befehlsdatei instemacs.cmd an - rufen Sie sie ohne Parameter auf, um zu sehen, was sie für Sie tun kann.
5) - empfohlen
Erstellen Sie ein Verzeichnis x:\emacs\lisp. Plazieren Sie dort alle zusätzlichen elisp-Pakete und -Dateien. Auf diese Weise haben Sie Ihre aktuelle Emacs-Distribution immer sauber von zusätzlich installierten Dateien getrennt. Dies wird Ihnen sehr viel Zeit ersparen, wenn Sie die nächste Emacs Version installieren.
Erzeugen Sie ein temporäres Verzeichnis oder benutzen Sie eins,
das Sie eh schon für solche Zwecke bereithalten. Kopieren Sie die
gnuserv-Distribution os2_gnuserv_r3.zip in dieses Verzeichnis
und entpacken Sie sie. Kopieren oder verschieben Sie die drei *.exe
Dateien ins x:\emacs\20.6\bin Verzeichnis. Kopieren oder verschieben
Sie die Datei gnuserv.el ins Verzeichnis x:\emacs\lisp.
Wenn Sie in Ihrer Umgebung auch die man-Dokumentationsseiten im Un*x-Stil
nutzen möchten, kopieren oder verschieben Sie die Datei gnuserv.1
nach x:\emx\man\man1 oder das Ihrem System entsprechende Verzeichnis.
7) - optional
Es ist außerdem eine gute Idee, alle info-Dokumentationsdateien in ein Standardverzeichnis zu kopieren. Das ist wahrscheinlich x:\emx\info , je nachdem wo Sie GNU/EMX installiert haben. Kopieren oder verschieben Sie alle info-Dateien aus x:\emacs\20.6\info nach x:\emx\info\. Kopieren/verschieben Sie nicht die Datei dir, da Sie sonst Ihre aktuelle überschreiben. Ich empfehle, den Inhalt der bei Emacs enthaltenen Datei dir in diejenige in Ihrem GNU/EMX-Verzeichnis zu kopieren, falls die Emacs-bezogenen Einträge dort fehlen.
Abb.1: Die Emacs-Verzeichnisstruktur
Wenn es um die Konfiguration von Emacs geht, sind zwei Dateien von Interesse, von denen eine namens site-start.el bereits Teil der Standardinstallation ist und sich im Verzeichnis x:\emacs\20.6\lisp befindet. Die andere namens .emacs müssen Sie in Ihrem Home-Verzeichnis anlegen - das Verzeichnis, auf das die Umgebungsvariable HOME in Ihrer CONFIG.SYS zeigt.
Hintergrundinformation: Emacs stammt von der Un*x-Plattform her, bei der es sich um eine Multi-User-Umgebung handelt. Daher gibt es zwei Konfigurationsdateien, eine für die ganze Site (site-start.el, Sie haben's erraten) und eine für jeden einzelnen Nutzer, die Datei .emacs im Heimverzeichnis des Nutzers. Diese Unterschiede existieren unter OS/2 nicht. Ich persönlich tendiere dazu, unter OS/2 nur site-start.el zu nutzen und überhaupt keine Datei .emacs anzulegen. Dennoch funktionieren beide Dateien bei der Konfiguration und beide sind unter OS/2 gültig.
Bitte beachten Sie, daß es keine allgemeine Konfiguration außer der einfachen nach der Installation gibt. Alles andere wird sich mehr oder weniger von Nutzer zu Nutzer unterscheiden. Das bedeutet auch, daß alles, was Sie in den Emacs Konfigurationsdateien ändern oder diesen hinzufügen, Emacs' Verhalten ändert. Denken Sie daran, wenn Sie Fragen zur Konfiguration haben und die Dateien bereits geändert haben.
Anmerkung: Emacs Version 20.x besitzt ein "Customization"-Menü - siehe Hilfe in der Menüleiste - mit dem Sie alle Emacs-Pakete/Modi etc. einstellen könen, die dies unterstützen. Es folgt eine Übersicht über grundlegende Konfigurationsschritte für Emacs 20.6 für OS/2, bei der auch Probleme, denen ich bei der Konfiguration begegnet bin, angesprochen werden und ich ein paar nützliche Hinweise gebe. Dabei wird jedoch nicht auf die Konfiguration über das Menü eingegangen.
Fügen Sie folgendes zur Datei site-start.el hinzu:
(setq load-path (append '("x:/emacs/lisp/") load-path))
Emacs 20.6 enthält keine TAGS Dateien, weshalb Sie all diese Dateien selbst erzeugen müssen. Dies geschieht mit dem Programm etags in Verzeichnis x:\emacs\20.6\bin.
Als ich genau dies tun wollte, bekam ich jedesmal eine Fehlermeldung und nichts passierte. Als ich jedoch das etags Programm aus der Emacs 19.33 Distribution benutzte, konnte ich sofort alle TAGS Dateien erzeugen.
Allerdings konnte ich die kontextabhängige Hilfe damit immer noch nicht innerhalb Emacs benutzen. Jedesmal wenn ich [C-h v] oder [C-h f] eingab, bekam ich eine andere Fehlermeldung bezüglich der Datei fns-20.6.1.el im Verzeichnis x:\emacs\20.6\bin. Es stellt sich heraus, daß diese Datei am Ende Müll enthält. Um das Problem zu beheben, laden Sie sie in Emacs und löschen Sie den Müll.
Die Datei sollte so enden:
... dont-compile eval-when-compile eval-and-compile)
)))
Nun steht Ihnen die kontextabhängige Hilfe zur Verfügung.
Abb.2: Kontextabhängige Hilfe in Emacs
Laden Sie ein funktionierendes etags-Programm herunter. Plazieren Sie die Dateien im Verzeichnis x:\emacs\20.6\bin. Zur Erleichterung habe ich eine Batch-Datei namens makeetags.cmd beigelegt, die alle standardmäßigen elisp-Verzeichnisse durchläuft und die TAGS Dateien erzeugt. Sie müssen diese Datei von innerhalb des x:\emacs\20.6\bin Verzeichnisses aufrufen, damit sie korrekt arbeiten kann.
Wenn Sie Gnuserv installiert haben, fügen Sie folgendes Ihrer site-start.el hinzu:
(require 'gnuserv) (gnuserv-start) (setq gnuserv-frame (selected-frame))
Genauso weiß Emacs standardmäßig nichts über Ihre Bildschirmauflösung. Sie werden also das Emacs-Fenster vergrößern wollen, um es an eine Auflösung von 1024*768 anzupassen.
Wahrscheinlich möchten Sie auch eine andere Schrift für die Menüs auswählen.
Versuchen Sie folgendes:
(if (eq window-system 'pm) (setq default-frame-alist (append '((altgr-modifier . meta) ;; AltGr (and AltCar) generate M- (alt-modifier . meta) ;; Alt generates M- (alt-modifier . alt) (shortcuts . (alt-f4)) ;; Disable all shortcuts but Alt+F4 (width . 81) (height . 43) ;; for 1024*768 screens (top . -2) (left . 280) ;; (font . "10.System VIO") ;; (menu-font . "2.System VIO") ;; Use small font for menus (menu-font . "8.WarpSans Bold")) default-frame-alist)))Experimentieren Sie etwas mit der Fenstergröße und den Schriften, bis Sie zufrieden sind. Wie Sie vielleicht schon erraten haben, kennzeichnet ein Semikolon den Rest einer Zeile als Kommentar.
Fügen Sie folgendes Ihrer site-start.el hinzu und ändern Sie die Angaben Ihrem System entsprechend:
(let ((etc (getenv "ETC")) mbox) (setq etc (if etc (replace-char-in-string etc ?\\ ?/) "x:/mptn/etc/")) (setq etc (expand-file-name etc)) (if (not (string-match "/$" etc)) (setq etc (concat etc "/"))) (setq mbox (concat etc "mail/inbox.ndx") ;; Lamailer format ;; (setq mbox (concat etc "mail/ohei") ;; Unix format rmail-spool-directory (concat etc "mail/") rmail-primary-inbox-list (list mbox) display-time-mail-file mbox ) )In der Datei readme.os2 heißt es, daß rmail nun funktionieren sollte. Das tat es bei mir nicht und es widersetzte sich hartnäckig meinen Konfigurationsversuchen.
Falls Ihre lokale POP3-Mailbox ein Un*x-Format hat, scheint alles in Ordnung zu sein, aber wenn Sie das lamailer-Format benutzen, scheint das Abholen der Mail aus der lokalen Mailbox nicht zu funktionieren. Ich erhielt ständig die Fehlermeldung "Cannot convert to babyl format", wenn ich versuchte, die neue Mail mit rmail zu laden. Das Problem ist das movemail-Programm aus der Emacs-Distribution, welches sich im Verzeichnis x:\emacs\20.6\bin befindet. Nachdem ich so ziemlich jedes für OS/2 erhältliche POP3-Mailtransportprogramm ausprobiert hatte, habe ich das alte movemail-Programm aus der Emacs 19.33 Distribution installiert und das Problem verschwand sofort.
Plazieren Sie die ausführbare Datei in x:\emacs\20.6\bin.
Vergessen Sie außerdem nicht, folgendes Ihrer Konfigurationsdatei hinzuzufügen und entsprechend Ihrer Umgebung anzupassen:
(setq user-mail-address "you@domain.com" user-full-name "Vorname Nachname" ;; for sendmail or feedmail ) (setq sendmail-coding-system 'iso-latin-1)Meine site-start.el enthält eine umfassendere Konfiguration der mail/rmail-Umgebung.
Nun sollten Sie alle Hürden der grundlegenden Installation der Version 20.6.1 von Emacs für OS/2 genommen haben.
Teil 2 dieser Anleitung wird sich mit der Einrichtung einiger zusätzlicher elisp-Pakete wie mailcrypt und bbdb beschäftigen. Außerdem versuchen wir uns an der Einrichtung einer von Mule unabhängigen ISO-8859-1 Umgebung für Mail und normales Editieren.