donateZIP gepacktes Package herunterladen

-

Aufgrund der Anregungen von Anwendern habe ich mich erneut dem Tool zum automatischen Entfernen der ärgerlichen DotFiles gewidmet und dieses umfrangreich überarbeitet. Folgende Neuigkeiten gibt’s da zu berichten:

 

Version 1.2

Release-Notes

1.) Steuerung der Optionen per “defaults”
Ab sofort kann das gewünschte Laufzeitverhalten mit Optionen eingestellt werden.
Für diese Optionen wird der MacOS Standardbefehl “defaults” verwendet, welcher über ein Terminalfenster eingegeben werden kann.
Derzeit sind es erst wenige Optionen, aber mit der Steuerung über “defaults” sind evtl. weitere Optionen nun leicht umzusetzen.

2.) Spotlight Ausnahmeregelung
Ich selbst möchte keine Spotlight Suche auf den betroffenen Volumes haben, kann jedoch verstehen, wenn das gewünscht wird.
Daher kann die Ausnahmregelung von jedem selbst aktiviert werden.

Spotlight Ausnahmeregelung einschalten:

defaults write de.andurban.purgedotfiles AllowSpotlight on

Spotlight Ausnahmeregelung ausschalten:

defaults delete de.andurban.purgedotfiles AllowSpotlight

oder

defaults write de.andurban.purgedotfiles AllowSpotlight off


3.) Debug Trace aktivieren

Zur Fehlersuche/Kontrolle kann das Logging in /var/log/system.log aktiviert werden, welches man mittels “Dienstprogramme -> Konsole” einsehen kann.
Um nicht das Logfile voll zu müllen, ist das Trace für max. 1 Tag aktiviert, sollte man das Abschalten vergessen, deaktiviert es sich am nächsten Tag von selbst.

Debug trace in /var/log/system.log aktivieren:

defaults write de.andurban.purgedotfiles trace on

Debug trace deaktivieren:

defaults delete de.andurban.purgedotfiles trace

oder

defaults write de.andurban.purgedotfiles trace off

Dienstprogramme: Konsole (system.log)

4.) Verzeichnis .fseventsd bleibt erhalten
Dieses Verzeichnis wurde bislang immer entfernt. Wenn es jedoch nicht existiert, wurden vom Betriebssystem eine Menge Fehlermeldungen in /var/log/system.log geschrieben. Daher wird es ab sofort nicht mehr entfernt. Alle evtl. enthaltenen Dateien/Verzeichnisse werden entfernt, außer “no_log”, welches dem Betriebssystem mitteilt, dass auf diesem Volume keine Ereignisse mitgeloggt werden sollen.
siehe auch: http://hostilefork.com/2009/12/02/trashes-fseventsd-and-spotlight-v100/

 

5.) Ohne Growl erscheint Standard Dialog für 2 Sekunden

Sollte jemand nicht das Tool Growl einsetzen, wird dieses erkannt und alle relevanten Meldungen erscheinen dann in einem Standard MacOSX Dialogfenster, welches automatisch nach max. 2 Sekunden verschwindet, damit es nicht mehr als nötig stört.

Abschlussmeldung mit Growl-Dialog

 

-

 

 

 Abschlussmeldung mit MacOSX-Dialog

 

-

 

FAQ

Q: Es sind immer noch ._* Dateien z.B. auf dem USB-Stick, was ist da los?

A: Die Ordneraktion, welches das Tool startet immer nur beim Einstecken (Mounten) eines Volumes. Während des Arbeitens auf dem Volume werden vom MacOSX evtl. neue “._” Dateien erzeugt. Da “Volumes – purge dot files” kein permanent laufender Wächter ist, kommen diese neuen DotFiles (noch) unbehelligt davon. Muss aber (aus welchem Grund auch immer) sichergestellt werden, dass alle DotFiles korrekt entfernt werden, ist das Volume (z.B. der USB-Stick) zum Ende auszuwerfen. Dann das Volume gleich wieder verbinden (mounten), hierdurch wird die Ordneraktion gestartet und das Laufwerk wird “gepurgt”.

Q: Welche Punktdateien des MacOSX Systems bleiben auf jeden Fall auf den Laufwerken?

