ubuntuusers.de

msg-Dateien mit Firefox öffnen

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.10 (Kinetic Kudu)
Antworten |

Grunzwanzling

Anmeldungsdatum:
5. Dezember 2022

Beiträge: 12

Hallo zusammen!

Ich bin noch recht neu mit Ubuntu unterwegs, deshalb bitte ich um Nachsicht, wenn's die Fragen gar zu banal sein sollten...

Auf einer Website sind u.a. msg-Dateien hinterlegt. Diese sollen mit einem Klick angezeigt werden. Nun habe ich bereits das Programm msgviewer heruntergeladen und ausprobiert. Beim Starten öffnet sich eine GUI, wo man die MSG-Datei reinziehen kann. Diese wird dann dort angezeigt.

Jetzt wäre der nächste Schritt, dass dieser Dateityp mit dem Programm verknüft wird d.h. ein Doppelklick auf eine msg-Datei und der Viewer öffnet sich und zeigt diese Datei an. Und im letzten Schritt soll das über den Firefox ablaufen.

Wie gehe ich da vor? Bin für jeden Unterstützung dankbar.

hakel2022

Anmeldungsdatum:
21. Februar 2022

Beiträge: 3191

Das kannst du wie bei Windows im Dateimanager "Nautilus" mit der rechten Maustaste erledigen.

Beim Firefox kannst du das in den Einstellungen festlegen. "Allgemein" "Anwendungen"

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 16765

Hallo Grunzwanzling,

Herzlich Willkommen auf Ubuntuusers.

Gruss Lidux

Grunzwanzling

(Themenstarter)

Anmeldungsdatum:
5. Dezember 2022

Beiträge: 12

Danke für die Tipps und die nette Begrüßung hier im Forum ☺

Das im Nautilus hatte ich schon gefunden und im Firefox auch. Aber die Anwendung //github.com/lolo101/MsgViewer: ist ja nicht im System registriert. Und deshalb kann man sie nicht auswählen.

Die Anwendung wird wie folgt auf der Konsole ausgeführt:

1
java -jar MSGViewer.jar name_der_datei.msg

Dabei befinde ich mich im Verzeichnins, wo das Programm MSGViewer liegt. Beim Dateinamen der msg-Datei muss auch noch der Pfad ergänzt werden. Dann öffnet sich der Viewer und zeigt direkt den Inhalt der Datei an.

Nun soll aber die msg-Datei per Doppelklick angezeigt werden. Ich vermute, dass die Anwendung halt im System registriert werden muss?!?!?!

Jmd eine Idee?

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1274

Hallo Grunzwanzling,

da Ubuntu nicht Windows ist, führt ein "regsvr32" nicht weiter. Du musst für den MIME-Type der Outlook msg Datei einen Launcher (Starter) erstellen. Ich habe mir die Quellen per "git clone https://github.com/lolo101/MsgViewer.git" gezogen, den .jar File über "./mvnw package" gebildet und abgelegt unter "$HOME/c/Util/MSGViewer/msgviewer.jar".

In meinem folgenden Beispiel nenne ich diesen Launcher "MSG viewer" und speichere ihn in der Datei "~/.local/share/applications/tstmsg.desktop" wie folgt ab:

echo "[Desktop Entry]
Type=Application
Name=MSG viewer
MimeType=application/x-wine-extension-msg;
Exec=java -jar $HOME/c/Util/MSGViewer/msgviewer.jar %f
NoDisplay=true
StartupNotify=true
Icon=emblem-mail
" >~/.local/share/applications/tstmsg.desktop 

Nun kann die .msg Datei in deinem bevorzugten Datei-Explorer (z.B. thunar) mit dem Launcher in bekannter Weise verknüpft werden. Die erforderlichen Schritte bei dieser Verknüpfung hängen von deinem eingesetzten Datei-Explorer ab. Bei Thunar macht man einen Rechtsklick auf die msg Datei und wählt "Öffnen mit → Mit anderer Anwendung öffnen ..." aus. Im dann angezeigten Auswahlfenster scrollt man bis man die Applikation "MSG viewer" gefunden hat und klickt diese an. Fertig.

