How to run Netgear ProSafe Utility on MacOS

Netgear does not offer a Mac-Version for their ProSafe Plus Utility. Since it doesn't run reliably with Wine, you'll have to use virtualizers like Parallels or VirtualBox.

Netgear is offering his switch management software “ProSafe Plus” for Windows. And for Windows only. Well, they just might have not noticed that there is at least one other very popular operating system in the market. Such things happen.

To still run ProSafe on a Mac and avoid the overhead involved by installing hardware virtualizing suits like “Parallels Desktop” or “VirtualBox”, I tried to use the compatibility layer software WINE to run ProSafe.

WINE

WINE requires XQuartz first, then Wine for MacOS can be installed. After that you can right click an arbitrary Windoze *.exe file and “open with…” Wine. Unfortunately, the ProSafe Plus Utility did not install smoothly. Had to restart the installation process a couple of times but could start the ProSafe Utility only once. Digging into Wine’s website winehq.org you will find that other users already reported about problems with the installation of ProSafe. To sum it up: No easy way this time. Let’s do it the hard way.

VirtualBox

The hard way means that you will have to use a hardware virtualizer like VirtualBox or Parallels Desktop. And, apparently, you will need Windoze. Luckily, I had an old Windoze 7 installation CD lying around. The first step is to install the free virtualizer VirtualBox by Oracle. The installation process is pretty straightforward and to just run the ProSafe Utility you should be fine with the standard settings suggested by the installer.

You will, most likely, have assigned an ISO-Image of your copy of Windoze during installation. After VirtualBox has been installed, start the Windoze Virtual Machine and get your copy of Windoze installed in the Virtual Machine. That might take some time. After successful installation of Windoze you can reboot, log into your Windoze account and install Netgear’s ProSafe Utility.

After installation of the ProSafe Utility fire it up and, if all went well, you might see a screen similar to the following one. The ProSafe utility scans the network and will list all discovered switches. My switch, a GS108PEv3, hast been found and I am, finally and after all that hassle, ready to configure the switch.

Zugriff auf Photo Stream Bilder auf dem Mac ohne Photos App

Man kann auf dem Mac auf die Bilder des Photo Streams auch OHNE Photos App zugreifen. Hier wird der zugehörige Lösungsweg beschrieben.

Der Use Case: Mit dem iPhone, iPad oder iPod geknipste Bilder können über die sog. “My Photo Stream”-Funktionalität automatisch auf die jeweils anderen, verbundenen Geräte übertragen werden. Das ist praktisch. Es wäre aber noch praktischer, wenn diese Bilder ebenso automatisch auf den Mac synchronisiert würden. Das ist möglich, erfordert aber ein paar Handgriffe. Insbesondere, wenn man eine Lösung sucht, bei der man nicht die Photos App verwenden möchte und die Bilder in einem beliebigen Zielordner landen sollen. Hier das Vorgehen, inspiriert durch einen Artikel auf bockenhauer.com, den es dort allerdings nicht mehr gibt.

Wie funktioniert’s?

Wir schalten sowohl auf dem gewünschten mobilen Gerät, also iPhone, iPad oder iPod, als auch auf dem Mac die “My Photo Stream”-Funktion ein. Danach landen alle mit dem mobilen Gerät aufgenommenen Bilder sowohl (und wie bisher) im “Camera Roll”-Ordner und (neu) zusätzlich in einem Ordner mit dem Namen “My Photo Stream”. Zeitgleich werden die Bilder auf alle verbundenen Geräte in deren “My Photo Stream” Ordner gespiegelt. Beim Mac gibt es aber einen solchen Ordner nicht. Stattdessen werden die Photo Stream Bilder in einen Unterordner des Photos App Packages gelegt. Die hier beschriebene Lösung greift auf diesen Ordner zu und verschiebt die Bilder in einen Wunsch-Zielordner.

My Photo Stream auf dem Mac

