Ich glaube, dass der Grund, warum das Skript von Leo Alekseyev manchmal (auf einigen Systemen) nicht funktioniert, in dieser Antwort auf eine ähnliche Frage erklärt wird. Wichtiger Teil hier zitiert:
Eine Besonderheit, die sich von den meisten anderen Systemen unterscheidet: Wenn das Programm, das die Auswahl (Zwischenablage) besitzt, verschwindet, wird auch die Auswahl deaktiviert.
Wenn ich Leos Skript in einer Python-Shell laufe, funktioniert es, solange die Shell läuft. Ich denke, die Daten aus der Zwischenablage gehen verloren, wenn das Skript beendet wird. Die in der Antwort veröffentlichte Lösung funktioniert für mich:
#!/usr/bin/env python import gtk import sys count = 0 def handle_owner_change(clipboard, event): global count print 'clipboard.owner-change(%r, %r)' % (clipboard, event) count += 1 if count > 1: sys.exit(0) image = gtk.gdk.pixbuf_new_from_file(sys.argv[1]) clipboard = gtk.clipboard_get() clipboard.connect('owner-change', handle_owner_change) clipboard.set_image(image) clipboard.store() gtk.main()
Update von _Vi: Der Vollständigkeit halber fügen Sie das Clipboard-> Dateiskript hinzu:
#!/usr/bin/python import gtk, pygtk pygtk.require('2.0') import sys, os clipboard = gtk.clipboard_get() img = clipboard.wait_for_image() img.save(sys.argv[1], "png", {})