PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benutzen der xdg-utils des Portland Projekts



anda_skoa
14-10-2006, 22:22
Viele Entwickler, die Applikationen für die Unix/Linux Desktops entwicklen, können aus verschiedenen Gründen die ansich hervorragenden Bibliotheken der Desktop Projekte nicht verwenden und wirken dadurch weniger integriert.

Um dieses Problem abzuschwächen, habe Entwickler der freien Desktop Projekte im sogenannte Portland Project angefangen, einen neuen Zugang zu einem Teil der Desktopfunktionalität aufzubauen.

Die erste Phases diese alternativen Zugangs sind die sogenannte xdg-utils, eine Sammlung von Kommandozeilenprogrammen, die jeweils eine spezielle Integrationseigenschaft zur Verfügung stellen.

Projektübersicht, aktuelle Veröffentlichungen und offene Punkte findet man auf der Projektwebsite http://portland.freedesktop.org/wiki/Portland

Fragen oder Kommentare zu diesem Thema bitte in diesem Thread posten:
http://www.mrunix.de/forums/showthread.php?t=47060

anda_skoa
14-10-2006, 22:24
Alle Programme verfügen über Dokumentation im Manpageformat und eine Kurzhilfe über die Kommandozeilenoption --help

Kann ein Aufruf erfolgreich umgesetzt werden, ist der Rückgabewert aller Programme wie üblich 0

Wenn während der Abarbeitung ein Fehler auftritt, wird je nach Art des Fehlers einer von folgenden Fehlercodes zurückgegeben:


1 - Syntaxfehler: falsche oder unbekannte Parameter im Aufruf

2 - Datei nicht gefunden: eine als Parameter angegeben Datei existiert nicht

3 - Ausführung unmöglich: ein für die Ausführung des Befehls notiges Hilfsprogramm ist nicht vorhanden oder nicht ausführbar

4 - Ausführung gescheitert: das ausgeführte Hilfsprogramm konnte den Befehl nicht erfolgreich abschließen

5 - Datei nicht lesbar: eine als Parameter angegeben Quelldatei kann nicht gelesen werden, zum Beispiel weil der Benutzer keine Leserechte besitzt

6 -Datei nicht schreibbar: eine als Parameter angebene Zieldatei kann nicht geschrieben werden, zum Beispiel weil sie schreibgeschützt ist oder der Benutzer keine Erzeugungsrechte im Zielpfad hat

anda_skoa
14-10-2006, 22:25
Das Programm xdg-open öffnet eine angegeben Datei bzw. URI in dem dafür vorgesehenen Programm, wobei dabei die Einstellung der aktuell aktiven Desktopumgebung zum Tragen kommt.

Häufigster Anwendungszweck wird vermutlich das Starten des Standardbrowsers sein, zum Beispiel um aus einem Programm heraus auf die Website des Herstellers oder zu einer Onlinedokumentation zu gelangen.


xdg-open http://www.mrunix.de/


Lokale Dateien können über ihren Dateinamen oder über die entsprechende file-URI angesprochen werden. Meistens wird aus der Sicht der aufrufenden Applikation das Benutzen des Dateinamens einfacher sein.


xdg-open /home/benutzername/.bashrc

Der Pfad kann absolut oder relativ sein, d.h. wenn die Datei im aktuellen Arbeitsverzeichnis liegt, kann der Aufruf auch ohne Pfad erfolgen

anda_skoa
15-10-2006, 18:39
Das Programm xdg-email erstellt eine E-Mail im dafür eingestellten Programm des Benutzers. Üblicherweise wird dieses Programm ein neues Fenster für die Nachricht öffnen und mit den Daten, die von xdg-email übergeben wurden, füllen und so dem Benutzer ermögliche, alle Adressen und Inhalte noch zu ändern.

Die Daten können mittels mailto URI und separat über Kommandozeilenparameter angegeben werden, bzw. auch in einer Kombination dieser beiden Möglichkeiten.
Nachdem bereits xdg-open mailto URIs handhaben kann, wird der Hauptanwendungsfall von xdg-email die Übergaben als Einzelparameter sein.

Mit Ausnahme von --body kann jede Option kann mehrmals und in beliebiger Reihenfolge verwendet werden.

Beispiel: erstellen einer leeren Feedback E-Mail


xdg-email feedback@firma.de --subject "Meine Meinung zu Ihrem Produkt"


Beispiel: erstellen einer Fehlerreport E-Mail


xdg-email bugs@firma.de --subject "Bei der Benutzung Ihres Produkts ist ein Fehler aufgetreten" --body "Produkt: XYZ-Pro
Version: 2.5
Fehler: interner Fehler #1234"

Wie das Beispiel zeigt, kann der Body auch mehrzeilig sein.

Adressaten können neben der eigentlichen E-Mail Adresse auch Namen in der üblichen Konvention enthalten


xdg-email "Office von Kunde.de <office@kunde.de>" --bcc "Verteiler der Entwickler <developers@firma.de>"


Beispiel: versenden einer Datei


xdg-email developers@firma.de --subject "Echt witzig" --body "Siehe Bild im Anhang" --attach /home/benutzername/ooops.jpg

Dabei ist zu beachten, daß das E-Mail Programm die Datei vermutlich bis zum eigentlichen Versenden benötig, d.h. wenn es sich um eine temporäre Datei handelt, sollte man sie nicht direkt nach der Beendigung von xdg-email löschen.