Eine kurze Schritt-für-Schritt-Anleitung, um einen “My Photo Stream”-Ordner auf dem Mac zu emulieren.

  1. Photo Stream einschalten. Das ist an vielen anderen Stellen im Netz schon detailliert beschrieben, bspw. hier. Die Kurzversion für’s iPhone: Settings → iCloud → Photos → “My Photo Stream” einschalten. Und für den Mac: System Preferences → iCloud → dort rechts bei Photos den Options-Button klick → “My Photo Stream” einschalten. Kann man alternativ auch über die Settings der Photos App einschalten, aber viele Weg, Rom, etc. pp. NB: Weder “iCloud Photo Library” noch “iCloud Photo Sharing” müssen eingeschaltet sein, damitdie hier beschriebene Lösung funktioniert.
  2. exiv2 installieren, falls noch nicht vorhanden. Die Lösung setzt zum Umbenennen der jpeg-Dateien auf Basis der im jpeg-Header (hoffentlich) vorhandenen EXIF-Informationen auf exiv2. Das Tool lässt sich einfach via (home)homebrew installieren, und zwar so:
    $ brew install exiv2
    Wenn der Packet-Manager brew noch nicht vorhanden ist, dann natürlich erst einmal homebrew installieren…
  3. Shell Datei anlegen. Das folgende Shell-Skript den eigenen Bedürfnissen anpassen und dann in einem Verzeichnis bspw. als photostream.sh speichern.
  4. photostream.sh Rechte setzen. Mit
    $ chmod 700 photostream.sh
    die Rechte der Shell-Datei auf “ausführbar” setzen.
  5. Automatisieren. Wir richten einen Daemon ein, der einmal pro Minute unser photostream.sh Skript aufruft. Auf diese Weise werden Bilder-Neuankömmlinge aus dem Photo Stream regelmässig und zeitnah aus dem Photos App Unterordner in unseren Zielordner überführt. Dazu wird eine Datei mit folgendem Inhalt an einem beliebigen Ort mit dem Namen com.NAME.photostream.plist angelegt. NAME kann frei gewählt werden.

    In der Datei ist NAME in <string>com.NAME.photostream</string> entsprechend des beim Anlegen der Datei gewählten Dateinamens zu ändern. Auch der Pfad /Volumes/Macintosh HD/Users/USER/photostream.sh muß so angepasst werden, dass er korrekt auf die photostream.sh Shell-Datei zeigt. Das StartInterval von 60 entspricht 60 Sekunden, d.h. das Skript wird einmal pro Minute aufgerufen. Wer weniger häufig nach neuen Bildern im Photo Stream nachschauen möchte, kann den Wert einfach nach oben setzen.
  6. Daemon aktivieren. Wir müssen dem Daemon/Agent manager launchd noch mitteilen, dass es einen neuen Daemon gibt, um den er sich kümmern soll. Das geschieht auf der Kommandozeile mit dem folgenden Befehl:
    $ launchctl load com.NAME.photostream.plist
    Auch hier ist NAME entsprechend zu ersetzen.

Fertig! Wenn’s erstmal läuft, läuft’s wie geschnitten Brot. Auch mit El Capitan und ohne AirDrop. 😉

MacOS: Neuen “Öffnen mit”-Service zum Dienste-Menü hinzufügen

Eine Datei oder einen Ordner per Rechtsklick im MacOS-Lieblingsprogramm öffnen? Das geht in wenigen Schritten mit dem Automator.

Der Rechtsklick auf eine Datei oder einen Ordner im Finder öffnet das Kontextmenü. Dortens, ganz unten, befindet sich das Dienste-Untermenü, in dem Applikationen zusätzliche Funktionalitäten unterbringen können. Der Viren-Scanner ClamXav, jahrelang kostenlos und nun leider kostenpflichtig, nistet sich bspw. dort ein und ermöglicht auf diese Weise das Scannen einzelner Dateien.

das Rechtsklick-Dienste-Menü

Dienst-Menü erweiterbar

Dieses Service-Menü kann mit eigenen Diensten erweitert werden. Hier ein Beispiel für die Erstellung eines Dienste, der das Öffnen von Dateien oder Ordnern in Sublime Text ermöglicht. Dazu verwenden wir den Automator, eine Applikation, die jeder MacOS-Installation von Haus aus beiliegt.

