Frage

Ich habe eine WxPython Anwendung und ich bin mit Evince die Berichte angezeigt werden es generiert. Da ich jeden Bericht löschen möchten, nachdem der Benutzer die entsprechende Evince Instanz geschlossen hat, verwendet meine Anwendung einen Thread, der eine subprocess.call tut (), um Evince aufrufen, und entfernt dann den Bericht, wenn der Subprozess endet.
Das funktioniert gut, solange der Benutzer sieht nur an einem Bericht zu einem Zeitpunkt, denn wenn er einen Bericht öffnet und dann eine andere (ohne die vorherige Schließung) die vorherige Evince Instanz „recycelt“ wird den neuen Bericht zu zeigen, so subprocess. call () kehrt sofort zurück, und die Datei wird zu schnell gelöscht.
Gibt es eine Möglichkeit Evince zu zwingen, jedes Mal eine neue Instanz zu benutzen?

(Xubuntu 8.10)

War es hilfreich?

Lösung

Wouter Bolsterlee schlägt :

  

dbus-launch --exit-mit-Sitzung evince   file: // ...

Andere Tipps

Sie können das nicht mit evince. Versuchen Sie darauf hindeutet, dass die Entwickler als neues Feature.

Es sieht aus wie die Version, die mit Ubuntu Lucid (2,30) kommt tut Arbeit für meine usecase ... Vielleicht änderten sie ihre Meinung:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top