mutt & mailcap

  1. dpr

    dpr Thread StarterMacUser Mitglied

    Mitglied seit:
    04.04.2006
    Beiträge:
    519
    Zustimmungen:
    0
    Hallo,

    ich habe hier ein 10.4.6 und mutt 1.5.11 (fink).

    Ich möchte aus mutt heraus zur Betrachtung von Attachments die jeweiligen Applikationen (hier am Beispiel einmal Preview) starten. mime.types existiert und wird gelesen. In ~/.mailcap habe ich

    Code:
    application/pdf;open -a /Applications/Preview.app %s
    image/jpeg;open -a /Applications/Preview.app %s
    
    Das erwartete Verhalten wäre: ich lasse mir die Liste der Attachments einer Mail anzeigen ('v'), navigiere zum gewünschten Attachment, drücke Enter, Applikation startet und zeigt das per Argument übergebene File an.

    Was passiert: die richtige Applikation startet, allerdings wird das darzustellende File nicht geladen; zumindest wird es nicht angezeigt.

    Nun hätte es ja sein können, daß die Übergabe als Argument (oben: %s) nicht funktioniert. Deswegen habe ich die .mailcap (um eine Fehlermeldung zu erzwingen) temporär geändert:

    Code:
    application/pdf;'open -a /Applications/Preview.app %s'
    image/jpeg;'open -a /Applications/Preview.app %s'
    
    Klar klappt das nicht, aber es gibt als Fehlermeldung

    Code:
    open -a /Applications/Preview.app /tmp/foobar.jpg: No such file or directory
    
    was darauf hinweist, das mein Problem nicht eine fehlerhafte Übergabe des darzustellenden Files ist.

    Auf der Kommandozeile macht erstaunlicherweise

    Code:
    open -a /Applications/Preview.app /tmp/foobar.jpg
    
    genau, was ich erwarten würde: das JPEG wird durch Preview angezeigt.

    So, und nun gehen mir die Ideen aus. Hat jemand einen Vorschlag (außer "Use the source, Luke" ;-) Das kommt, wenn gar nichts helfen will.)

    Danke, Denny
     
  2. dpr

    dpr Thread StarterMacUser Mitglied

    Mitglied seit:
    04.04.2006
    Beiträge:
    519
    Zustimmungen:
    0
    Niemand eine Idee oder ist meine Problembeschreibung mißverständlich?

    Ich habe jetzt einmal mutt 1.4.2 getestet, daran liegt es nicht. Auch die Umgebungsvariablen unterscheiden sich bis auf SHLVL zwischen open ... aus dem Terminal oder aus mutt heraus nicht.

    Also, nur Mut. Immer raus mit den Spekulationen! :)
     
  3. dpr

    dpr Thread StarterMacUser Mitglied

    Mitglied seit:
    04.04.2006
    Beiträge:
    519
    Zustimmungen:
    0
    Witziges Betrübssystem habe ich hier :)

    Folgender Zwischenstand:

    Code:
    image/jpeg; open -a /Applications/Preview.app %s
    
    in der ~/.mailcap wollte ja nicht zum gewünschten Ergebnis führen. Etwas trial and error ergab nun:

    open -a /Applications/Preview.app %s auf einer Kopie von %s funktioniert!

    Die Langfassung: ich habe zum Test meine ~/.mailcap geändert in

    Code:
    image/jpeg; /tmp/test.sh %s
    
    mit /tmp/test.sh:

    Code:
    !/bin/sh
    
    NN=/tmp/mutt_tmp_`basename $*`
    cp $* $NN
    open -a /Applications/Preview.app $NN
    
    also einer simplen Kopie des anzuzeigenden Files. Das funktioniert wie erwartet. Die große Preisfrage ist nun: warum? lsof sagt mir, daß das Original nicht einmal mehr offen ist, also an der Anzahl der das Originalfile referenzierenden Prozesse kann es nicht liegen.

    Ideen zur Erklärung?
     
  4. dpr

    dpr Thread StarterMacUser Mitglied

    Mitglied seit:
    04.04.2006
    Beiträge:
    519
    Zustimmungen:
    0
    Use the source, Luke :)

    Falls es jemanden interessiert...

    Problem erkannt: nach erfolgreichem exit des in der mailcap spezifizierten Programms zur Anzeige eines MIME-Types wird das temporäre File, das dieses Attachment enthält, von mutt gelöscht. Da open allerdings sofort zurückkommt und seine Arbeit im Hintergrund verrichtet, gibt es, wenn dann die durch open gestartete Applikation bereit ist, das anzuzeigende File nicht mehr. Eine Fehlermeldung wäre ja mal ganz hilfreich, aber das ist wohl ein anderes Thema.

    Da man open nicht dazu überreden kann, auf die zu startende Applikation zu warten, muß mutt das fixen: needsterminal in die ~/.mailcap und ein 'set wait_key=yes' (ist eh default) in die ~/.muttrc behebt das Problem.
     
Die Seite wird geladen...
Ähnliche Themen - mutt mailcap
  1. wurzelriese
    Antworten:
    0
    Aufrufe:
    1.040
    wurzelriese
    17.02.2014
  2. aspirin
    Antworten:
    1
    Aufrufe:
    974
    aspirin
    12.11.2011
  3. aspirin
    Antworten:
    6
    Aufrufe:
    1.376
    aspirin
    17.08.2009
  4. danielf
    Antworten:
    2
    Aufrufe:
    593
    danielf
    08.06.2006