Installation: „poppler“ von GIT

Ich hatte Probleme mit „Poppler“ unter CYGWIN, sodass die Befehle „pdftotext“ usw. nicht funktionierten. Die Lösung Installation direkt von GIT:

git clone https://github.com/danigm/poppler
cd poppler
./autogen.sh
./configure
MAKE
MAKE Install

./configure unter CYGWIN

Zwischenzeitlich können einige Fehlermeldungen auftauchen, also nicht ins Boxhorn jagen lassen. Nach diversen Nachinstallationen von fehlenden Compilern und Paketen funktioniert dann alles. Fazit: Etwas Geduld mitbringen.

CYGWIN vs. RASPBERRY

Einleitung

Ein bisschen Linux zum Mitnehmen, gerne am Windows-PC. Aber was empfiehlt sich nun für unbedarften Neuling? Mit welchem System wir nachhaltiger gelernt und ein tiefes Verständnis für die angewendete Technologie entwickelt.

Zwei Systeme stehen bei mir zur Auswahl, zum einen ein Raspberry mit aktuellem Betriebssystem und Fernzugriff via VNC. Zum anderen CYGWIN (Cygwin Hompage), eine Software die das Abspielen von Linux Applikationen auf Windows Rechnern ermöglicht.

Raspberry

Der Raspberry ist ein kleiner Computer. Die Kosten des Gerätes belaufen sich auf ca. 30€, zusammen mit Speicherkarte, Netzteil, Gehäuse, Maus, Tastatur und Kabel summiert sich ein Komplettsystem auf ca. 50-60€.

Über den HDMI Anschluss kann das Gerät an fast jeden neueren TV angeschlossen werden. Das Betriebssystem, wenn nicht schon vorhanden, wird auf der SD-Karte gespeichert. Frei nach dem Motto: Plug&Play – hereinstecken, zusammenbauen und fertig.

Ab hier beginnt das Abenteuer. Es gibt eine schier unendliche Anzahl von Anleitungen und Projektvorschlägen. Zig Zeitschriften und Internetportale beschäftigen sich mit dem Raspberry. Die meisten Tutorials sind pädagogisch sinnvoll aufbereitet, dass Laien und Kinder, mühelos die gesteckten Ziele erreichen können. Wie heißt es schön, man(n) wächst mit den Aufgaben.

Die große Anzahl an Fans und die hohen Verkaufszahlen lassen den Schluss zu, dass der Raspberry einen ähnlichen Einfluss auf die Jugend von heute haben kann, wie der legendäre C64 am Ende der achtziger Jahre.

Für meine Aufgaben greife ich auf die Geräte mit dem RealVNC Player zu, für Anwendungen auf Konsolen-Ebene benutze ich das Windows-Tool „Putty“.

Raspberry Desktop via VNC

Fazit: Die Brombeere macht nicht nur Spaß, sondern bei jeder Aufgabe wird Wissen vermittelt. Leider ist der Betrieb einer Brombeere mit Kosten verbunden.

CYGWIN

CYGWIN ist eine Software, welche die Möglichkeit eröffnet Computerprogramme von UNIX, BSD oder Linux-Betriebssystemen auf dem Windows Betriebssystem (ab Vista) lauffähig zu machen. Eine Integration von klassischen Linux-Applikationen in Windows ist damit möglich:

KDE Menü in Windows Taskleiste

Die Installation gestaltet sich auf den „ersten“ Blick einfach. Das „Nachinstallieren“ von Applikationen oder einzelnen Bibliotheken glich bei mir einem Glücksspiel. Bei CYGWIN erfolgt die nachträgliche Installation über den CYGWIN Installationssatz, ein recht umständliches Vorgehen. Wer die Installation in der Form: "sudo apt-get install xyz" gewohnt ist, der muss sich umstellen.

Vergleichskriterien

Um eine realistische Bewertung abzugeben vergleiche ich die beiden Systeme anhand folgender Kriterien:

Bedeutung Wertigkeit von: 1 Wertigkeit bis: 5
Installation Laie Ingenieur
Nachinstalltion schnell langsam
Bedienung intuitiv kompliziert
compiling from GIT klappt sofort aufwändig
Spaßfaktor Spaß Frust

Ergebnis:

Raspberry CYGWIN
Installation 2 2
Nachinstallation 2 3
Bedienung 3 3
compiling from GIT 3 4
Spaßfaktor 2 3
Gewichtung 2,4 3,0

