Come copiare un'immagine negli Appunti dalla riga di comando in Linux?


14

Posso copiare l'immagine in Gimp e incollarla nel documento OpenOffice.

Come farlo (copiare o incollare l'immagine) dalla riga di comando?


Che cosa significa "incolla dagli Appunti dalla riga di comando" passato? Probabilmente lo stesso, ma solo per copia: unix.stackexchange.com/questions/30093/…
Ciro Santilli 13 改造 中心 法轮功 六四 事件

Risposte:


5

Come si trova qui , la chiave per incollare i dati binari in un file xclipè dire quali tipi di media hai negli appunti. Per PNG puoi:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

O image/jpege .jpgper JPEG.

Quindi ora sul mio ~/Dropbox/.mybashrcaggiungo un alias (clipboard2photo) per incollare facilmente nel file di immagine (forse un giorno lo avremo su Nautilus ).


Come notato nel primo link: NOTA: alcune ricerche dimostrano che è necessario xclip dalla revisione 81 di SVN (da aprile 2010) o successive per avere l'opzione -t richiesta. O applica tu stesso le patch .
i336_

7

Credo che il motivo per cui lo script Leo Alekseyev non funzioni a volte (su alcuni sistemi) sia spiegato in questo risposta a una domanda simile. Parte importante citata qui:

Una stranezza diversa dalla maggior parte degli altri sistemi: se il programma che possiede la selezione (appunti) scompare, anche la selezione.

Quando eseguo lo script di Leo nella shell Python, funziona, finché la shell è in esecuzione. Quindi penso che i dati degli appunti siano persi, quando lo script è terminato. La soluzione pubblicata nella risposta, sta funzionando per me:

#!/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()

Aggiornamento da _Vi: per completezza, aggiungendo gli appunti-> script file:

#!/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", {})

È un po 'fastidioso come doverlo chiudere manualmente, ma almeno funziona :). Grazie!
crazy2be,

1

Il seguente script python / pygtk fa il lavoro:

#!/usr/bin/python
import gtk, pygtk
pygtk.require('2.0')
import sys, os

def copy_image(f):
    assert os.path.exists(f), "file does not exist"
    image = gtk.gdk.pixbuf_new_from_file(f)
    clipboard = gtk.clipboard_get()
    clipboard.set_image(image)
    clipboard.store()

copy_image(sys.argv[1]);

(Fonte: http://ubuntuforums.org/showthread.php?t=1689889 )

Per usarlo sudo apt-get install python pygtk, incolla il codice sopra in uno script, chmod +xper renderlo eseguibile e dovresti essere pronto.


Piccola immagine png copiata usando questo script. Impossibile incollarlo né in OpenOffice né in Gimp ("Non ci sono dati immagine negli appunti da incollare"). Non lavorare Dopo aver copiato l'immagine reale in Gimp e aver usato questo script, il buffer ritorna al testo precedente.
Vi.

Ho appena provato wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.png:, dove test.py è esattamente ciò che è incollato qui. Incolla bene in Gimp.
Leo Alekseyev,

Provato con Test.png. "Non ci sono dati immagine negli appunti da incollare". Dipende dalla gestione di Gnome? Come eseguire il debug di questo? Posso copiare con successo l'immagine in Gimp e incollare in Openoffice, quindi in generale la copia funziona.
Vi.

E: Impossibile trovare il pacchetto pygtk
aggiornato il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.