Weitere Fragen zu --photo-viewer und --exec-path

Helmut Waitzmann ml.throttle at xoxy.net
Di Feb 9 09:08:50 CET 2016


Christine Kremsmayr <c.kremsmayr at gmx.net>:
> Am 08.02.2016 um 02:19 schrieb Helmut Waitzmann:
>>> Wie teile ich GnuPG mit, was für "%i" eingesetzt werden soll?
>> Garnicht.  GnuPG sucht sich einen Dateinamen selbst aus, schreibt
>> dort das Photo hinein und übergebt den Dateinamen an der Stelle der
>> Kommandozeile, wo %i steht, an den Bildbetrachter.
> Darf ich jetzt gleich unverschämt weiterfragen? Ich habe ins Blaue
> gerate bezüglich einiger Werte.
>
> "%I" does the same [wie "%i], except the file will not be deleted once
> the viewer exits.--> Ich nehme an, das Foto wird nicht aus dem Speicher
> gelöscht, auch wenn das Fotoanzeigeprogramm geschlossen wird, korrekt?

Ich bin mir nicht sicher, ob ich Dich richtig verstehe.  Gemeint
ist vermutlich folgendes:

Mit %i legt GnuPG eine Bilddatei an und übergibt deren Namen an
den Bildbetrachter.  Und dann wartet GnuPG, bis Du den
Bildbetrachter beendest.  Sobald Du ihn beendet hast, löscht GnuPG
die Bilddatei.

Das ist ja auch ganz sinnvoll, denn die braucht ja jetzt niemand
mehr.

Nun gibt es aber auch Bildbetrachter, die im Hintergrund bereits
laufen, und für die es ein Bildübergabeprogramm gibt, das man
starten kann, damit der bereits laufende Bildbetrachter ein neues
Fenster auf dem Bildschirm aufmacht und das Bild anzeigt.

Wenn man jetzt das Bildübergabeprogramm startet, wendet es sich an
den laufenden Bildbetrachter und übergibt ihm den Dateinamen des
anzuzeigenden Bildes.  Dann beendet es sich.  Der Bildbetrachter
öffnet die Bilddatei und zeigt sie an.

Wenn Du jetzt in die Konfigurationsdatei

photo-viewer "mein_Bildübergabeprogramm %i"

reinschreibst, löscht GnuPG die Bilddatei, sobald das
Bildübergabeprogramm sich beendet hat.  Möglicherweise ist aber
der Bildbetrachter noch gar nicht dazu gekommen, die Bilddatei zu
öffnen und zu lesen.  D.h., GnuPG raubt ihm das Bild, ehe er es
anzeigen kann.

Um das zu vermeiden, kann man statt %i %I nehmen.  Dann sollte sich
allerdings der Bildbetrachter darum kümmern, die Bilddatei nach
Gebrauch zu löschen:  GnuPG löscht sie nicht.

> "%k" for the key ID --> Ich nehme an: Wenn ich die Option
> --photo-viewer "0x123E45 %k" verwende, dann wird nur die Foto-ID
> angezeigt, die im Schlüssel 0x123E45 gespeichert ist?

Nein.  Da steckt viel weniger dahinter:

--photo-viewer "0x123E45 %k"

würde bedeuten, ein Bildprogramm namens „0x123E45“ zu starten und
ihm als Parameter das kurze Schlüssel‐Id des Schlüssels zu
übergeben, eher nicht das, was Du wolltest.  Vergiss nicht:  Die
Option --photo-viewer (oder das entsprechende in der
Konfigurationsdatei) muss eine ganze Kommandozeile für den
Bildbetrachter enthalten.

%k könntest Du beispielsweise verwenden – wenn der Bildbetrachter
das unterstützt –, um ihm einen Titel mitzuteilen, den er am
Bildfenster anzeigen soll.  Auf diese Weise kannst Du am
Fenstertitel sehen, welches Schlüssel‐Id der Schlüssel hat, zu dem
das Bild gehört.  Ein Beispiel dazu hast Du weiter unten mit dem
Bildbetrachter „xloadimage“ zitiert, wo genau das gemacht wird.

> "%f" for the key fingerprint --> Ich nehme an, Wenn ich die
> Option --photo-viewer "7F65 A380 B5FE B685 E8F6 7820 6F52 3CA7
> DDED 9124 %k" verwende, dann werden nur die Foto-IDs angezeigt,
> die im Schlüssel 7F65 A380 B5FE B685 E8F6 7820 6F52 3CA7 DDED
> 9124 gespeichert sind?

Ähnlich verhält es sich mit %K und %f:  Man kann sie verwenden, um
den Bildbetrachter zu veranlassen, das lange Schlüssel‐Id oder den
Fingerabdruck des Schlüssels im Bildtitel zu verwenden.

> "%t" for the extension of the image type (e.g. "jpg") --> Wozu
> ist dieser Wert da?  ich verwende grundsätzlich nur Fotos im
> Format JPEG. 

Ich vermute, die Entscheidung, welchen Bildtyp ein Photo hat,
liegt beim Schlüsselersteller, also Deinem Kommunikationspartner,
nicht bei Dir.

> Ist dieser Wert für Fälle gedacht, in denen das Format abweicht,
> zB. GIF?  Wenn ich ein Foto als GIF-Datei habe, muss ich dann
> die Optioon so verwenden: --photo-viewer "gif %t"?

Das kommt auf den Bildbetrachter an.  Manche Bildbetrachter raten
nicht selbst, in was für einem Bildformat die Daten (oder die
Datei) sind, die GnuPG ihnen übergibt, sondern wollen den Bildtyp
in der Kommandozeile genannt bekommen.

Nimm an, Du hättest einen Bildbetrachter, der immer zwei Parameter
haben will: als ersten Parameter den Bildtyp (z.B. "jpg" oder
"gif") und als zweiten die Bilddatei.  Dann müsstest Du

photo-viewer "mein_Bildbetrachter %t %i"

schreiben, damit GnuPG ihm mitteilt, von welchem Bildtyp die Datei
ist.

> "%T" for the MIME type of the image (e.g. "image/jpeg") --> das
> verstehe ich leider nicht.

Das ist ähnlich wie bei %t und wäre für Bildbetrachter, die als
Bildtyp z.B. image/jpeg oder image/gif gesagt bekommen wollen.

Die folgenden vier sind in meinem GnuPG noch nicht enthalten.
Aber ich versuche mal, zu raten:

> "%v" for the single-character calculated validity of the image
> being viewed (e.g. "f") --> dito.
>  
> "%V" for the calculated validity as a string (e.g. "full") -->
> dito.

Zu jedem User‐Id eines jeden Schlüssels (Deinem eigenen und
fremden öffentlichen Schlüsseln) in Deinem Schlüsselring kennt
GnuPG eine Gültigkeit, wie z.B. „ultimately trusted“, „fully
trusted“, „marginally trusted“ (weiß nicht, wie die deutschen
Begriffe dazu heißen, vielleicht „uneingeschränkt gütlig“, "voll
gültig“, „kaum gültig“).  %V in der Kommandozeile ersetzt GnuPG
durch ultimate, full, marginal, ….  Entsprechend ersetzt GnuPG %v
in der Kommandozeile durch die Anfangsbuchstaben u, f, m, ….

Auch die können dazu verwendet werden, dem Bildbetrachter einen
Bildtitel mitzugeben, den er anzeigen soll.

> "%U" for a base32 encoded hash of the user ID --> dito.

Hier berechnet GnuPG aus dem user ID einen base32‐kodierten
Hashwert und schreibt ihn dort in die Kommandozeile des
Bildbetrachters, wo %U steht.  Auch da kann ich mir nur
vorstellen, dass man das dazu verwenden kann, um den Bildtitel
entsprechend festzulegen.

Der Bildbetrachter bekommt ja keinen Schlüssel übergeben sondern
nur das im Schlüssel enthaltene Bild.  Daher nehme ich an, er kann
damit nichts weiteres anfangen, außer, einen Bildtitel anzuzeigen.

> "%%" for an actual percent sign --> Diesen Wert verstehe ich
> leider überhaupt nicht.

%% ist dafür gedacht, wenn Du ein %‐Zeichen in die Kommandozeile
stellen willst, z.B., weil darin Umgebungsvariablen vorkommen,
etwa

photo-viewer "%%PROGRAMFILES%%/mein_Bildbetrachter %i"

GnuPG macht aus %% dann %.  Dann wird also der Bildbetrachter

%PROGRAMFILES%/mein_Bildbetrachter

mit dem Namen der von GnuPG erzeugten Bilddatei als Parameter
aufgerufen.

> The default viewer is "xloadimage -fork -quiet -title ’KeyID
> 0x%k’ STDIN". Note that if your image viewer program is not
> secure, then executing it from GnuPG does not make it secure.

Das ist ein Beispiel eines Bildbetrachters, dem man mittels

-title 'ein Bildtitel'

sagen kann, welchen Titel er beim Bild anzeigen soll.  Im
angeführten Beispiel würde GnuPG beim Anzeigen eines Bildes, das
im Schlüssel, der das kurze Schlüssel‐Id 0x123E45 hat, enthalten
ist, dann

xloadimage -fork -quiet -title 'KeyID 0x123E45' STDIN

starten.



Mehr Informationen über die Mailingliste Gnupg-de