staging.inyokaproject.org

Aufruf von Standardanwendungen

Status: Ungelöst | Ubuntu-Version: Ubuntu 8.10 (Intrepid Ibex)
Antworten |

WvBraun

Anmeldungsdatum:
22. Januar 2008

Beiträge: 29

Hallo Forum,

hier wieder eine spannende Frage. Vielleicht hat ja jemand hiermit schon Erfahrungen sammeln können und kann mir weiter helfen. Ich habe folgenden Wunsch: Ich möchte den Aufruf einer Standardanwendung ändern. Das heißt, ich will NICHT die Anwendung an sich ändern, sondern nur die Art und Weise, wie diese aufgerufen wird.

Meine Theorie: Sowohl das Menü von Gnome, als auch die Reihe der für einen speziellen Dateityp (hier MIME-Typ text/x-tex) stammt auf gewissen Wegen von den Dateien in /usr/share/applications/*.desktop ab. Das steht so in der Dokumentation von Gnome und den Spezifikationen zu den Desktop Entries bei freedesktop.org. Das heißt, wenn man in diesen Dateien etwas ändert, wie den Aufrufstring, dann sollte eigentlich das nächste Mal, wenn ich eine Datei vom genannten Typ öffnen mag, der neue Aufrufstring verwendet werden.

Praktisch passiert folgendes: Ich ändere den Aufrufstring (Tag: Exec=...) in der texmaker.desktop (zum Testen in gtali oder gcalctool), dann sieht man den Effekt gleich. Nach einem Rechtsklick auf eine beliebige .tex-Datei und "Öffnen mit ..." und der Auswahl von texmaker erscheint - - - texmaker! Wenn man vorher noch neustartet und update-deskop-database ausführt (root und nicht-root) ändert das auch nichts. Nächster Test: Die /usr/share/applications/texmaker.desktop wird verschoben auf meinen Desktop und umbenannt. Neustarten, update-desktop-database und sogar update-mime-database führen zum Ergebnis, dass texmaker trotzdem noch gestartet wird. Wenn man nach weiteren Dateien texmaker.desktop sucht, so sind im ganzen Dateisystem keine zu finden.

Was auch noch gehen sollte: Die Umgebungsvariable XDG_DATA_DIRS lautet /usr/local/share;/usr/share;.... Nach der Dokumentation von Gnome sollten nun bei einem Aufruf aus dem Menü heraus oder aus dem Nautilus bei Rechtsklick zu erst (nach Spezifikation !) die Dateien /usr/local/share/applicatons/*.desktop angesehen und wenn möglich, benutzt werden und dann die Dateien aus /usr/share/applications, das ist aber nicht so, was man einfach prüfen kann, wenn man dort eine namensgleiche Datei positioniert, welche einen anderen Aufruf tätigt.

Übrigens: auch mit alacarte (Menüeditor) kann man das Verhalten der Standardanwendung nicht beeinflussen (also speziell nicht den Aufrufstring und auch nicht die Beschreibung. Hier ändert man nur das Erscheinen im Menü (ist das so überhaupt irgendwie standardkonform?!). Eigentlich ist dies klar, denn man kann mit Nutzerrechten nicht Dateien in /usr/share/applications ändern.

Es gibt einen Weg, wie es funktioniert: Man kann unter ~/.local/share/applications einen Starter (texmaker.desktop) und diesen verwenden - das ist aber keine Lösung, wenn es allen Benutzer am Rechner zur Verfügung stehen soll. Hier wäre am saubersten einen Starter in /usr/local/share/applications anzulegen, der dann einfach über die Präzedenz in XDG_DATA_DIRS aufgerufen wird. Das hat dann sogar den Vorteil, dass der eigene Starter nicht automatisch gelöscht wird, wenn man die Anwendung mal deinstalliert (warum auch immer).

Der Paketmanager und die Installationsskripte scheinen in der Lage zu sein, das Menü und die Standardanwendungen zu modifizieren - also will ich das auch können - weiß nun jemand wie?

Ich habe schon einiges dazu gelesen und auch hier im Wiki war dazu noch nichts zu finden... die Spezifikationen von freedesktop.org und die Dokumentation von Gnome haben mir auch nicht weiter geholfen, daher bin ich für sachdienliche Hinweise sehr dankbar. Ich gelobe auch feierlich bei Hilfe den Artikel texmaker hier im Wiki auszubauen und zu beschreiben, wie man den texmaker dazu bringt, das angeklickte Dokument beim Starten zu öffnen (das kann er nämlich im Moment nach der Installation nicht und das ist der Sinn der beschriebenen Übung).

MfG, WvBraun.

Antworten |