当我的剪贴板上有二进制内容时,我想将其转储到文件中。例如,在互联网浏览器上,我可以右键单击图像并单击“复制图像”,然后图像数据将被复制到我的剪贴板,我可以轻松地将其粘贴到图像编辑软件上。现在我想将图像转储到文件中:
因此从这个问题来看:如何通过管道将剪贴板内容转储到文件?
我尝试过这些:
xsel -b > Picture.jpg
xclip -selection clipboard -o > Picture.jpg
gpaste-client get 0 > Picture.jpg
但文件始终包含 0 字节。
当我将这些命令传输到od
和xxd
或时,cat
我只得到0000000
或什么都没有。
当剪贴板包含字符串时,这些命令都可以正常工作,但是当它是二进制时,什么都不起作用!
答案1
在我使用 X11 的 30 多年里,我从未见过它在任何环境中运行良好。甚至使用 X 剪贴板复制和粘贴纯文本与所有不同桌面(KDE、Xfce、GNOME)所做的相比也时好时坏。
帮自己一个忙,在浏览器中使用老旧的“将图像另存为...”。这样可以省去很多麻烦。
背景:剪贴板源应用程序和目标应用程序都需要对如何解释剪贴板内容有一个共同的想法。它是 PBM 吗?PNG?JPG?其他几十种图像格式中的任何一种?或者是某种视频格式?哪一种?
唯一可以很好地工作的事情是在多个相同类型的桌面应用程序之间进行拖放,即从一个 PcManFM 窗口拖放到另一个 PcManFM 窗口或 Gimp 窗口。或者从一个 Dolphin 窗口拖放到另一个 Dolphin 窗口;您明白了。如果运气好一点,它可能可以从某个 KDE 文件管理器窗口拖放到 GNOME 图像查看器窗口。但我不敢打赌。
即使这样,你实际上拖放的是文件的路径,而不是像素;目标应用程序会看到路径并打开该文件。非常简单。