Schritt-für-Schritt zum neuen Dienst

  1. Automator starten. Entweder Finder öffnen, dann CMD+Shift+A und in der Dateiliste die Automator.app Doppelklicken. Oder Spotlight mit CMD+Space aufrufen, “auto” tippen und Return. (Unterstellt, dass Spotlight den automator vorschlägt.)
  2. Automator-Typ wählen. Im Popdown-Fenster “Service” auswählen, dann mit dem Choose-Button bestätigen.
    Service im Automator wählen
  3. Service receives und Action wählen. Im “Service receives selected”-Drop-Down “files or folders” wählen.
    Im Suchfeld oben links “run shell” eingeben. In der darunterliegenden Liste an Aktionen sollte nur noch “Run Shell Script” erscheinen. Diese Aktion per Drag’n’Drop in das Workflow-Feld rechts ziehen.
    Services receives und Run Shell Skript Aktion
  4. Pass input und Shell Skript. Die Datei- und Ordner-Namen sollen als Kommandozeilenargumente an das Shell Skript übergeben werden. Dafür im “Pass input”-Drop-Down den Wert “as arguments” wählen.
    Anschliessend noch in das Eingabefenster der “Run Shell Skript”-Aktion den Pfad zum Sublime Text-Executable gefolgt von -n "$@" eintragen.
    Argumente und auszuführende Datei
  5. Den neuen Service mit CMD+S unter einem beliebigen Namen speichern, z.B. “Open in Sublime3”.

Fertig! Wer alles richtig gemacht hat, sieht im Finder nach Rechtsklick auf eine Datei oder einen Ordner “Open in Sublime3” als neuen Eintrag im Services-Untermenü, like diz:

fertiger Dienst im Finder

PS für Neunmalkluge

Ich höre sie schon rufen: “Was soll das denn mit der ‘Run Shell Script’-Aktion? Das geht doch alles viel einfacher mit ‘Open Finder Items’!” Stimmt. Und stimmt nicht. Der Ansatz mit “Open Finder Items” ist in diesem Artikel beschrieben, allerdings werden die Dateien/der Ordner damit in den Projektbaum des aktuell geöffneten Projektes eingefügt. Die hier beschriebene Verwendung von “Run Shell Script” verhindert dies und öffnet Dateien und Ordner in einem neuen Workspace in Sublime. Besser ist das.

Mac OS versteckte Dateien anzeigen (und wieder verstecken)

Der Mac OS Finder zeigt versteckte Dateien nicht an. Darum sind sie ja auch versteckt. Aber sie lassen sich leicht sichtbar machen. Und ebenso leicht wieder verstecken.

Hinter MacOS werkelt ein *nix-System. Auf diesen Systemen ist es üblich, dass Dateien, die mit einem Punkt beginnen, also beispielsweise .htaccess, vom Dateibetrachter nicht angezeigt werden. Manchmal möchte man die versteckten Dateien aber doch sehen.

Die Terminal Methode

  1. Terminal öffnen.
  2. Mit dem folgenden Befehl wird dem Finder mitgeteilt, dass er alle Dateien anzeigen soll.
    $ defaults write com.apple.finder AppleShowAllFiles TRUE
    
  3. Noch ein
    $ killall Finder
    hinterher. Damit wird der Finder neu gestartet.

Fertig!

Die sichtbar gemachten Dateien können genauso leicht wieder versteckt werden, indem am Ende des oben stehenden Befehls “TRUE” durch “FALSE” ersetzt wird. Danach wieder killall Finder und die Dateien sind versteckt.

Wer das häufiger braucht, möchte es aber vielleicht ein wenig komfortabler haben.

Die Profi-Methode mit Toggle-Button in der Finder-Toolbar

