ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Clipcat 使用指南:Rust 剪贴板管理器,支持持久化历史与多端选择界面

2026/8/24 22:26:32 拓冰建站 浏览量
Clipcat 使用指南:Rust 剪贴板管理器,支持持久化历史与多端选择界面 Clipcat 使用指南Rust 剪贴板管理器支持持久化历史与多端选择界面【免费下载链接】clipcatA clipboard manager written in Rust Programming Language.项目地址: https://gitcode.com/gh_mirrors/cl/clipcat在日常开发中剪贴板内容往往用过即丢复制的一段命令、一段报错日志、一张截图窗口一关就再也找不回来了。Clipcat 是一款用 Rust 编写的剪贴板管理器它在后台监听剪贴板变化把历史条目包括文本和图片持久化到本地让你随时通过命令行或模糊搜索界面重新调取。适合需要频繁复用自己复制内容的 Linux / macOS 用户尤其是长期使用终端的人。适合哪类工作场景从具体任务切入Clipcat 的价值主要体现在三类场景命令与代码片段复用终端里复制过的编译命令、报错栈、配置片段都会进入历史用clipcatctl list查看用promote命令把某条内容放回剪贴板再 CtrlV 即可省去在聊天记录和文档之间反复翻找。图片类内容留存剪贴板中的 PNG 等图像同样被缓存并带元数据大小、时间设计师或运维在处理截图排障时不必担心重启后剪贴板清空。固定模板的快速粘贴通过 snippets 配置可以把常用文本如一段 Rust 代码模板、/etc/os-release之类的内容钉在列表里随时取用也可以直接用$EDITOR编辑后更新。在纯终端环境下它还提供了clipcatctl tail -f流式输出新条目的能力可以配合 shell 脚本做自动化的剪贴板后处理例如统一去除首尾空白、给内容打时间戳等。核心能力拆解按用户可感知的功能来分Clipcat 提供这几块能力持久化剪贴板历史守护进程把每次复制的内容写入本地文件默认在$XDG_CACHE_HOME/clipcat/下重启后历史仍在。历史条数、文件位置均可配置。细粒度过滤可以按 MIME 类型屏蔽敏感内容如密码管理器写入的提示类型按正则表达式排除特定文本按文本长度或图片大小设阈值也可以直接关闭图片捕获。多种选择界面finderclipcat-menu负责把历史条目展示给你并插入剪贴板支持内置 finder 以及 skim、fzf、rofi、dmenu、fuzzel 等外部工具还能通过custom_finder配置接入任意外部程序。习惯图形化下拉菜单的选 rofi/dmenu习惯终端模糊搜索的选 fzf/skim。远程调用接口服务端同时暴露 gRPCHTTP 与 Unix 域套接字两种方式和 D-Bus 接口客户端通过它完成列出历史、插入剪贴板、删除条目等操作。这意味着你可以用自己喜欢的客户端工具对接而不是被绑死在某一个前端上。桌面通知复制较长文本时可触发桌面通知便于感知到重要内容已被捕获。剪贴板事件监听工具独立的clipcat-notify只做一件事——等待剪贴板发生变化后退出返回成功或失败的退出码适合写自动化脚本时做等待复制发生的钩子。它不读取主配置文件通过命令行参数选择监听哪种选择集。技术实现与运行环境Clipcat 采用客户端-服务器架构clipcatd作为后台守护进程负责监听剪贴板、缓存内容、把内容写回剪贴板并作为 gRPC 服务等待客户端请求clipcatctl命令行客户端、clipcat-menu选择器客户端则发送 List / Insert / Remove 等请求本身不直接接触剪贴板。运行环境方面平台支持 X11、Wayland实验性和 macOS。窗口系统集成X11 下基于 x11rb、arboard 等库Wayland 下基于 wl-clipboard-rs、arboard。通信方式gRPC over HTTP默认127.0.0.1:45045或 gRPC over Unix 域套接字默认在$XDG_RUNTIME_DIR下另支持 D-Bus 服务名如org.clipcat.clipcat.instance-0。语言整体为 Rust 实现仓库内还有crates/目录下的公共模块历史记录模型、gRPC 协议定义、D-Bus 适配等协议文件位于 crates/proto/proto/。一个容易踩坑的细节X11 和 Wayland 上存在多个选择集——标准的 ClipboardCtrlC/CtrlV和 Primary鼠标划选、中键粘贴。Clipcat 两者都可以监听通过配置文件[watcher]段的enable_clipboard/enable_primary控制。如果只想记录 CtrlC 复制的内容应同时关闭enable_primary和synchronize_selection_with_clipboard否则每次鼠标划选都会产生一条历史。如何安装、启动与配置安装主流 Linux 发行版可通过包管理器安装Arch 的 pacman、FreeBSD 的 pkg、Nix 等Debian/Ubuntu 和 Fedora 可从官方发布页获取 deb/rpm 包也可以直接下载预构建的 musl 静态二进制或从源码编译需要 rustc、cargo、protobuf 编译器编译时需克隆仓库git clone --branchmain https://gitcode.com/gh_mirrors/cl/clipcat后分别cargo install各子包。更多细节以 docs/INSTALL.md 为准。生成配置三个程序各有独立配置文件务必用各自的default-config命令生成混用会解析失败mkdir -p $XDG_CONFIG_HOME/clipcat clipcatd default-config $XDG_CONFIG_HOME/clipcat/clipcatd.toml clipcatctl default-config $XDG_CONFIG_HOME/clipcat/clipcatctl.toml clipcat-menu default-config $XDG_CONFIG_HOME/clipcat/clipcat-menu.toml启动服务执行clipcatd以后台守护方式运行pkill clipcatd停止调试时可用clipcatd --no-daemon前台运行。长期部署推荐写成 systemd 用户服务WantedBygraphical-session.targetREADME 中给出了完整单元示例。常用操作命令作用clipcatctl list列出缓存的剪贴板历史clipcatctl tail [-f]查看最近条目-f持续监听新内容clipcatctl promote id将指定条目写回剪贴板clipcatctl remove [ids]/clear删除指定条目 / 清空历史clipcat-menu insert通过 finder 选择条目并插入剪贴板clipcat-menu edit用$EDITOR编辑某条缓存桌面集成README 提供了 zsh 快捷键绑定、i3 / LeftWM 的按键与自启动配置示例可参照仓库 README 的 Integration 一节按需搬用。适用与不适用适合桌面 LinuxX11用户——这是最成熟的路径重度终端用户希望把复制历史纳入 shell 工作流并做脚本化后处理需要同时保留图片和文本剪贴板历史、且对敏感内容如密码类 MIME有过滤需求的用户。限制与注意事项Wayland 支持仍标注为实验性稳定性预期低于 X11客户端与服务器之间默认 gRPC 消息上限为 8MB超大剪贴板内容需要调大grpc_max_message_size每个程序配置文件独立生成配置时容易拿错命令这是文档中专门提示过的坑max_history 0会彻底禁用历史存储列表将为空。同类替代方面如果你已经深度使用 fzf也可以考虑基于wl-clipboard/xclip自行拼装轻量方案但那种方案需要自己处理持久化、过滤和多客户端接口Clipcat 相当于把这部分封装好了。小结Clipcat 解决的是剪贴板内容过眼云烟的问题后台守护进程负责监听与持久化客户端负责检索与回填接口层用 gRPC 和 D-Bus 做了解耦。如果桌面环境是 X11 且复制粘贴频繁建议先按上述路径装好、生成三个配置、把 finder 换成自己顺手的那一个rofi 或 fzf 是常见起点跑一两天后再按实际噪音调整过滤规则。Wayland 用户可试用但保留预期具体行为以官方文档为准。【免费下载链接】clipcatA clipboard manager written in Rust Programming Language.项目地址: https://gitcode.com/gh_mirrors/cl/clipcat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考