anda_skoa
29-10-2006, 15:48
Das Programm xdg-screensaver dient zur Steuerung des Bildschirmschoners, bzw. zur Steuerung dessen Verhaltens.

Dabzu gibt es im Grunde zwei Teilaspekte:

umgehendes Einschalten des Bildschirmschoners und Abbrechen eines laufenden Bildschirmschoners
Aussetzen der Bildschirmschoneraktivierung


Das umgehende Umschalten ist praktisch vergleichbar mit der durch eine Benutzeraktion ausgelöstem Wechsel, zum Beispiel Klick auf "Sperren" oder schließen eines Laptopdeckels zum Sperren des Zugangs oder Benutzerinteraktion zur Aufhebung des Bildschirmschoners bzw. Anzeigen des Entsperrungsdialoges.

Die relavanten xdg-screensaver Kommandos sind

activate - Bildschirmschoner an schalten
lock - Arbeitsplatz sperren
reset - activate oder lock wieder aufheben

wobei die beiden ersten je nach Einstellungen des Desktops das selbe Resultat haben können, d.h. wenn beim Starten eines Bildschirmschoners automatisch auch gesperrt wird.

Beispiel: aktivieren des Bildschirmschoners für eine Dauer 10 Sekunden


$ xdg-screensaver activate && sleep 10 && xdg-screensaver reset



Viel interessanter als diese direkte Beeinflussung des Zustandes, ist das Aussetzen der Aktivierung (suspend) und das Wiederherstellen des automatischen Verhaltens (resume).

Anwendungsfälle wären zum Beispiel das vorrübergehende "Aufhalten" der Bildschirmschoneraktivierung während ein Videoplayer läuft (längere Zeit keine Benutzerinteraktion wahrscheinlich) oder wenn in einem Präsentationsprogramm zwischen den einzelnen Folienwechsel zuviel Zeit vergehen könnte.
Letzteres ist besonders bei Laptops mit aktivierten Energiesparmaßnahmen relative häufig zu beobachten.

Um zu vermeiden, daß die ansich eingeschaltete automatische Aktivierung durch einen Programmabsturz oder Beendingung ohne Aufruf von "resume" nicht mehr korrekt wiederhergestellt wird, erfordern diese beiden Kommandos als zusätzliches Kommandozeilenargument einen X11 Fenster ID.

Jedes X11 Fenster wird vom X-Server mit einer eindeutigen Ganzzahl verknüpft, der sogenannten Window-ID. Der für das Handhaben der Bildschirmschoneraktivierung zuständige Prozess kann daher jederzeit feststellen, ob ein Fenster, daß mit einem "suspend" Aufruf verknüpft ist, noch existiert und gegebenfalls das Blockieren der Aktivierung aufheben, falls das Fenster eben nicht mehr vorhanden ist.

xdg-screensaver akzeptiert für das Kommandozeilenargument sowohl die dezimale als auch die hexadezimale Darstellung, wobei die hexadezimale Darstellung, wie in den meisten Programmiersprachen üblich mit


0x

beginnen muß.



xdg-screensaver suspend 52428807

wäre also äquivalent zu


xdg-screensaver suspend 0x3200007

anda_skoa
11-11-2006, 16:55
Das Programm xdg-desktop-icon dient zur Installation und Deinstallation von Dateien auf dem Desktop (neudeutsch "Arbeitsfläche") des Benutzers in dessen Session das Programm ausgeführt wird.

Der Namensteil "icon" bezieht sich auf die übliche Darstellung von Dateien auf dem Desktop, d.h. in Form eines Icons. Obwohl das Programm jede beliebige Datei handhaben kann, wird der häufigste Anwendungsfall das Installieren bzw. Entfernen von Programmstartern sein, also Icons, deren Aktion das Starten eines Programm ist.

Programmstarter sind sogenannte ".desktop" Dateien, d.h. Dateien, die folgender Spezifikation genügen:
http://www.freedesktop.org/wiki/Standards/desktop-entry-spec

Wird xdg-desktop-icon als benutzerspezifischer Schritt während einer Programminstallation ausgeführt, ist es am einfachsten, die selbe Datei zu verwenden, die das Programm zur Installation des Programmstartmenü-Eintrages verwendet.

Dabei ist eine Empfehlung, den Dateinamen in der Form


hersteller-program.desktop

zu wählen, um Namenskonflikte mit den Dateien anderer Hersteller zu vermeiden.
Die Beschriftung des Icons wird ohnehin getrennt davon aus dem Inhalt des Name Eintrages in der Datei gebildet.

Beispiele:

Installieren eines Starters für das Programm "supertool" des Herstellers "mrunix":


$ xdg-desktop-icon install mrunix-supertool.desktop


Installieren eines Starters für das Programm "supertool" ohne Herstellerprefix:


$ xdg-desktop-icon install --novendor supertool.desktop

Die Option --novendor deaktiviert die Überprüfung ob ein Herstellerprefix vorhanden ist. Das selbe Kommando ohne diese Option würde fehlschlagen.

Sie ist allerdings nur bei Programmstartern erforderlich, normale Dateien können immer ohne Prefix installiert werden

Entfernen der zuvor installierten Dateien:


$ xdg-desktop-icon uninstall mrunix-supertool.desktop
$ xdg-desktop-icon uninstall supertool.desktop

Im Gegensatz zu "install" findet bei "uninstall" keine spezielle Behandlung von Programmstartern statt.