补充说明
wl-copy 是 wl-clipboard 套件的一部分,用于在 Wayland 会话中把文本、图片或其他 MIME 类型的数据放入剪贴板。它替代 X11 下的 xclip/xsel,依赖 Wayland 合成器提供的 wlr-data-control 或 ext-data-control 协议。
命令从标准输入读取数据;也可以把文本直接作为参数。默认会转入后台继续提供剪贴板内容,直到内容被替换或 wl-copy --clear 清除。使用 --paste-once 时,服务一次粘贴后即退出,适合敏感数据。
在 XWayland 程序中粘贴时,合成器通常会做桥接,但行为取决于具体环境。若提示无法连接显示服务,确认 WAYLAND_DISPLAY 与 XDG_RUNTIME_DIR 已正确设置,并确保当前会话确实是 Wayland。
语法
wl-copy [选项] [文本...]
选项
-p, --primary:使用主选区(primary selection)。-s, --secondary:使用次选区。-t, --type MIME类型:指定数据类型,如text/plain、image/png。-n, --trim-newline:去掉末尾换行符。-c, --clear:清空剪贴板。-o, --paste-once:只提供一次粘贴,之后退出。-f, --foreground:前台运行,不转入后台。-w, --watch:监视数据源变化并持续更新。
实例
# 把命令输出复制到剪贴板
echo "hello wayland" | wl-copy
# 直接复制文本参数
wl-copy "一段要粘贴的内容"
# 复制文件内容且不保留末尾换行
wl-copy -n < notes.txt
# 复制 PNG 图片
wl-copy --type image/png < screenshot.png
# 复制一次后自动失效,适合密码等敏感内容
printf 'temporary-secret' | wl-copy --paste-once
# 清空剪贴板
wl-copy --clear