Wir bauen uns einen hübschen Toggle-Button für die Finder-Toolbar, der auf Knopfdruck zwischen “Dateien versteckt” und “Dateien sichtbar” wechselt. Dazu bedienen wir uns des geballten Wissens aus dem vorigen Artikel Aus Shell Skript eine MacOS App erstellen und App Icon ändern und bauen sogar noch funktional völlig unnötige bells’n’whistles ein: In Abhängigkeit des aktuellen Status “sichtbar” oder “versteckt” verändert sich das Aussehen des Icons in der Toolbar. Toll!

  1. Wir benötigen zunächst ein Skript, das den aktuellen Sichtbarkeitsstatus ermittelt, diesen dann wechselt und das Icon austauscht. Den folgenden Kode kopieren und als toggleHidden.sh im Home-Verzeichnis /Users/ speichern. NB: Alle folgenden Schritte gehen davon aus, dass die zugehörigen Dateien im Home-Verzeichnis liegen!
  2. Mithilfe des appify-Skripts (Hinweise im verlinkten Artikel beachten!) zaubern wir aus toggleHidden.sh eine MacOS App toggleHidden.app. Dazu ein Terminal-Fenster öffnen und den Befehl
    $ appify toggleHidden.sh
    ausführen. Im selben Verzeichnis liegt nun die App toggleHidden.app.
  3. Wir brauchen zwei Icons für die beiden Status. Rechteckig, bspw. mit den Abmessungen 128 x 128 px.
    Icon für versteckte Dateien sichtbarversteckte Dateien sichtbar, Datei toggleHidden-128x128-on.png
    Icon für versteckte Dateien sichtbarversteckte Dateien unsichtbar, Datei toggleHidden-128x128-off.png
    Die sind doch ganz hübsch. Örchz.
  4. Aus den Icon-Grafiken müssen zur späteren Verwendung Ressourcen produziert werden. Dafür werden ein paar Werkzeuge benötigt, die zu den XCode Command Line Tools gehören. Beim ersten Aufruf des folgenden Tools sips im Terminal sollte MacOS von sich aus fragen, ob die Command Line Tools installiert werden. Sobald die Tools verfügbar sind im Terminal folgende Befehle eingeben, um den ersten Schritt zu den Grafik-Ressourcen zu absolvieren.
    $ sips -i toggleHidden-128x128-on.png
    $ sips -i toggleHidden-128x128-off.png
    
  5. Jetzt die Ressourcen extrahieren.
    $ DeRez -only icns toggleHidden-128x128-on.png > toggleHidden-on.rsrc
    $ DeRez -only icns toggleHidden-128x128-off.png > toggleHidden-off.rsrc
    
  6. Initiale Bindung des Off-Icons an unsere App.
    $ Rez -append toggleHidden-off.rsrc -o $'toggleHidden.app/Iconr'
    
  7. Und MacOS mitteilen, dass diese App jetzt ein Icon hat.
    $ SetFile -a C toggleHidden.app
    
  8. Letzter Schritt! Im Finder in das Home-Verzeichnis wechseln, bspw. über das Finder-Menü “Go” und dann “Home”. Per CMD + Drag’n’Drop unsere App toggleHidden.app in die Finder Toolbar ziehen. Wichtig: Erst CMD drücken und gedrückt halten. Dann Datei packen und in die Finder Toolbar ziehen. MacOS ist da sehr “picky” was den Ablauf dieser Drag’n’Drop-Operation anbelangt.

Nun sollte unser wunderschönes Icon in der Toolbar prangen und in etwa so aussehen.

toggleHidden App in der Finder Toolbar: OFF

Nach einem Klick auf den Kreis wird der Finder neu gestartet, das Icon getauscht und fortan alle versteckten Dateien angezeigt. Das könnte dann so aussehen.

toggleHidden App in der Finder Toolbar: ON

Have fun!

Aus Shell Skript eine MacOS App erstellen und App Icon ändern

Wie mache ich aus einem Shell Skript eine MacOS App für die Finder Toolbar? Und wie ändere ich das Icon einer App?

Gerade noch über die verschlimmbesserte Funktion zum Hinzufügen von Apps zur Finder Toolbar gemeckert, und schon mit dem Problem konfrontiert, dort ein Shell Skript unterbringen zu wollen.

Man kann zwar ein Shell Skript per CMD-Drag’n’Drop in die Finder Toolbar ziehen, allerdings öffnet ein Klick auf dieses Skript selbiges im Text-Editor. Shell Skripte werden aus der Finder Toolbar heraus offensichtlich nicht ausgeführt. Es stellt sich also die Frage, wie man auf einfache Art und Weise aus einem Shell Skript eine native MacOS App macht, um diese dann in die Finder Toolbar zu ziehen.

MacOS App aus Shell Skript mit Hilfs-Skript erstellen

