Archiv der Kategorie: OSS

Brother DCP-T500W Netzwerk-Scanner unter Fedora 27

Um mithilfe des oben genannten Gerätes und Fedora, in meinem Fall in Version 27, über das Netzwerk zu scannen, bedarf es des „brscan“-Tools von Brother, mit dem der Netzwerk-Scanner zum System hinzugefügt wird.

Mit den folgenden drei Schritten lässt sich so der Scanner einfach konfigurieren und wird dann von Scanning-Applikationen wie xsane als „scanner:net1;dev0“ (oder ähnlich) erkannt.

Download:

wget http://download.brother.com/welcome/dlf006648/brscan4-0.4.4-4.x86_64.rpm

Installation:

sudo dnf install brscan4-0.4.4-4.x86_64.rpm

Scanner hinzufügen:

brsaneconfig4 -a name=scanner model="DCP-T500W" ip=192.168.000.192

Optional – am System existierende Drucker anzeigen:

scanimage -L

Seither habe ich bereits einige Dutzend Seiten gescannt. Soweit ist dies ein Musterbeispiel für Linux-Unterstützung von Peripherie. Wenn nun noch der Quelltext des brscan-Tools verfügbar wäre …

Images and Exif „orientation“ vs native „rotation“

The Exif orientation-setting and applications which are unable to interpret it, are annoying. The following two steps show how to remove the orientation-setting and rotate the specified images natively.

Remove Exif orientation (originals are kept):

exiftool -Orientation= /path/to/images/*.jpg

Rotate the images by 90 degrees (originals are kept):

for file in /path/to/images/*.jpg; do convert "$file" -rotate 90 "${file%.JPG}"_rotated.JPG; done

Dovecot „FETCH BODY[] for mailbox INBOX UID 1 got too little data“

Es kann passieren, dass man in Dovecot zwar zlib glaubt zu aktivieren, dies aber nicht im Bereich „protocol imap“ und nicht mit der „imap_zlib“-Einstellung tut, was dann dazu führt, dass mit der folgenden Fehlermeldung Mailboxen nicht abgerufen werden können:

Oct 13 16:16:08 hostname dovecot: imap(user): Error: read(/data/vmail/user/mdbox/storage/m.339): FETCH BODY[] for mailbox INBOX UID 505 got too little data: 2864 vs 6789

Mutmaßlich deshalb, weil der Server die Nachricht verschlüsselt schickt, dies aber nicht entsprechend announciert. Es muss, zur Lösung des Problems, das Plugin im Bereich „protocol imap {}“, bevorzugt in der Datei 20-imap.conf, wie folgt angegeben werden:

protocol imap {
 mail_plugins = $mail_plugins imap_zlib
}

So, wie hier beschrieben.

Mittels LaTeX generierte PDF-Dateien optimieren

Hin und wieder mache ich mir LaTeX, das auf dem Textsatzsystem TeX basierende Softwarepaket, zunutze. Meistens für Bewerbungen, Kündigungen und seltener für Publikationen sowie andere Arbeiten. Jedoch sind die PDF-Dateien, welche LaTeX generiert, meist sehr groß. Und damit meine ich eine 5-seitige Bewerbung mit fast nur Text, maximal 2 unterschiedlichen Schriftarten und 3 unterschiedlichen Farben mit einer Größe von etwa 425 Kilobyte.

Auf der Suche nach Optimierungsmöglichkeiten fand ich diese Diskussion. Dort wurde ein Skript gepostet, welches mithilfe von GhostScript eingegebene PDF-Dateien optimiert und dazu auch anzeigt, wie viel Platz eingespart werden konnte.

Leider ist dieses Skript nicht dafür ausgelegt, PDF-Dateien mit Leerzeichen und Sonderzeichen im Dateinamen zu verarbeiten. Daher habe ich kleinere Anpassungen vorgenommen und mir erlaubt, das angepasste Skript auf GitHub zur Verfügung zu stellen.

Aufgerufen wird das Skript dann wie folgt:

./optpdf.sh datei.pdf

Ein Beispiel für alle auf „.pdf“ endenden Dateien des aktuellen und aller Unterverzeichnisse:

find /verzeichnis -name "*.pdf" -exec ./optpdf.sh {} \;

ACHTUNG! Die PDF-Dateien werden dabei überschrieben. Es empfiehlt sich also, vorher eine Sicherung zu erstellen.

Es existieren weitere Tools um PDF-Dateien weiter zu optimieren, beispielsweise pdfopt, welches PDF-Dateien linearisiert und durch interne Verweise Zugriffszeiten auf Seiten von PDF-Dokumenten verbessert.

Dateien aus mehreren Quellen herunterladen mit aria2

Kürzlich wollte ich eine größere Datei runterladen, welche via HTTP von mehreren Quellen verfügbar ist. Dabei suchte ich eine bequeme Möglichkeit, aus mehreren langsamen Quellen zeitgleich herunterzuladen um so den Download insgesamt zu beschleunigen.

Einen bequemen Lösungsansatz liefert hier „aria2“, ein Tool, welches als Argument beliebig viele Quellen akzeptiert und eine Datei anschießend von allen angegebenen Quellen zeitgleich herunterläd.

Somit kam ich statt einmal 50 KB/s auf dreimal etwa 50 KB/s, was zwar noch immer nicht viel ist, aber schonmal etwas mehr.

Der entsprechende Befehl für die Kommandozeile lautet so:

aria2c.exe -j 1 http://quelle1.de/datei.zip http://quelle2.com/datei.zip [...]

Unter Linux ist das Tool nach Installation ebenso verwendbar:

aria2c -j 1 http://quelle1.de/datei.zip http://quelle2.com/datei.zip [...]

Das Tool ist auf GitHub verfügbar.

haveged – ein Daemon um Zufallsdatenpools zu befüllen

Wird auf die schnelle viel Entropie auf Server- oder Desktopsystemen benötigt, empfiehlt sich „haveged“. Bei diesem Daemon handelt es sich um eine Software, welche auf Basis des HAVEGE-Algorithmus Zufallsdaten erzeugt und diese in den Entropie-Pool des jeweiligen Systems speist.

In manchen Fällen ist dies eine Notwendigkeit (z. B. Mailserver), in vielen aber auch sonst hilfreich, da es bei viel Entropie konsumierenden Anwendungen oder Prozessen diese beschleunigt. Zusätzlich spart man sich einen Hardware-Zufallszahlengenerator, jedoch muss man auch hier bedenken, dass es keine Garantie für die Zuverlässigkeit des Generators gibt.

Zur Veranschaulichung noch zwei Graphen, deren „Schwingungsbreite“ jeweils den laufenden und den deaktivierten Daemon zeigt (Spitze = aktiviert, Tal = deaktiviert).

Die Installation von haveged gestaltet sich sowohl unter Debian als auch Ubuntu und vermutlich auch weiteren Distributionen sehr einfach. Nachdem das in Debian und Ubuntu mit „haveged“ benannte Paket installiert wurde, sollte dieses automatisch starten und beginnen den Pool zu füllen.

apt-get install haveged

Ob der Pool wirklich gefüllt wird, kann man testen, indem man den aktuellen Wert an vorhandener Zufallsdaten abfragt (z. B. vorher und nachher oder mit kurzzeitiger Abschaltung des Daemons).

cat /proc/sys/kernel/random/entropy_avail

Weitere Möglichkeiten zum erzeugen von Zufallsdaten sind zum Beispiel Mikrofone und Videokameras.