1 个不稳定版本
0.0.0 | 2024年1月18日 |
---|
#8 在 #ringboard
2KB
Ringboard
Ringboard 是一个快速、高效且可组合的 Linux 剪贴板管理器。
基本功能
- Ringboard 能够在重启后 记住 您复制的所有内容。
- Ringboard 可以 保存任何内容,包括 图片 或任意字节。
- 您可以使用 正则表达式 或原始查询来对剪贴板历史进行 搜索。
- Ringboard 可以在任何地方 安装(在 Linux 上)且不依赖于特定的桌面环境或框架。
差异化特点
- Ringboard 是 高效 的:它使用自定义的二进制格式以节省磁盘空间,使用 io_uring 来避免分配并只使用单个线程快速运行,以及使用 mmap 以最小化工作集内存。
- Ringboard 是 快速 且 可扩展 的:它被设计为仅加载所需的数据,并在需要时加载。例如,显示最后 100 个最近的剪贴板条目只需加载这 100 个条目。Ringboard 可以支持多达 ~1 百万 个已保存的剪贴板条目。如果您每天复制 100 件事,那么旧条目被覆盖还需要近 30 年。
- Ringboard 是 可组合 的:它使用客户端/服务器架构来支持任何修改或读取数据的程序。例如,您可以通过 CLI、X11 或 Wayland 添加数据。不同的 GUI 可以根据自己的需要显示剪贴板,从而实现与桌面环境的深度集成。
有关项目的详细技术分析,请访问 https://alexsaveau.dev/blog/ringboard。
演示
待做:截图
安装说明
注意:Ringboard 仅适用于 Linux,且需要相对较新的内核(6+)。
开始使用最简单的方法是安装 cargo,然后运行 systemd 的安装脚本。
curl -s https://raw.githubusercontent.com/SUPERCILEX/clipboard-history/master/install-with-cargo-systemd.sh | bash
手动安装
核心组件
您需要一个服务器、一个 X11 或 Wayland 剪贴板监视器,以及一个查看剪贴板的方法。
- 使用以下命令从源安装服务器:
cargo install clipboard-history-server --no-default-features --features systemd
或下载预构建的二进制文件。 - 确定您是否正在使用Wayland或X11,可以使用以下命令:
bash -c 'echo $XDG_SESSION_TYPE'
- 如果在Wayland上,可以从源代码安装,使用以下命令:
cargo install clipboard-history-wayland --no-default-features
(之前也可以使用预编译的二进制文件)。 - 如果在X11上,可以从源代码安装,使用以下命令:
cargo install clipboard-history-x11 --no-default-features
。
- 如果在Wayland上,可以从源代码安装,使用以下命令:
- 安装您选择的客户端
- egui:
cargo install clipboard-history-egui
- CLI:
cargo install clipboard-history
- egui:
- 为启动您的GUI添加一个自定义快捷键,例如使用以下命令:
bash -c 'PATH=~/.cargo/bin:$PATH ringboard-egui'
。
对于systemd
将服务器和X11或Wayland服务安装到~/.config/systemd/user
,并启用它们:systemctl --user enable ringboard-{wayland,x11}
。
对于无框架系统
您需要在启动时启动Ringboard服务器和X11/Wayland剪贴板监视器。
项目分解
每个子模块都包含自己的README,其中包含如何使用它的详细信息。
/
cli/
: Ringboard命令行界面包含用于处理Ringboard数据库的工具。client-sdk/
: 客户端SDK提供读取和写入Ringboard数据的API。egui/
: egui Ringboard客户端在标准GUI中显示剪贴板条目。ringboard/
: 在许多Ringboard存储库中共享的核心代码。server/
: Ringboard服务器将数据写入Ringboard数据库。x11/
: X11剪贴板监视器将新的剪贴板条目发送到Ringboard服务器。wayland/
: Wayland剪贴板监视器将新的剪贴板条目发送到Ringboard服务器。