A: Dieses ist abhängig davon, wie die Option AllowSpotlight geschaltet ist

defaults write de.andurban.purgedotfiles AllowSpotlight off

-

defaults write de.andurban.purgedotfiles AllowSpotlight on

-

Q: Welche Laufwerke werden behandelt?

A: Es werden alle Dateisystem behandelt, die verbunden werden, auch Netzlaufwerke. Es werden jedoch einige Dateisysteme ignoriert, da es sich entweder um Nur-Lese Dateisysteme oder  um Apple-eigene Dateisysteme, wo die DotFiles für ihren Zweck dienlich sind und normalerweise unsichtbar sind.
Folgende Dateisysteme werden nicht behandelt:

  • udf   (DVD usw.)
  • cddafs   (Audio CD)
  • cd9660  (Daten-CD)
  • hfs   (Apple Dateisystem)
  • afpfs  (Netzlaufwerk über afp:// verbunden)

Bei allen hier nicht aufgeführten Dateisystemen werden die DotFiles entfernt,  sofern Schreibberechtigung vorhanden ist.

 

siehe auch:

 


donateZIP gepacktes Package herunterladen

-
-

Technik / Format

  • “ready to use” App für MacOSX
  • installiert sich selbstständig als Ordneraktion
  • geschrieben in AppleScript
  • Zip komprimiertes Installations-Package
  • veröffentlicht unter Urbanware Lizenz

-

Features / Programmablauf

  • Bei jedem Einhängen eines Datenträgers (Mount) wird der Name des neu eingehängten Volumes an ein als Ordneraktion registriertes Programm (in diesem Fall “Volumes – purge dot files”) übermittelt.
  • Die App prüft das Dateisystem des neu eingehängten Volumes. Das Apple Dateisystem HFS bzw. CD/DVDs werden sofort ignoriert und bleiben unbehandelt.
  • Bei allen anderen Dateisystemen (FAT16, FAT32, NTFS, usw.) werden die berühmten verdächtigen Mac Punktdateien auf ein absolutes Minimum reduziert.
  • Der Papierkorb (echter Ordner Name “/Volumes/xxxxx/.Trashes”) wird dauerhaft deaktiviert indem ein symbolischer Link (Alias) auf /.Trashes erzeugt wird, bereits vorhandene Dateien im Papierkorb des Datenträgers werden sofort kompleet entfernt. Der Grund ist, dass vergessene Dateien Papierkorb sind unter Windows vollkommen ungeschützt für jedermann sichtbar präsentiert werden. Dieses stellt eine gewisse Form von Unsicherheit dar, welche ich auf jeden Fall ausschliessen möchte.
  • Im Hauptverzeichnis des Datenträgers wird eine leere Datei mit dem Namen /.metadata_never_index erzeugt. Durch diese Datei wird verhindert, dass der Spotlight Service den Datenträger indexiert, also kein .Spotlight-V100 Ordner mehr erzeugt.
  • Es wird weiterhin der MacOSX Befehl dot_clean auf dem Volume ausgeführt, welcher alle Dateien, die mit “._” beginnen behandelt und ordnungsgemäß entfernt.
  • Zum Abschluss werden alle evtl. vorhandenen .DS_Store Dateien gelöscht und, falls noch nicht geschehen, mit dem Befehl
    defaults write com.apple.desktopservices DSDontWriteNetworkStores true
    sichergestellt, dass zukünftig zumindest auf Netzlaufwerken keine .DS_Store Dateien mehr erzeugt werden.
  • Beginn und Ende der Ordneraktion wird zu Überprüfungszwecken ins system.log geschrieben
  • Sollte auf dem Rechner Growl installiert sein, erzeugt die App am Ende der Ordneraktion zusätzlich zum system.log Eintrag einen Notify Tooltip, welche den Anwender darüber informiert, dass der Datenträger sich nicht mehr in Bearbeitung befindet. Growl kann auch zu einem späteren Zeitpunkt installiert werden, “Volumes – purge dot files” verwendet es, sobald es verfügbar ist.


Growl notify Tooltip

-

Installation

Bei der Installation ist registriert sich die App selbstständig als Ordneraktion beim Ordner /Volumes. In diesem Ordner werden beim Mac alle Laufwerke eingehängt, Netzlaufwerke, externe Festplatten, USB-Sticks, usw. Gerade bei USB-Datenträgern. Gerade wenn diese Wechseldatenträger auch unter Windows betrieben werden (z.B. von Freunden, Bekannten und Verwandten) ist es oftmals störend bis ärgerlich, dass der Mac sofort beginnt, auf dem Datenträger diverser DOT-Files (Dateien, die mit einem Punkt beginnen), zu übersäen. Genau hierfür sorgt die App für vollkommen automatisierter Abhilfe.

-

Deinstallation

Einmal im Einsatz ist es schwer vorstellbar, dass jemand den Service von “Volumes – purge dot files” nicht mehr haben möchte. In diesem Fall ist der ansonsten unsichtbare Ordner “/Volumes” über den Terminalbefehl “open /Volumes”  im Finder zu öffnen. Sobald der Ordner im Finder auftaucht, kann man per das Kontextmenü (rechte Maustaste) über “Ordneraktionen konfigurieren…” den Eintrag wieder entfernen.

-

Troubleshooting

In Einzelfällen tritt offenbar der Effekt auf, dass die App nicht richtig funktioniert. Leider ist mir der Grund dafür unbekannt. Um zu kontrollieren, ob die Ordneraktion augelöst wird, kann man einen Blick in die Konsole werfen.

  • Programme  -> Dienstprogramme -> Konsole
    Dort unter DATEIEN -> system.log anwählen und einen USB-Stick einstecken
    Wenn die Ordneraktion ausgführt wird, erscheint im system.log der Eintrag “START: Volumes – purge dot files“.
    Erscheint dieser Eintrag nicht, ist die Ordneraktion nicht richtig installiert.
    Erscheint dieser Eintrag und trotzdem sind die Dot-Files unter Windows noch vorhanden, stimmt irgend etwas anderes nicht.
    Dieses müsste dann im Einzelfall betrachtet werden.

 

Die Vorgeschichte dieser App befindet sich hier.


Als ich mal wieder einen meiner USB-Sticks im Windwows-Explorer öffnete, war das Maß endgültig voll. Ich konnte den Anblick von .DS_Store, .Trashes, .Spotlight-V100, .fseventsd, .TemporaryItems nicht mehr ertragen. Diese “Fremdkörper” sind mir von jeher ein Dorn im Auge, zumindest auf Dateisystemen des jeweils anderen Betriebssystems. Das dieses nicht nur ein Spleen meinerseits ist, ergab eine kurze Google-Recherche nach diesen Dateinamen, das Ärgernis darüber ist offensichtlich weit verbreitet und wird schon seit x-Jahren diskutiert.Diverse Entwickler haben sich anscheinend im Laufe der Zeit mit Lösungen für die Beseitigung dieser Angelegenheit auseinander gesetzt. Aber eine All-inclusive-Lösung konnte ich nicht finden, schon gar nicht im OpenSource/Freeware Bereich. Und als passionierter Coder kam eine Kauflösung eines properitären Herstellers nicht in Frage. Also fing ich quick and dirty an, ein kleines bash-Script zu schreiben. Der Aufwand dafür sollte möglichst gering bleiben.

  • Bash – Quellcode des ersten Entwurfs
#!/bin/bash
#set -x
dropList=".DS_Store ._* .Trashes .Spotlight-V100 .fseventsd"
for volume in /Volumes/*; do
 if ! [ -L "$volume" ] && [ -d "$volume" ]; then
  echo touching "$volume/.metadata_never_index"
  touch "$volume/.metadata_never_index"
  for drop in $dropList; do
   if [ -e "$volume/$drop" ]; then
    echo removing "$volume/$drop"...
    sudo /bin/rm -rf "$volume/$drop"
   fi;
  done;
  if ! [ -e  "$volume/.Trashes" ]; then
   sudo /bin/ln -sf "/.Trashes" "$volume/.Trashes"
  fi;
 fi;
done;
echo ""
echo Beliebige Taste um zum beenden.
read
# -eof-

Funktionserklärung

Das Script entfernt die o.g. Dateien/Ordner  aller “echten” Verzeichnisse (keine SymLinks). Leider geht es anscheinend ganz ohne DotFiles nicht. Um Spotlight an der Indexierung zu hindern, ist es erforderlich eine Datei mit dem Namen  “/.metadata_never_index” anzulegen, wenn es denn sein muss, damit sollte man leben können. Als nächstes kommt der /.Trashes Ordner dran. Nicht erst einmal ist es mir passiert, dass ich USB-Sticks weitergegeben habe, auf dem vermeintlich gelöschte Daten im .Trashes befunden haben. Ich will keine Papierkorb Funktion auf FAT/NTFS Dateisystemen. Daher legt das Script einen Symlink/ zu /.Trashes an. Das erfüllt zwar nicht den erhofften Zweck, nämlich den Papierkorb auf dem eigenen Mac zu verwenden, aber es wird auch kein .Trashes Ordner angelegt. Die Dateien werden (nach entsprechender Warnung) sofort entgültig gelöscht.

Dot-Files aufs Minimum reduzieren

Zwei Dot-Files bleiben zurück, bislang fand ich keinen Weg, auch diese zu entfernen.

  • /.Trashes
  • /.metadata_never_index

Aufgrund meines letzten Kenntnisstands sind diese beiden Dateien die letzten, die auf dem Volume zurückbleiben sollten um in Zukunft dem Mac frühzeitig mitzuteilen, sich hier zurückzuhalten.

Nachteile des Scripts

1.) Es werden stets alle gemounteten Verzeichnisse “durchgenudelt”
2.) Man muss das Script manuell starten
3.) Es werden auch Volumes mit HFS Dateisystem bearbeitet, was nicht gewünscht ist.
4.) All dieses würde eine individuelle Konfiguration erfordern.

Alternative Lösung wurde zur App

Es war klar,  “quick and dirty” war nicht ausreichend, aber die Idee war geboren. Als möglicher Weg fielen mir die Ordneraktionen ein, wie sich herausstellte, das Mittel der Wahl. Aber wie geht das? Erst versuchte ich mich mit dem Automator, aber das war zu weit oben. Bei Automator Recherchen wurde auch immer wieder AppleScript genannt, also schaute ich mir das mal an. Kam mir ja erst sonderbar vor, musste mich erstmal komplett neu einlesen. Schliesslich kam ich doch schneller rein als gedacht, ich erkannte viele Parallelen zu Tcl/Tk, welches ich seit mehreren Jahrzehnten einsetze. Auch der AppleScript-Editor ist sehr komfortabel, liefert eine gute Codeunterstützung. Weiterhin gibt es massenhaft Dokumentationen und Beispiele zu AppleScript im Netz. Nach ca. 3-4 Tagen war die “all-inclusive” App fertig für den Einsatz. Ich stelle es gern als Package als Urbanware zur Verfügung. Die genaue Funktionsbeschreibung der App befindet sich hier.


---- DEUTSCH ------------------------------------
Lizenzbestimmungen Urbanware.
---- Lizenz -------------------------------------
Rechtliches
Ich behalte mir alle Rechte und Änderungen vor!
Meine Projekte werden so wie sie sind ("as is") zur Verfügung
gestellt. Ich übernehme keinerlei Haftung.
Die Benutzung der Projekte erfolgt daher auf eigene Gefahr.
Als Referenz kann ich angeben, dass zumindest bei mir selbst
von mir entwickelte Software zum Einsatz gelangt, bin also selbst
mein härtester Kritiker und Beta-Tester. Das Veröffentlichen der
Projekte (zB. auf CD, Magazinen, Internet, ...) ist nur mit
ausdrücklicher Genehmigung des Autors erlaubt.

Als "Projekt" ist das jeweilige Programm bzw. das ZIP-Archiv
Install-Package (und die darin enthaltenen Dateien) zu verstehen.

Nutzung
Alle Urbanware Projekte sind Donationware.
Die Projekte sind für nicht-kommerzielle Anwender KOSTENLOS
nutzbar und dürfen bzw. sollen weitergegeben werden,
aber nur in vollständiger und unveränderter Form.
Als Spende kann jegliche Form von Gegenleistung angesehen werden,
z.B. Beta-Testen, Sprachübersetzung gern aber auch finanzielle
Beteiligung an meinen Providergebühren.
Als "nicht-kommerzielle" Nutzer sind Privat-Leute, karitative und
gemeinnützige Organisationen zu verstehen.
Alle anderen gelten als "kommerziell" (zB. Industrie, Firmen,
Regierungen, allg. Unternehmen, ...).

Entwicklung
Die Weiterentwicklung der Projekte lebt vom Feedback jeglicher Form.
Sollte es keine Motivation von aussen geben, ist das jeweilige
Projekt abgeschlossen.

Kontakt
Für Feedback, Bugs, Spenden besuchen Sie http://www.andurban.de/
---- Zusätzliche Informationen ------------------

Pack-Format
Alle Projekte werden im Zip-Format zum Download bereitgestellt.

Quellcode
Bei Interesse am Quellcode kann man mich jederzeit kontaktieren.

=================================================

This is a translation via http://translate.google.de
of the only-valid german original (see below)!
---- ENGLISH ------------------------------------
Licence Agreement Urbanware
---- License ------------------------------------

Disclaimer
I reserve all rights to change!
My projects are like them ("as is") and made. I assume no liability.
The use of projects is done at your own risk.
As a reference, I can indicate that at least on my own
I've developed software gets used, so even
my toughest critic and beta tester. Publication of
Projects (eg on CD, magazines, Internet, ...) is only
the express permission of the author.

As a "project" is the particular program or ZIP
Install package (and its files) to understand.

Use
All projects are Urbanware Donationware.
The projects are for non-commercial users FREE
only and may or will be disclosed,
but only in complete and unmodified form.
As a donation, any form of compensation are considered,
eg. Beta testing, language translation also like financial
My participation in provider fees.
As "non-commercial" users are private people, charities and
nonprofit organizations to understand.
All others are considered "commercial" (eg industry, companies,
Governments, general business, ...).

Development
The further development of the projects thrives
on feedback in any form.
If there is no motivation from the outside, the respective
Project seems to be completed.

Contact
For feedback, bugs, donations visit http://www.andurban.de/

---- Additional Informations --------------------
Pack format
All projects are provided in zip format for download.

Source
If you are interested in the source code, you may contact me.
-------------------------------------------------
(c) 2003-20xx by http://www.andurban.de/

  • Faviroll is relaunched

goto current article Faviroll – the relaunch

 

 

 

 

 

  • Preface

This is my first “official” WordPress plugin. I was inspired from John Turners plugin Blogroll Links Favicons.  The base idea is beautyful, but not all browsers (f.e. Internet Explorer itself) are able to display the native ICO image format in an HTML document. Additionally some -non Microsoft- operating systems don’t support the ICO -Format, too. The core problem was to find a soluton to convert the ICO format in another image format which works on all platforms/browser.  On an online search I’ve found the ICO->PNG converter PHP class from Diogo Resendes ( Ico class ). This is perfect to solve this problem. The rest of the work is implementing into WordPress.

  • Description

The plugin converts the favicon.ico from the blogroll links from ICO to PNG format and save the converted image in a local cache directory.  All conversion processes works just on the admin-page, visitors don’t have to spend time to wait for favicons from remote websites. If a blogroll entry was added or modified this single Link will be processed.

  • Requirements

    PHP: GD module must be enabled.  That’s all.
    (Nowadays it is mostly standard).

  • Features

    • Display favicon.ico from remote websites in Internet Explorer, too.
    • convert favicons from ICO into PNG format and cache this on the local server for max. speed
    • many  custom options to change the used favicon in your blogroll for any bookmark
    • process workload occurs just users from the backend (administrator)
    • Adds class=”faviroll” to have the possibility for further CSS optimation
  • Installation

    1.) Upload the folder faviroll to the /wp-content/plugins/ directory
    2.) Activate the plugin through the ‘Plugins’ menu in WordPress
    3.) Click ‘Submit’ button to initialize the plugin settings .
    4.) The locally favicon cache will be created
    5.) Thats all