Am Ende liegen unsere Kandidaten so gut wie gleich auf. Wer einen Allround-PC mit viel Spaß und eine große Helfergemeinde sucht, der ist beim Raspberry gut aufgehoben. Abschrecken können hier nur die Investitionskosten von maximal 100 Euro. Die CYGWIN Variante bietet nicht den Charme eines kleinen Computers, wartet aber mit Linux Funktionalitäten unter Windows auf, also eher etwas für Softwareentwickler die beide Welten, Windows und Posix, bedienen. Ich persönlich nutze den Raspberry, da Installation und Nachinstallation im Vergleich zum CYGWIN ein Kinderspiel ist.

Dateitransfer zwischen Windows und Raspberry mit pscp

Schnell ein paar Dateien zwischen Windows und dem Raspberry hin und herschieben ist, wenn nicht gerade ein VNC Server benutzt wird, mit Aufwand verbunden.

Für schnellste Lösungen benutze ich das Tool „pscp“. PSCP stet für (p)utty (s)ecure (c)o(p)y“. Wer dieses Tool nutzen möchte, der benötigt Putty auf seinem Windows Rechner.

Und schon kann es losgehen …

pscp *.txt pi@192.168.YYY.XXX:/

Mit diesem Befehl werden alle Dateien mit der Endung: „.txt“ aus dem lokalen Verzeichnis, in dem ich mich gerade befinde, an den Raspberry mit der Adresse 192.168.YYY.XXX geschickt. Die Daten werden in das „home“ Verzeichnis des Nutzer (in unserem Fall „pi“) geschrieben. Eine Abwandlung dieser Zeile könnte z. B. lauten:

pscp c:\text\*.txt pi@192.168.YYY.XXX:/text

Jetzt werden alle Dateien mit der Endung: „.txt“ aus dem Verzeichnis „c:\text“ in das Verzeichnis „/home/pi/text“ auf dem Raspberry geschrieben. Das Kopieren einer einzelnen Datei wird wie folgt durchgeführt:

pscp c:\zip\demo.zip pi@192.168.YYY.XXX:/zip/demo.zip

Hinweis: Vor dem Kopieren fragt das Programm nach dem Passwort des Nutzers, erst nach dieser Eingabe beginnt der Kopierprozess.

Wichtig: Funktioniert die SSH-Verbindung, dann funktioniert auch das Programm „pscp“. Deshalb: Vor dem Kopieren mittels „pscp“ eine SSH Verbindung zwischen Windows – Rechner und Raspberry aufbauen und testen. Eine gute Anleitung zu diesem Thema findet ihr hier:  Anleitung SSH Verbindung einrichten

PDF Dateien in Text umwandeln


Bei meiner Betriebssystemversion war „XPDF“ bereits enthalten, sollte dies nicht der Fall sein. Mit folgenden Befehlen kann schnell nachinstalliert (Debian) werden:

sudo apt-get install update
sudo apt-get install upgrade
sudo apt-get install xpdf

Für meinen Anwendungsfall benutze ich die grafische Benutzeroberfläche. Ich steuere meine Brombeere mithilfe des vorinstallierten RealVNC fern.

Oberfläche Brombeere

Die Datei Übertragung des RealVNC ist schnörkellos und kann mit dem Klick auf das Symbol  gestartet werden. Ich lege alle PDF-Dateien auf dem Desktop meiner Brombeere ab. Vom Desktop aus kopiere ich mir die Dateien in den gewünschten Ordner (in meinem Fall heißt der Ordner: PDF)

Danach geht es in der Konsole weiter…

In der Konsole sind folgende Dinge zu erledigen: Erstens, in den Ordner mit den zu konvertierenden PDF Dateien wechseln. Zweitens, die PDF-Dateien in Text umwandeln. Das realisiere ich mit folgenden zwei Befehlszeilen:

cd PDF
for file in *.pdf; do x=${file%.*}; pdftotext -layout "$file" "$x.txt"; done

Anschließend befinden sich zu jeder PDF eine Textdatei im Ordner. Durch die Option „-layout“ werden die Texte so wie in der PDF abgebildet. Bei Tabellen oder mehreren Textspalten ist diese Funktion sehr hilfreich.

Wer sich mehr zu dem Thema „xpdf“ belesen möchte, kann sich hier die Anleitung für PDFtoTEXT durchlesen: Manual PDFtoText

Ein gutes Bash-Script Tutorial findet ihr hier: Tutorial

Drucken mit DosBOX

