Linux-Tools
Ich bin leider gezwungen allen Skripten die Endung txt zu geben. Anderenfalls werden sie vom sogenannten Webserver meines Homepage-Hosters nicht ausgeliefert.
Alle Programme, die von dieser Seite beziehbar sind, unterliegen der GNU General Public License (GPL). Das heisst im Wesentlichen, dass sie frei kopiert, veröffentlich, benutzt und verändert werden dürfen, solange die Veränderungen wieder der GPL unterliegen und die ursprünglichen Autoren aufgeführt werden.
- dir2pdf
- firefox-pimp
- icon_in_bookmarks.py
- logooverlay
- mget
- myanacron
- partmirror.py
- randomcp
- renumber
- res2a4
- rpm_canonical_rename.py
- rpm_onlynew.py
- rot13
- wlanscanner
dir2pdf
Dieses Skript verarbeitet ein Verzeichnis voller PNM Dateien (PPM, PGM oder PBM) zu einer PDF Datei. Zur Zeit nur auf DIN A4-Format beschränkt.
firefox-pimp
Dieses RPM Paket installiert ein Patch, welches das Firefox-Startskript bei jedem Update von Firefox modifiziert. Die Modifikationen beinhalten zwei Änderungen.
- Wenn die Variable MOZ_ARCH auf den Wert i386 gesetzt ist, wird immer die 32-Bit Version des Firefox gestartet, unabhängig von der Architektur, auf der Firefox gestartet wird. Das ist wichtig, falls man unter Firefox auch Plugins nutzen möchte, die es nicht in der 64-Bit Variante gibt.
Ist die Variable nicht gesetzt, funktioniert das Startskript wie vorher. - Firefox unterstützt von sich aus (noch) keine Soundausgabe über ALSA. Meine Modifikation startet immer einen ALSA-OSS-Wrapper, falls einer auf dem System gefunden wurde. Unter Fedora ist es das Paket alsa-oss. Gesteuert wird dieses Verhalten über die Variable MOZ_AOSS, die den Pfad zum Wrapper enthalten sollte. Will man keinen Wrapper verwenden wenn einer installiert ist, so setzt man den Wert dieser Variable auf none. Wenn kein Wrapper installiert ist, funktioniert das Firefox-Startskript wie ursprünglich.
Am einfachsten kopiert man die Datei adalberts.repo nach /etc/yum.repos.d. Dann läst sich firefox-pimp mit yum installieren.
Das RPM-Paket benutzt sog. Trigger, die bei Änderungen am Firefox-Paket ausgelöst werden. Bei der Deinstallation restauriert es das ursprügliche Startskript. Vor jeder Änderung von /usr/bin/firefox werden in /usr/bin Backups angelegt für den Fall des Falles. Sollte das Patchen scheitern, so wird ein alternatives Startskript installiert und der Benutzer gewarnt.
icon_in_bookmarks.py
Dieses Skript injiziert Icons in die Bookmarks des Firefox. Der Anlass für dieses Skript war Google, da sein Icon - warum auch immer - sich nicht in die Bookmarks integrieren lässt. Die Icons müssen in dem Format 64×64 Pixel vorliegen.
Alternativ kann man auch ausgewählte Icons löschen.
logooverlay
Dieses Skript legt ein Logo über ein JPEG Bild. Das Logo muss im PNG-Format sein und darf Transparenzen enthalten. Dieses Skript funktioniert auch als ein Filter, dann arbeitet es nicht auf JPEG Bildern, sondern erwartet ein PNM-Bild über die Standardeingabe und produziert ein PNM-Bild auf der Standardausgabe.
mget
Lädt eine Menge von Dateien herunter, die sich irgendwie als eine durchnummerierte Menge beschreiben lassen. Es lässt sich auch ein Referer angeben. Beispiel: CAM_0147.jpg, CAM_0149.jpg, CAM_0151.jpg, CAM_0153.jpg, ...
Als Backend zum Herunterladen benutzt das Skript wget.
myanacron
Das Tool myanacron ist ein "persönliches" anacron. Das Original hat den Nachteil, dass es nur hardcodierte Pfade für die Datumsstempel unterstützt. Ich habe den Code geringfügig modifiziert, so dass es möglich ist ein Verzeichnis für die Datumsstempel an der Kommandozeile zu übergeben. Wenn nichts angegeben wird, verarbeitet myanacron die Konfigurationsdatei $HOME/.anacrontab und benutzt das Verzeichnis $HOME/.anacron.
Die Datei myanacron ist das kompilierte Programm (i386, libc.so.6 wird benötigt), myanacron.patch enthält die Änderungen, die in das originale Anacron auf Sourceforge.net eingespielt werden müssen.
partmirror.py
Ich verwende dieses Skript, um Updates für meine Fedora Core 4 Distribution an der Universität zu ziehen. Da ich nicht vorhabe das gesamte Update-Repository mit mir zu tragen, habe ich dieses Skript geschrieben.
Es führt eine Liste über die Dateien, die es bereits heruntergeladen hat, so dass sie nur einmal übertragen werden. Ansonsten ist es ein ganz gewöhnliches Mirror-Skript.
randomcp
Das Skript erzeugt eine zufällige Reihenfolge für die zu kopierenden Dateien, indem es jede Datei mit einem numerischen Prefix in der Art 001-Dateiname erzeugt. Praktisch für MP3-Player mit ohne eine shuffle-Funktion.
renumber
Die angegebenen Dateien werden in eine fortlaufende Numerierung umbenannt. Dabei lässt sich der Anfang, die Schrittweite und die Zahlenlänge flexibel wählen. Beispiel: aus a.jpg, foo.jpg und bar.jpg macht
renumber bild- .jpg 1 1 1 a.jpg foo.jpg bar.jpg
die Dateien bild-1.jpg, bild-2.jpg und bild-3.jpg.
res2a4
Diese Skript nimmt eine Liste mit PNM Dateien und prüft, ob ihr Seitenverhältnis die DIN-Norm 1:√2 erfüllt. Falls nicht, werden die Bilder auf das DIN-Seitenverhältnis vergrössert.
rpm_canonical_rename.py
Manchmal sind RPM-Dateien so benannt, dass man aus dem Dateinamen nicht die Versionsnummer oder die Architektur ersehen kann. Dieses Skript liest die Metadaten aus der RPM-Datei (Name, Version, Architektur, etc.) und benennt die Datei anhand dieser Daten um.
rpm_onlynew.py
Dieses Skript dient mir dazu, nur die neuesten Version der Updates zu behalten. Ein Update von OpenOffice braucht schon mal locker 700MB. Nach 2-3 Updates läuft schon mal die Platte voll. Das Skript untersucht die RPM-Dateien und behält nur die Dateien mit der neuesten Versionsnummer. Dabei wird zwischen verschiedenen Versionen für verschiedene Architekturen unterschieden.
Vor dem Löschen der Dateien fragt das Skript nochmal nach.
rot13
Ganz einfaches Skript, dass den standard input oder einen Text in ROT13 „codiert“. ROT13 bedeutet, dass jeder Buchstabe um 13 Stellen im Alphabet verschoben wird. Das lateinische Alphabet hat bekanntlich 26 Buchstaben.
wlanscanner
Dieses kleine Wunderwerk
erledigt für mich das, was Windows-Benutzer seit Ewigkeiten schon kennen: automatisches Einbuchen in bekannte WLANs. Dieses Skript kann vom HAL-System oder von der Kommandozeile aus aufgerufen werden. Man kann auch manuell einen WLAN-Namen eingeben, falls die automatische Erkennung scheitert. Es benutzt iwlist net_device scanning zum Scannen nach verfügbaren Netzwerken sowie sudo und iwconfig zum Setzen der Netzwerkparameter.
Letzte Änderungen am: Sonntag, 5. Oktober 2008, 22:48:47