Die Lösung bedient sich eines Hilfs-Skriptes appify, das aus einem Shell Skript eine MacOS App generiert.

Das Skript wird unter dem Namen appify im Home-Verzeichnis gespeichert und anschliessend im Terminal per chmod +x appify ausführbar gemacht.

Mit dem Aufruf

$ ./appify das-shell-skript.sh

wird im selben Verzeichnis aus dem Shell Skript das-shell-skript.sh eine MacOS App mit dem Namen das-shell-skript.app generiert. Mit Angabe eines zusätzlichen Parameters “App Name”

$ ./appify das-shell-skript.sh "App Name"

lässt sich der MacOS App ein anderer Name geben.

Diese App lässt sich nun per CMD-Drag’n’Drop in die Finder Toolbar ziehen und von dort aus starten. Unschön könnte das Standard-Icon sein, dass MacOS dieser App in der Finder Toolbar gibt. Aber auch dafür gibt es eine unkomplizierte Lösung.

Das Icon einer MacOS App ändern

Der einfache Weg

  1. Zunächst eine rechteckige PNG-Grafik mit 512 x 512 px mit dem gewünschten Icon anlegen.
  2. Dann Doppel-Klick auf die PNG-Grafik; die Grafik wird im Previewer angezeigt.
  3. Nun mit CMD-C die Grafik in die Zwischenablage kopieren.
  4. Danach Rechtsklick auf die im ersten Schritt angelegte MacOS App und im Kontext-Menü “Get Info” anklicken.
  5. Im Popup-Info-Fenster ist oben links das (Standard-)Icon dieser App zu sehen. Dieses Icon anklicken; es sollte ein blauer Rahmen erscheinen.
  6. Nun mit CMD-V die eigene Grafik hineinkopieren.

Fertig!

Der Weg für Profis

Dabei wird das Icon direkt mit in die MacOS App eingebaut. Dazu erledigt das appify-Skript bereits die Vorarbeit, indem es eine Info.plist Datei anlegt. In dieser ist unter anderem die Information enthalten, welchen Namen eine Icon(set)-Datei trägt, in der sich ein oder mehrere App-Icons für die MacOS App befindet.

  1. Wir benötigen zunächst eine *.icns Datei, in der das Icon unserer App abgespeichert ist. “icns” steht dabei für Iconset, da eine solche Datei auch App-Icons in unterschiedlichen Größen bevorraten kann. Im einfachsten Fall ist das nur ein Icon. Der Weg zu einem solchen *.icons File kann wie folgt aussehen:
    • Terminal öffnen.
    • Verzeichnis das-shell-skript.iconset anlegen.
    • In dieses Verzeichnis die gewünschte App-Icon-Grafik als icon_512x512.png kopieren. (Annahme: Es handelt sich um eine Grafik mit 512 x 512 px)
    • Den Befehl iconutil -c icns das-shell-skript.iconset ausführen.

    Nun sollte im aktuellen Verzeichnis eine Datei das-shell-skript.icns existieren. Wenn ja, kann mit rm -rf das-shell-skript.iconset das Iconset-Verzeichnis gelöscht werden.

  2. Rechtsklick im Finder auf unsere MacOS App das-shell-skript.app. Es erscheint das Kontext-Menü. Dort “Show Package Contents” wählen.
  3. Im Finder wird nun der Inhalt unserer MacOS App angezeigt. Dies sollte das Verzeichnis Contents sein. Doppelklick.
  4. Auf der nächsten Ebene befindet sich die erwähnte Info.plist Datei sowie zwei Unterverzeichnisse. Doppelklick auf Resources.
  5. Dort befindet sich eine (leere) Datei mit Namen das-shell-skript.icns. Diese durch die in Schritt 1 angelegte *.icns-Datei ersetzen.

Fertig! Aber halt! Viele Wege führen nach Rom.

Die Superhero-Methode für echte Männer

Benötigt die XCode Developer Tools.

  1. Terminal öffnen.
  2. Mit sips -i das-shell-skript.png aus der Grafik sozusagen die eigene Icon-Datei erstellen.
  3. Die Grafik als Ressource speichern. Das geht mit dem Befehl DeRez -only icns das-shell-skript.png > icon.rsrc.
  4. Einbinden dieser Ressource in unsere App mit Rez -append icon.rsrc -o $'das-shell-skript.app/Iconr'.
  5. MacOS mitteilen, dass diese App jetzt ein Icon hat: SetFile -a C das-shell-skript.app.