Alte DOS basierende Software lässt sich nicht auf 64bit Maschinen portieren. Ich benutze für diesen Zweck die Software DOSBOX (http://www.dosbox.com/).

Mit diesem Emulator lassen sich viele der „DOS“ Programme zum Leben erwecken. Wer die „alten“ Spiele und Programme mag, der wird sicher passende Abandonware finden …

Ältere Kalkulations- und Buchhaltungsprogramme schlummern noch auf dem ein oder anderem Uralt-PC. Diese Software kann schwer auf „neue“ Hardware portiert werden.

Zum einem Unterstützen moderne Betriebssystem DOS Software nicht mehr, zum anderen sind die Möglichkeiten Belege oder Seiten zu drucken in der Standard DOSBOX (Version 0.74) nicht gegeben.

Für diese Herausforderung gibt es einen DOSBOX Patch (DOSBOX Megabuild). Folgende Einstellungen sind vorzunehmen:

  1. DOSBOX Megabuild herunterladen
  2. Config-File anpassen

Anpassung des Konfiguration für den Drucker

DosBox Megabuild starten, danach die Konfiguration mit folgendem Befehl auf der Festplatte speichern :

config -writeconf dd.conf

Je nach Installation und Betriebssystem wird die Datei in unterschiedlichen Ordnern / Verzeichnissen abgespeichert. Der Pfad steht unter dem eingegebenen Befehl. Das ganze sieht so in der Art aus :

config -writeconf dd.conf
Writing config file C:\Users\Username\AppData\Local\DosBox\test.conf

Die Konfigurationsdatei mit dem Editor öffnen und folgende Änderungen vornehmen (Veränderungen sind Fett markiert; eigene Einstellungen befinden sich in eckigen Klammern):

[printer]
#     printer: Enable printer emulation.
#         dpi: Resolution of printer (default 360).
#       width: Width of paper in 1/10 inch (default 85 = 8.5'').
#      height: Height of paper in 1/10 inch (default 110 = 11.0'').
# printoutput: Output method for finished pages:
#                png     : Creates PNG images (default)
#                ps      : Creates Postscript
#                bmp     : Creates BMP images (very huge files, not recommend)
#                printer : Send to an actual printer (Print dialog will appear)
#   multipage: Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
#     docpath: The path where the output files are stored.
#     timeout: (in milliseconds) if nonzero: the time the page will
#              be ejected automatically after when no more data
#              arrives at the printer.

printer=true
dpi=300
width=85
height=110
printoutput=printer
multipage=false
docpath=.
timeout=0

[parallel]
# parallel1: parallel1-3 -- set type of device connected to lpt port.
# Can be:
# reallpt (direct parallel port passthrough using Porttalk),
# file (records data to a file or passes it to a device),
# printer (virtual dot-matrix printer, see [printer] section)
# Additional parameters must be in the same line in the form of
# parameter:value.
# for reallpt:
# Windows:
# realbase (the base address of your real parallel port).
# Default: 378
# ecpbase (base address of the ECP registers, optional).
# Linux: realport (the parallel port device i.e. /dev/parport0).
# for file:
# dev: (i.e. dev:lpt1) to forward data to a device,
# or append: appends data to the specified file.
# Without the above parameters data is written to files in the capture dir.
# Additional parameters: timeout: = how long to wait before
# closing the file on inactivity (default:500), addFF to add a formfeed when
# closing, addLF to add a linefeed if the app doesn't, cp:
# to perform codepage translation, i.e. cp:437
# for printer:
# printer still has it's own configuration section above.
# parallel2: see parallel1
# parallel3: see parallel1

parallel1=printer dev:lpt1
parallel2=disabled
parallel3=disabled


[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount a: C:\[Pfad zur Software]
a:
[Startdatei.exe]

Um die Druckfunktion bei jedem Start zu aktivieren muss die veränderte Konfigurationsdatei geladen werden. Rechter Maus-Klick auf das Symbol der DosBox und folgende Anpassung "[Pfad]\dosbox" -conf [Konfigurationsdatei] vornehmen:

dosbox001

Am Ende auf die Taste „Übernehmen“ drücken und danach startet die DosBox Megabuild mit der angepassten Konfigurationsdatei, bei jedem Start über das Desktop-Symbol.

Zum Test der Druckfunktion folgendes in der „modifizierten“ DosBox eingeben:

dir > lpt1

Sobald der Befehl ausgeführt wird aktiviert Windows den „Druckerdialog“. Ich habe USB Drucker, Netzwerkdrucker und PDF-Drucker getestet. Mit den PDF Druckern hatte ich Probleme, die Ausdrucke waren unvollständig und von schlechter Qualität.