Ich habe ja kürzlich schon mal das Problemchen mit open als Vordergrundprozess angesprochen. Naja, es kommt nicht nur in Skripten zu Probleme:
Da E-Mail für mich nach wie vor eine der primären Anwendungen des Internets darstellt, benutze ich gern eine erstklassige und konkurrenzlose E-Mailsoftware, Mutt.
Mutt bedient sich zur Handhabung in E-Mails eingebetteter Bilder und so’n Gedöns der mailcap Datei, was unter Unixen Standard sein sollte. Um beispielsweise Bilder mit dem Standardimageviewer zu betrachten, würde unter OS X folgender Eintrag in der ~/.mailcap ausreichen.
image/*; /usr/bin/open %s
So weit so gut. open startet auch die entsprechende Applikation, allerdings wird die Kontrolle nach dem Aufruf direkt wieder an Mutt zurückgegeben und die temporär erzeugte Datei, die mit open geöffnet werden sollte, wird gelöscht, bevor die Zielapplikation darauf zugreifen kann. Bislang habe ich weder eine Methode gefunden, temporäre Dateien bestehen zu lassen oder open auf das Terminieren der gespawnten App warten zu lassen.
Das heißt, ich kann zZ. mit mutt unter OS X keine Bilderkes sehen oder Samples anhören. Es sei denn, ich suche einen Viewer, der von der Kommandozeile mit Parametern im Vordergrund gestartet werden kann.
Preview ohne open mit einem Bild von der Kommandozeile zu starten, bringt leider nix, da wohl keine Datei als Paramter berücksichtigt wird. Oder man muss irgendwelche Schlüssel angeben, die mir nicht bekannt sind. Dokumentation ist ja eher mäßig.
Preview.app/Contents/MacOS/Preview ~/bild.jpg
startet zwar preview aber öffnet kein Bild. Ist das alles saugend…