Viele bunte Bildchen

Recht einfach zu vielen hübschen Icons kommen die meisten Windows-Benutzer, indem sie die Datei pifmgr.dll aus dem Windows-System-Verzeichnis in ein eigenes Verzeichnis auf dem Linux-Rechner kopieren. Mit dem Befehl

[andi@gemini test]$ wrestool -l pifmgr.dll
--type=14 --name=1 [type=group_icon offset=0xb280 size=48]
--type=14 --name=2 [type=group_icon offset=0xb5a0 size=32]
[…]
--type=5 --name=106 [type=dialog offset=0x13030 size=480]
[…]

erhalten sie eine Liste aller Ressourcen der Datei. Interessant ist vor allem Typ 14 (group_icon), da sich dahinter die Icons verbergen. Andere Inhalte, etwa Dialogboxen, listet wrestool zwar auf, kann sie aber nicht entpacken. Um die Icons zu extrahieren, geben Sie folgenden Befehl ein:

wrestool -x --output=. -t14 pifmgr.dll

Wie der . als Argument zum Output-Parameter festlegt, landen alle gefundenen .ico-Dateien durchgehend nummeriert als pifmgr.exe_t14_1.ico, pifmgr.exe_t14_2.ico etc. im aktuellen Arbeitsverzeichnis. Wählt man einen anderen Pfad, muss man den unbedingt mit einem / am Ende abschließen, wenn das Zielverzeichnis noch nicht existiert.

icotool -x @L: *.ico

wandelt nun alle .ico-Dateien ins PNG-Format um. Sofern Sie Ihren Datei-Manager (etwa Nautilus oder den Konqueror) so konfiguriert haben, dass er Ihnen eine Bildvorschau präsentiert, bietet sich Ihnen nun ein Anblick wie in Abbildung 1.

Abbildung 1: Die aus pifmgr.dll extrahierten Icons mit Nautilus betrachtet

icotool, mit dem Parameter -c (für "create") aufgerufen, erstellt aus einer oder mehreren .png-Dateien Icons, z. B.

icotool -c -o meinfavicon.ico mein_bild1.png mein_bild2.png

Die Datei meinfavicon.ico dient dabei als eine Art Container, der eine beliebige Anzahl Bilder (hier mein_bild1.png und mein_bild2.png) aufnimmt. Man nutzt diese Eigenart des Dateiformats hauptsächlich, um das gleiche Bild in mehreren Farbtiefen und Größen in einer Datei zu speichern.

Extraktionsmaschine

Da das Extrahieren der Icons aus ausführbaren Dateien zwei Arbeitsschritte benötigt und man danach meistens noch die nun überflüssigen .ico-Dateien loswerden will, lohnt sich ein Skript, das alle Arbeitsschritte zusammenfasst (Listing 1 zeigt als Beispiel eines mit Namen iconextract). Dieses legen Sie in einem Verzeichnis im Suchpfad ab. Der Aufruf erfolgt in der Form

iconextract tolle_icons.dll

Die extrahierten Bilder legt iconextract mit durchnummerierten Namen im aktuellen Arbeitsverzeichnis ab.

Eigentlich ist extresso für diese Aufgabe vorgesehen, allerdings gibt es bislang zu wenig vorgefertigte Resourcefiles, die für bekannte .dll und .exe-Dateien festlegen, was wohin extrahiert werden soll. Die vorhandenen (z. B. win98_pifmgr für pifmgr.dll von der Heft-CD) versehen die extrahierten Bilder mit aussagekräftigen Dateinamen. Kopieren Sie diese Ressourcen-Datei in das Verzeichnis, das auch pifmgr.dll enthält. Rufen Sie in diesem Arbeitsverzeichnis den Befehl

extresso win98_pifmgr --base=. --output=.

auf. Der erste Parameter nennt das zu verwendende Resourcefile; --base legt fest, wo extresso nach pifmgr.dll suchen soll (dem Punkt nach also im aktuellen Verzeichnis). Die extrahierten PNG-Dateien finden Sie, wie in win98_pifmgr angegeben, in einem neuen Unterverzeichnis namens ms unterhalb des Arbeitsverzeichnisses.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 4 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...
Treiber für Canon Laserbase MF5650
Sven Bremer, 10.02.2015 09:46, 1 Antworten
Hallo ich weiß mittlerweile das Canon nicht der beste Drucker für ein Linux System ist. Trotzd...
Linux und W7 im Netz finden sich nicht
Oliver Zoffi, 06.02.2015 11:47, 3 Antworten
Hallo! Ich verwende 2 PCs, 1x mit W7prof 64 Bit und einmal mit Linux Mint 17 64 Bit, welches ich...
Rootpasswort
Jutta Naumann, 29.01.2015 09:14, 1 Antworten
Ich habe OpenSuse 13.2 installiert und leider nur das Systempasswort eingerichtet. Um Änderungen,...