Ich möchte eigentlich zwei Fragen stellen:
Wo finde ich mehr über verfügbare Argumente / Parameter-Verknüpfungen für den Exec-Eintrag in Desktop-Dateien (wie% U,% u,% f ...)?
Hauptfrage, wie Datei als Argument auf .desktop Launcher für Weinanwendung übergeben werden?
Ich habe hier nach diesem Vorschlag gesucht: z:%f
Was für mich nicht von Nutzen ist, als ob ich einfach eine .desktop-Datei ausführen würde, ohne eine Datei darauf zu übergeben. Es wird davon ausgegangen, dass das Argument "Laufwerk" ist z:
und mit dem Scannen beginnt.z:
Beispiel:
[Desktop Entry]
Name=Some Windows program
Exec=wine "program.exe" z:%f
Type=Application
Terminal=false
MimeType=application/docbook+xml
Ich möchte eine XML-Datei auf meinem benutzerdefinierten .desktop-Launcher für diese Weinanwendung ablegen und kann dies auf diese Weise. Das Problem ist, dass, wenn ich auf das Startsymbol klicke, um dieses Programm aufzurufen, z:
immer Argumente darüber weitergegeben werden und dies nicht akzeptabel ist
z:%f
z:
application.exe
, an das Sie die aktuell ausgewählte Datei in nautilus übergeben möchten, dhfile.txt
?exec
Zeile, das prüft%f
, ob die Anwendung in der Datei gestartet wird, wenn nicht nur die Anwendung gestartet wird. Kümmere dich darum oder ist es keine Option?Antworten:
Dies ist das Beste, was ich bisher konnte (Notepad-Beispiel)
Ich erwarte bessere Antworten, wenn ich Anfänger bin
quelle
Bei der ersten Frage können Sie sich die Desktop-Eintragsspezifikation - Der Schlüssel ansehen
Exec
quelle
Eine Verbesserung der Antwort von Zetah. Dies funktioniert zum Übergeben mehrerer Dateien an das Programm. % F wird in% F (Großbuchstaben) geändert, um alle abgelegten Dateien zu übergeben. Dabei wird das ^ (für den Zeilenanfang) durch genügend Pfadnamen ersetzt, um die Wahrscheinlichkeit eindeutiger zu machen, das 'g' am Ende des Befehls sed, damit die Ersetzung für alle übergebenen Dateien wiederholt wird, und schließlich das $ anstelle des /, sodass die Zeichen \ Escape nicht erforderlich sind.
Ich habe auch das auszuführende Programm in einen Pfad verschoben, in dem der Pfadname keine Leerzeichen enthält. Deshalb habe ich meinen Boxer-Editor verschoben von:
zu:
quelle
In diesem Thread wurden viele hackige Lösungen veröffentlicht. Hier ist eine viel bessere Lösung, die sich mit mehreren Dateien und Leerzeichen in Dateinamen befasst.
Erstellen Sie die .desktop-Datei wie gewohnt und verwenden Sie einfach diese Exec-Zeile:
Bearbeiten : Wenn Ihre Anwendung mehrere Dateien in einer Instanz verarbeiten kann (z. B. einen PDF-Viewer mit mehreren Registerkarten) und Sie möchten, dass die aktuelle Instanz beim Starten einer neuen Datei automatisch fokussiert wird, müssen Sie folgende Schritte ausführen:
Fügen Sie diese Zeile zur .desktop-Datei hinzu:
StartupWMClass=app.exe
Verwenden Sie diesen Exec-Befehl:
quelle
Eine Exec-Zeile mit einer Pipe Winepath zu Xargs , die mit korrektem Anführungszeichen und ihren -0-Optionen verwendet wird, funktioniert in Ubuntu 14.04 einwandfrei zum Öffnen einzelner und mehrerer Dateien.
quelle
Dies ist die Art und Weise, die gerade für mich an einer RHEL 6.3-Box nach einigem Ausprobieren und Lesen der Desktop-Eintragsspezifikation funktioniert hat. Es ist nicht spezifisch für Wein mit Argumenten, aber es sollte mit so etwas funktionieren
Exec=wine \"filename.exe\"
.Ich hoffe, es hilft jemandem, da ich etwas gesucht habe, um es zum Laufen zu bringen.
Ich denke, Sie müssen doppelte Anführungszeichen verwenden und diese sowie alle Sonderzeichen mit einem Backslash maskieren.
quelle
Ich habe gerade ein kleines Python-Skript geschrieben, das Pfade im Unix-Stil in das Wine-Pfadformat konvertiert.
Laden Sie die Zip- Datei herunter , extrahieren Sie wine-launcher.py in Ihren Home-Ordner und bearbeiten Sie Ihre .desktop-Datei wie folgt :
quelle