使用Wayland时如何将文本复制到剪贴板?


20

有Wayland cli实用程序可将文本复制到剪贴板吗?

我希望能够做这样的事情:

echo "some" > clipboard

相当于xclip的东西。


1
我也很想知道这个问题的答案。从我对gnome-wayland的使用来看,它对剪贴板访问有很多限制。例如,如果您在程序A中复制某些内容并将其关闭,则剪贴板将自动被刷新。对于将xclip复制到剪贴板没有任何限制,但是似乎仅当您在终端中复制了某些内容时粘贴才起作用,而在其他任何地方都没有。另一方面,只要打开原始应用程序,ctrl-v / shift-ctrl-v都没有限制...
thebunnyrules

关于Wayland +剪贴板的讨论-wiki.gnome.org/Initiatives/Wayland/PrimarySelection。根据这张票证,听起来好像已经实现了-github.com/swaywm/sway/issues/1012
slm

感谢您的链接但是对我没有帮助。也许我错过了一些东西
mh-cbon

Answers:


14

bugaevc的wl-clipboard是Wayland的复制/粘贴实用程序:

该项目实现了两个Wayland剪贴板实用程序wl-copy和wl-paste,使您可以轻松地在剪贴板和Unix管道,套接字,文件等之间复制数据。

用法很简单:

# copy a simple text message
$ wl-copy Hello world!

# copy the list of files in Downloads
$ ls ~/Downloads | wl-copy

# copy an image file
$ wl-copy < ~/Pictures/photo.png

# paste to a file
$ wl-paste > clipboard.txt

# grep each pasted word in file source.c
$ for word in $(wl-paste); do grep $word source.c; done

# copy the previous command
$ wl-copy "!!"

# replace the current selection with the list of types it's offered in
$ wl-paste --list-types | wl-copy

尽管wl-copy和wl-paste特别针对纯文本和其他文本内容格式进行了优化,但它们完全支持任意MIME类型的内容。wl-copy通过在其中运行xdg-mime(1)来自动推断复制内容的类型。wl-paste会根据提供的MIME类型的列表及其粘贴到的文件的扩展名,尽力选择要粘贴的类型。如果您对他们选择的类型不满意,或者不想依赖此隐式类型推断,则可以使用--type选项显式指定要使用的类型。


看起来真的很酷!但是我src/meson.build:1:0: ERROR: Dependency "wayland-client" not found, tried pkgconfig and cmake在安装过程中遇到了。我确定这是我的愚蠢错误。是吗 ?我已经sudo dnf i meson -y在构建尝试之前运行。
mh-cbon '19年

1
@ mh-cbon在其github页面上说: The only mandatory dependency is the wayland-client library (try package named wayland-devel or libwayland-dev). 也许安装提到的软件包之一会有所帮助?或者,可以在官方软件包存储库中找到该软件包。
adabru

我安装wayland-devel软件包后,它可以完美地工作。谢谢!
mh-cbon '19

4

wclip是Wayland的剪贴板工具,与xclip

用法如下:

$ wclip i < my_text_file

$ wclip o contents of my text file $

免责声明:我是作者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.