Grunzwanzling

(Themenstarter)

Anmeldungsdatum:
5. Dezember 2022

Beiträge: 12

Hallo und Danke für Deine Antwort. Genau das suchte ich ☺

Ich habe es fast geschafft. In Deiner Anleitung waren ein paar Fallstricke, die ich aber selber mit ein wenig Internetrecherche lösen konnte.

Hier die Datei, die ich hier abgelegt habe:

[Desktop Entry]
Type=Application
Name=MSG viewer
MimeType=application/x-wine-extension-msg;
Exec=java -jar /home/administrator/Downloads/MSGViewer-1.9/MSGViewer.jar %f
NoDisplay=true
StartupNotify=true
Icon=emblem-mail

Am Anfang und am Ende Deiner Datei war noch "Datenmüll" mitkopiert worden. Das musste ich entfernen. Und dann darf allem Anschein nach kein relativer Pfad zum home-Verzeichnis verwendet werden, sondern ein absoluter Pfad.

So weit so gut. Jetzt öffnet sich per Doppelklick auf eine msg-Datei der Viewer. Klasse! 😀

Jetzt möchte ich im weiteren Schritt, dass im Firefox auch die msg-Datei direkt im Viewer geöffnet wird. Leider bietet FF mir keine entpsrechende Auswahl. Mit eininigen Klicks mehr, kann ich das umgehen indem ich folgende Schrittfolge durchführe:

1) Datei in FF anklicken

2) Im Auswahldialog "öffnen mit" "andere" wählen

3) einzige Möglichkeit "URL Handler Script" auswählen und öffnen

4) jetzt kann der MSGViewer ausgewählt werden und die Datei wird angezeigt

Beim nächsten Mal hat FF aber vergessen, dass die MSG-Datei mit dem MSGViewer geöffnet werden soll. Unter Einstellungen/Allgemein/Anwendungen wird der MSGViewer nicht angeboten.

Wie kann man jetzt noch den FF dazu bringen, mit einem klick diese Dateien richtig zu öffnen?

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1274

Wie kann man jetzt noch den FF dazu bringen, mit einem klick diese Dateien richtig zu öffnen?

Ich muss mich ein wenig entschuldigen, dass ich bei der Bedienung mit der Grafik-Oberfläche nicht so firm bin. Eventuell hilft hier ein Wissender weiter. Ich schaue mir halt die relevanten Dateien im Terminal an und mache dann die erforderlichen Änderungen. Es wird sicher eine Möglichkeit geben, über die grafische Oberfläche die Aktion auch durchzuführen nur kenne ich die nicht.

Damit du mit Firefox auch die msg Datei anschauen kannst, solltest du zuvor wissen, dass Firefox eine eigene MIME Verwaltung hat. Dies kann sicherlich damit begründet werden, dass Firefox auch unter Windows laufen soll und dort das Mime Thema sehr stiefmütterlich behandelt wird. Daher verwendet Firefox in seinem "Profilverzeichnis" die Datei "handlers.json" als Datenbasis.

Du solltest also zunächst heraus finden, mit welchem Profil du in Firefox arbeitest. Die Profile befinden sich im Verzeichnis "~/.mozilla/firefox/" und sind Verzeichnisse mit einem Namen aus {8 alphanumerischen Zeichen}.default-{weitere alphanumerische Zeichen} (Beispiel: ngz5m88g.default-release-1660914493380). In diesem Profil-Verzeichnis befindet sich die "handlers.json" Datenbasis.

Die msg Unterstützung kannst du mit "sed" wie folgt einpflegen (vorher Original-Datei sichern und den Pfad zu deiner .jar Datei im sed Statement anpassen):

