Scripting
將文件從 nautilus-script 複製到剪貼板
我有一個 nautilus 腳本,它根據在 nautilus 視窗中選擇的文件生成存檔文件。該存檔文件在
/tmp
目錄中創建。我想要一種方法將此文件從腳本複製到剪貼板,以便使用者可以轉到桌面或主目錄並粘貼它。我試過用
xclip
and來做這個xsel
,但他們似乎沒有復製文件複製操作,而是複製文件的內容。xclip -in -selection c generated-archive echo -n generated-archive | xsel --clipboard --input
他們都沒有做我需要的。
所以,我想知道這是否可能,如果是,我應該怎麼做?
謝謝。
似乎 Nautilus 跟踪其內部狀態與剪貼板的更改有關,這意味著剪貼板的任何狀態更改(包括用相同的文件路徑字元串替換)都會自動取消粘貼掛起狀態,因此當外部載入的剪貼板包含有效的文件路徑…
Nautilus 僅辨識從 Nautilus 本身啟動的文件複製/剪切。
這正是您所觀察到的……也許對為什麼有一些解釋……我在 Nautilus 原始碼“cut-n-paste-code”中註意到它包含很多關於保存狀態的資訊。
# In Nautilus, manually "copy" a file (to the clipboard) using Ctrl+C xsel -ob |xxd # hex-display clipboard contents of the clipboard echo "### At this point, Nautilus **paste** works." read # pause xsel -ob |xsel -ib # Replace clipboard with itself xsel -ob |xxd # hex-display clipboard contents again echo "### At this point, Nautilus **paste** does NOT work."
手動複製/剪切後,您可以執行無休止的操作(在 Nautilus 或 elswhere 中),並且 Nautilus 中的 Ctrl+V粘貼將起作用,但一旦您修改剪貼板,它就不會“粘貼”…