Fertig!

MacOS Mavericks: Apps in Finder Toolbar ergänzen

Apps können nach wie vor per Drag'n'Drop in die Toolbar-Leiste des Finders gezogen werden. Der Teufel steckt aber im Detail.

Bisher war immer alles ganz einfach und intuitiv beim MacOS. Aber das Betriebssystem kommt in die Jahre. Alternative Formulierung: Die Entwickler sind auch nur Menschen. Aber warum Sachen, die gut und einfach funktionierten, verkompliziert werden, will sich nicht erschließen.

So ist das beispielsweise mit der Funktion geschehen, die das Hinzufügen eigener Apps in die Toolbar des Finders erlaubt. Der Prozess vor Mavericks: Im Finder in das Verzeichnis mit der App oder dem Automator Skript wechseln, das zur Finder-Toolbar hinzugefügt werden soll. Dann die App/das Skript per Drag’n’Drop in die Toolbar-Leiste an die gewünschte Stelle ziehen. Fertig.

Der Ablauf ist bei Mavericks zwar fast identisch, aber dann doch eben gerade so anders, dass man erst einmal wie Ochs vor’m Berg steht. Es funktioniert weiterhin per Drag’n’Drop, allerdings muss nun die CMD-Taste beim Ziehen gedrückt sein! Oder noch genauer: Erst die CMD-Taste drücken und gedrückt halten. Dann auf die gewünschte App klicken und diese auf die Toolbar-Leiste ziehen. Dann Maustaste lösen und CMD-Taste lösen.

Das kann man ja beim besten Willen nicht als Prozessoptimierung betrachten. Und es soll mir auch keiner kommen und behaupten, es hätten mit der alten Methode ohne CMD-Taste zu viele Leute “aus Versehen” Apps in die Toolbar-Leiste des Finders gezogen… Aber Problem erkannt, Problem gebannt! 🙂

MacOS ForkLift2 Favoriten exportieren

Rechnerwechsel und die ForkLift2 Favoriten für den späteren Import auf dem neuen Rechner exportieren? Geht nicht. Aber es gibt einen Workaround.

ForkLift2 von BinaryNights ist eine funktionsreiche Alternative für den MacOS-Finder und wir vom Hersteller selber mit “[…] most advanced file manager and FTP + SFTP + Amazon S3 + WEBDav client for Mac OS X (10.7 +)” beworben. In der Tat macht ForkLift2 vieles sehr gut, allerdings fehlt die Möglichkeit, die Liste der eingetragenen FTP-Server und weiterer Favoriten zu exportieren, um sie auf einem anderen Rechner zu importieren.

Der Workaround.

  1. Die Datei
    ~/Library/Preferences/com.binarynights.ForkLift2.plist
    von dem Rechner aus sichern, der als Favoriten-Quelle dient.
  2. Auf dem Zielrechner in dasselbe Verzeichnis wechseln.
  3. Die Aktivitätsanzeige (activity monitor) starten und den Prozess cfprefsd stoppen.
  4. Die gesicherte Datei com.binarynights.ForkLift2.plist in das Verzeichnis (Schritt 2) des Zielrechners kopieren.

NB: Zwischen dem Stoppen des cfprefsd-Prozesses und dem Kopieren der Datei sollte nicht zu viel Zeit vergehen, da MacOS den cfprefsd-Prozess automatisch wieder startet.

NB: In der Datei sind nur die Konfigurationsinformationen der Favoriten gespeichert, nicht jedoch deren Passwörter! Für den Transfer der Passwörter gibt es scheinbar keine Lösung. Will heißen, alle Passwörter müssen “von Hand” neu eingegeben werden.

Dieser Workaround wurde von BinaryNights auf Nachfrage eines Nutzers bei Twitter genannt. Warum es keine native Ex-/Import-Funktion gibt, die insbesondere auch die Passwörter transferiert, ist ein wenig rätselhaft.