$ cd ~/.mozilla/firefox/ngz5m88g.default-release-1660914493380
$ # Sicherung der Originaldefinition
$ cp handlers.json handlers.json.sav
$ sed -i 's#"mimeTypes":.*},#&"application/x-wine-extension-msg": {"action": 2,"ask": true,"extensions": ["msg"],"handlers": [{"name": "MSG viewer","path": "java -jar /home/shiro/c/Util/MSGViewer/msgviewer.jar"}]},#' handlers.json
$ firefox ~/Downloads/Betreff.msg

Das Öffnen der Datei "~/Downloads/Betreff.msg" mit Firefox führt dazu, dass du im Popup Fenster gefragt wirst, ob du die "Datei speichern" oder "mit MSG viewer (Standard)" öffnen willst. Wenn du diese Nachfrage nicht (mehr) haben willst, kannst du das im "sed" Statement (ask) ändern oder dies über die grafische Oberfläche von Firefox bewerkstelligen.

Hierzu rufst du "firefox" auf und gehst in das Menue "Einstellungen" → "Allgemein" → "Anwendungen". In der angezeigten Tabelle findest du in der Spalte "Dateitype" den Eintrag "Outlook-Element". Bei der Spalte "Aktion" kannst du statt "Jedes Mal nachfragen" auch den Punkt "Mit MSG viewer öffnen (Standard)" auswählen. Wenn du das machst, wird Firefox die msg Datei ohne Nachfrage öffnen.

PS: Mir ist grad eingefallen, dass du eventuell nicht weist, wie du deinen Profilordner ermitteln kannst. Daher, wenn auch bereits bekannt, hier ein kleiner Tipp:
In der URL Zeile von Firefox gib bitte "about:support" ein. In der Tabelle "Allgemeine Informationen" ist links der Spaltenwert "Profilverzeichnis" zu suchen. Auf der rechten Seite ist der absolute Pfad zum Profil gelistet. Natürlich kannst du auch "about:profiles" verwenden.

PS2: Wenn dir dir Aktion mit dem "sed" Befehl nicht transparent ist, kannst du auch über die GUI diese Funktion erhalten. Siehe dazu https://support.mozilla.org/en-US/kb/change-firefox-behavior-when-open-file den Abschnitt "Adding download actions".

Grunzwanzling

(Themenstarter)

Anmeldungsdatum:
5. Dezember 2022

Beiträge: 12

OK, das hört sich ganz gut an. Danke schonmal. Allerdings kann etwas mit dem "sed-Befehl" nicht stimmen

sed -i 's#"mimeTypes":.*},#&"application/x-wine-extension-msg": {"action": 2,"ask": true,"extensions": ["msg"],"handlers": [{"name": "MSG viewer","path": "java -jar /home/shiro/c/Util/MSGViewer/msgviewer.jar"}]},#' handlers.json

denn der einzufügende Text wird außerhalb des Bereichs "mimeTypes" eingefügt. Er muss aber innerhalb sein z.b. direkt hinter "mimeTypes: {". Ich quäle mich gerade durch des sed-Befehl, konnte den Befehl aber noch nicht selbständig korrigieren. Vielleicht kannst Du Dir das nochmal ansehen? Zuhause habe ich aber auch ein Buch, welches ich zu Hilfe nehmen könnte.

Ich habe die Codezeilen mal manuell an der richtigen Stelle eingefügt. Jetzt gibt es im FF unter "Anwendungen" die Anwendung "application/x-wine-extension-msg". Es kann aber nicht der msgviewer ausgewählt werden. Wähle ich allerding "UrlHandler Script" aus, öffnet sich der msgviewer. Schöner wäre es allerdings, wenn man die Anwendung, wie Du beschrieben hast, selber auswählen könnte. Ob der einzufügende Text in der handlers.json noch nicht ganz korrekt ist?

EDIT: so könnte es richtiger sein:

sed -i 's#"mimeTypes":{,#&"application/x-wine-extension-msg": {"action": 2,"ask": true,"extensions": ["msg"],"handlers": [{"name": "MSG viewer","path": "java -jar /home/shiro/c/Util/MSGViewer/msgviewer.jar"}]},#' handlers.json

Dann steht's auf jeden Fall innerhalb von "mimeTypes". Die zweite Sache, dass in FF die Anwendung nicht mit dem Anwendungsnamen aufzurufen ist, ist noch nicht gelöst.

EDIT2: Oder muss das alles unter der Rubrik "schemes" rein?!?!!? Ich mache mal am Montag weiter...

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1274

Ich hatte doch geschrieben

... und den Pfad zu deiner .jar Datei im sed Statement anpassen

Wenn du meinen sed Befehl ohne Änderung verwendet hast, wird leider nichts passieren, da wahrscheinlich an dem von mir verwendeten Pfad bei dir die .jar Datei nicht liegt. Ich vermute, dass deine .jar Datei eventuell "/home/administrator/Downloads/MSGViewer-1.9/MSGViewer.jar" lautet. In diesem Fall wäre der sed Befehl wie folgt zu verwenden:

$ cp handlers.json.sav handlers.json
$ sed -i 's#"mimeTypes":.*},#&"application/x-wine-extension-msg": {"action": 2,"ask": true,"extensions": ["msg"],"handlers": [{"name": "MSG viewer","path": "java -jar /home/administrator/Downloads/MSGViewer-1.9/MSGViewer.jar"}]},#' handlers.json

Der sed Befehl sucht den String, der mit "mimeTypes": beginnt und alle Zeichen bis zum letzten }, enhält. Diese Zeichenkette wird über "&" gefolgt von dem '"applicaton/x-wine-extension-msg": ...' Text eingefügt. Wenn du den "...msg" Text als ersten Eintrag hinter '"mimeTypes":{' einfügen willst, wäre der "sed" Befehl wie folgt abzuändern:

$ sed -i 's#"mimeTypes":{#&"application/x-wine-extension-msg":{"action":2,"ask":true,"extensions":["msg"],"handlers":[{"name":"MSG viewer","path":"java -jar /home/administrator/Downloads/MSGViewer-1.9/MSGViewer.jar"}]},#' handlers.json

Damit die .json Datei hübsch angezeigt werden kann, kann man sie sich mit "jq . handlers.json" schön formatiert darstellen lassen.

Allerdings sollte die Position in diesem Kontext nicht relevant sein. Wenn der absolute Pfad zu deiner .jar Datei von meiner obigen Vermutung abweicht, solltest du den korrekten Pfad/Dateinamen im "sed" Statement einpflegen.

Grunzwanzling

(Themenstarter)

Anmeldungsdatum:
5. Dezember 2022

Beiträge: 12

Ich hatte den Pfad bereits angepasst, ihn aber hier bequemlichkeitshalber nicht korrigiert, sondern einfach Deinen Befehl kopiert. Sorry für das Missverständnis.

Du hast recht, der sed-Befehl sucht nach "mimeTypes" bis zum letzten "}". Aber der letzte "}" ist nicht im Bereich "mimeTypes", sondern nach dem Bereich "schemes". Somit wird der Text nach diesem Bereich eingefügt. Hier der Aufbau der handlers.json:

	"defaultHandlersVersion": {
		"de": 4
	},
	"mimeTypes": {
	...
	},
	"schemes": {
	... 
	}

Das funzt natürlich nicht. Aber der neue von Dir genannte Befehl sollte klappen.

Ich hatte natürlich das Problem, dass die json nicht leserlich angezeigt wurde. Da hatte ich das von Dir genannte Programm schon gefunden und installiert. So ist's besser.

Trotzdem wird der msgviewer nicht als auswählbares Programm angezeigt. Ich muss mich noch ein wenig mit der Syntax der handlers.json auseinandersetzen. Ich denke, da werde ich schon etwas finden.

Nochmals vielen Dank ☺

Antworten |