惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tor Project blog
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 【当耐特】
G
Google Developers Blog
J
Java Code Geeks
The Cloudflare Blog
Attack and Defense Labs
Attack and Defense Labs
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
Cisco Talos Blog
Cisco Talos Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
I
Intezer
Jina AI
Jina AI
T
Tenable Blog
P
Palo Alto Networks Blog
Project Zero
Project Zero
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
The Hacker News
The Hacker News
F
Full Disclosure
Cloudbric
Cloudbric
量子位
H
Heimdal Security Blog
K
Kaspersky official blog
有赞技术团队
有赞技术团队
罗磊的独立博客
V
Vulnerabilities – Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
阮一峰的网络日志
阮一峰的网络日志
Vercel News
Vercel News
Recent Announcements
Recent Announcements
WordPress大学
WordPress大学
GbyAI
GbyAI
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
Recorded Future
Recorded Future
Security Archives - TechRepublic
Security Archives - TechRepublic
AI
AI
Webroot Blog
Webroot Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Exploit Database - CXSecurity.com
Apple Machine Learning Research
Apple Machine Learning Research
C
Cybersecurity and Infrastructure Security Agency CISA
H
Hacker News: Front Page
Latest news
Latest news

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法 券商费率调整记 迷你主机组装记 Labwc更换定制皮肤 树莓派跑分流代理 实用自动代理配置示例 九年老鼠标复活记 Openvpn示例 Mac下如何旋转webp图片 如何隐藏Vscode中Markdown PDF插件的头部内容 解决Linux下网络配置无法变更保存的问题 labwc环境启用wlogout Ubuntu下新官方微信尝鲜 简单检测用户是否开启广告屏蔽 Atuin ZFS下卡顿问题解决 Wine安装64位微信 Fish 和 Atuin使用记 Fastapi简单实现临时下载链接 Fastapi微信公众号开发简要 Hugo根据语种展示不同内容 如何修复Waybar微信图标错误 信封加密简要 Linux环境下维护公众号记录 快速隐藏和呼出终端 Wayland环境自动切换壁纸 SuperTuxKart 试玩 简单抓取雪球股票快讯 为什么你的kill命令不能列出信号表 Wine安装微信保姆教程 Hysteria科学上网简要 Ubuntu 23.10 钉钉无法启动解决方法 网站导航栏防止插入Adsense自动广告 Linux环境按键检测 Hugo文末添加最后修改时间 Wayland环境ksnip无法复制问题解决 我眼中的股票市场 Caddy简单图片防盗链 greetd和regreet使用教程 Wayland环境下截图加后期修改 Wayland 环境下gif录屏 Firefox的一些有趣功能 Ubuntu 切换系统语言 Firefox 标题栏高度调整 网站添加回到顶部功能 Hugo自定义字体 Labwc 便捷配置 Wofi使用教程 窗口管理器labwc使用记 文件共享软件Dufs推荐 Hugo静态站点接入Adsense广告 Fcitx5配置详解 Ubuntu安装chrome的方法总结 一种Xterm.js的全屏方案 Google网址收录api Python示例 手机听离线音乐 Snipe it资产导入 应用启动器yofi使用配置 Snipe it资产管理系统安装使用 Ubuntu开机启动加速 Vue3 vite TypeScript跨域等相关设置 Ubuntu手动升级Libreoffice Ubuntu设置alacritty为默认终端 简体文章批量转换为繁体 使用Inkscape调整svg图片大小 实用命令 使用mitmproxy给手机app抓包 Python中rstrip方法细解 Github同主机多仓库部署deploy key问题处理 Linux安装最新版本Python KeePassXC使用教程 Ubuntu 22.10连接蓝牙耳机报错br-connection-profile-unavailable解决方法 Caddy日志配置轮转和格式化
剪切板管理工具clipcat推荐
2025-09-23 · via mephisto.cc

Linux下的剪切板管理工具我用过很多,CopyQ、clipman + wofi、diodon、xclip等,其中CopyQ是个崩溃王子,动不动就程序崩溃了(也有优势,可配置删除快捷键,比如类似vi的d删除某条历史记录),Clipman + wofi用了很久,没什么大毛病,配置起来稍微复杂,剩下的几个,总感觉差点意思。

前几天发现clipcat这个rust写的剪切板软件,用起来还不错,能直接和rofi联动,自带的命令行工具逻辑清晰(下文会提到)。

1. 安装

笔者现在用Arch,直接一把梭,能进仓库的都是有点东西的,基本值得信赖,每天能用到新版本软件,很快乐。

毕竟世界总是变化的,上一篇文章写到的AMDVLK Open,没想到前些日子AMD想通了,不继续自己玩啦,集中资源去和社区开发RADV,可喜可贺。

其它发行版我没有测试,官方仓库说支持MacOS,不知道效果如何,Windows应该是不支持。

每天,我都用Linux,没有任何切换操作系统的动力。

2. 配置

包安装完后,会提供4个命令行工具:

  • clipcatctl (clipcat 客户端控制程序)
  • clipcatd (clipcat 服务端)
  • clipcat-menu (和内置或者外部finder联动)
  • clipcat-notify (监听剪切板工具)

逻辑标准清晰,一看作者就是懂Linux的,也许有人会问,一个剪切板工具软件整4个子命令,会不会太复杂了。其实不然,你需要的配置的非常简单,各司其职。

  • 生成默认配置文件:
1mkdir -p                       $XDG_CONFIG_HOME/clipcat
2clipcatd default-config      > $XDG_CONFIG_HOME/clipcat/clipcatd.toml
3clipcatctl default-config    > $XDG_CONFIG_HOME/clipcat/clipcatctl.toml
4clipcat-menu default-config  > $XDG_CONFIG_HOME/clipcat/clipcat-menu.toml

$XDG_CONFIG_HOME 环境变量,一般就是用户家目录的 .config,默认的配置基本不用改动。

  • 设置开机启动:
 1➜  cat ~/.config/systemd/user/clipcat.service
 2[Unit]
 3Description=Clipcat Daemon for labwc
 4After=graphical-session.target
 5Wants=graphical-session.target
 6
 7[Install]
 8WantedBy=default.target
 9
10[Service]
11# NOTE: We assume that your `clipcatd` is located at `/usr/bin/clipcatd`.
12ExecStartPre=/bin/rm -f %t/clipcat/grpc.sock
13ExecStart=/usr/bin/clipcatd --no-daemon --replace
14Restart=on-failure
15Type=simple
16
17➜  grep -A3 -B3 clipcat  .config/labwc/autostart
18# clipman
19# wl-paste -t text --watch clipman store > /dev/null 2>&1 &
20
21# clipcat
22systemctl --user start clipcat.service
23
24# Enable notifications. Typically GNOME/KDE application notifications go
25# through the org.freedesktop.Notifications D-Bus API and require a client such

即使用systemd配置文件,再通过labwc的autostart启动。这里因为我使用labwc稍微有些绕,没有直接使用systemd启动(有些通知组件启动顺序的问题,不想消耗太多精力排错)。 成熟的桌面环境,直接用官方仓库的systemd启动,猜测应该是没有问题的。

  • 配置快捷键

直接看配置:

1➜  ~ grep -A1 -B1 clipcat .config/labwc/rc.xml
2    <keybind key="C-semicolon">
3      <action name="Execute" command="clipcat-menu"/>
4    </keybind>
5    <keybind key="W-r">
6      <action name="Execute" command="clipcat-menu remove"/>
7    </keybind>

Ctrl + ; 触发clipcat-menu 相关命令,弹出finder,之前装了rofi,默认弹出rofi供候选目标条目,按 Win + r 可选择删除条目。

3. 使用截图

使用示例

 1➜  clipcat-notify
 2{
 3  "clipboard_kind": "Secondary",
 4  "mime": "text/plain;charset=utf-8",
 5  "timestamp": "2025-09-23T14:08:41.002047903+08:00"
 6} 7➜  clipcatctl list
 871dd4a1351d227c2: ➜  ~ clipcat-notify\n{\n  "clipboard_kind": "Secondary",\n  "mime": "text/plain;charset=utf...(6 lines)
 983dc07228086d2b1: ➜  ~ grep -A1 -B1 clipcat .config/labwc/rc.xml\n    <keybind key="C-semicolon">\n      <ac...(7 lines)
104ddec13ce4e41226: 、使用\n
11a7590a35e18f9812: ➜  ~ grep -A3 -B3 clipcat  .config/labwc/autostart\n# clipman\n# wl-paste -t text --watch ...(9 lines)
125086cda61d3968d0: ➜  ~ cat ~/.config/systemd/user/clipcat.service\n[Unit]\nDescription=Clipcat Daemon for l...(15 lines)
1398b78567ca66783a: 如果你没有设置
1410ae2a59320ab394: $XDG_CONFIG_HOME

选中一段文本或者复制,按 Ctrl + ; 弹出rofi候选页面,如下图所示:

clipcat-menu

支持模糊过滤,删除操作类似,懒得截图了,也是支持编辑的,编辑的概率很低,忽略。

4. 其它

谈到剪切板管理软件,不得不提一下三种剪贴板(Primary、Secondary、Clipboard )的差异。

需求场景推荐使用的剪贴板操作方式
临时快速复制文本(如终端)Primary选中文本 → 鼠标中键 / Shift+Insert 粘贴
跨程序通用复制(如文档 / 图片)ClipboardCtrl+C 复制 → Ctrl+V 粘贴
专业软件多剪贴板需求Secondary依赖软件自定义操作(极少用)

不想继续往下看,看上面表格,有兴趣和耐心,请继续往下看,AI回答如下。

  1. Primary(主剪贴板):Linux 特有的 “即时剪贴板”

Primary 是 X Window 系统最早期设计的剪贴板,核心定位是 “即时、临时的文本交换”,完全为效率而生,也是 Linux 与 Windows/macOS 剪贴板逻辑差异最大的地方。

 1核心逻辑:
 2
 3当你用鼠标拖拽选中任意文本(如终端中的命令、编辑器里的代码),系统会自动将选中的内容存入 Primary,无需按下任何 “复制” 快捷键(如 Ctrl+C)。
 4
 5粘贴时,只需在目标位置点击鼠标中键(或按下 Shift+Insert 组合键),即可将 Primary 中的内容粘贴过去。
 6典型场景:
 7    在终端中选中一条命令,直接在另一个终端窗口中点击中键粘贴,无需 Ctrl+C/Ctrl+V;
 8    在文本编辑器中选中文段,快速粘贴到浏览器地址栏或聊天窗口;
 9    临时复制少量内容(如文件名、变量名),无需担心覆盖 “正式” 复制的内容。
10注意点:
11    Primary 数据是 “覆盖式” 的:新选中的文本会直接替换 Primary 中原有内容;
12    数据不持久:关闭存储 Primary 内容的程序(如关闭选中文本所在的终端),Primary 中的数据可能被清空;
13    仅支持文本:多数情况下 Primary 只存储纯文本,不支持图片、文件等二进制数据。
  1. Secondary(次要剪贴板):“小众备用剪贴板”

Secondary 同样是 X Window 系统定义的剪贴板,但定位是 “程序特定的备用交换区”,设计初衷是为专业软件提供 “多剪贴板并行” 能力,但其实用性较低,目前已逐渐被忽略。

 1核心逻辑:
 2Secondary 不支持 “选中文本自动填充”,必须由程序主动调用 X 系统接口才能写入数据(如部分专业文本编辑器会提供 “复制到次要剪贴板” 的选项)。
 3粘贴时也需程序主动读取 Secondary 数据,没有统一的系统级快捷键(需软件自定义,如某些工具中用 Ctrl+Shift+V 粘贴 Secondary 内容)。
 4典型场景:
 5
 6    仅在少数专业工具中有用,例如:
 7        部分 CAD 软件用 Secondary 存储 “辅助标注文本”,与 Primary 的 “主内容” 区分;
 8        早期文本编辑器(如 Emacs)支持用 Secondary 临时存储 “备用片段”,避免覆盖 Primary。
 9    注意点:
10        支持度极低:90% 以上的现代 Linux 程序(如浏览器、办公软件、终端)完全不支持 Secondary,无法写入或读取其数据;
11        功能可替代:如今多剪贴板需求已被剪贴板管理工具(如 clipcat、CopyQ)的 “历史记录” 功能覆盖,Secondary 几乎成为 “历史遗产”。
  1. Clipboard(标准剪贴板):跨系统兼容的 “通用剪贴板”

Clipboard 是为了兼容 Windows 等系统的剪贴板逻辑而设计的,核心定位是 “通用、持久的跨程序数据交换”,也是大多数用户最熟悉的剪贴板(即我们常说的 “Ctrl+C/Ctrl+V 剪贴板”)。

 1核心逻辑:
 2必须通过主动触发 “复制” 操作才能写入数据:如按下 Ctrl+C、右键菜单选择 “复制”、菜单中点击 “复制” 按钮等。
 3粘贴时需主动触发 “粘贴” 操作:如按下 Ctrl+V、右键菜单 “粘贴”、Ctrl+Shift+V(部分终端中)。
 4典型场景:
 5
 6    从浏览器复制网页内容,粘贴到 Word/LibreOffice 文档;
 7    复制图片(如截图、本地图片),粘贴到聊天软件或图片编辑器;
 8    复制文件(如在文件管理器中选中文件后按 Ctrl+C),粘贴到另一个文件夹(本质是文件路径的传递)。
 9
10注意点:
11
12    数据持久化:Clipboard 中的数据会一直保留,直到你执行新的 “复制” 操作(覆盖原有数据),即使关闭源程序也不会丢失(如复制浏览器中的文本后关闭浏览器,仍可粘贴);
13    支持多数据类型:不仅支持纯文本,还能存储图片、HTML、文件路径、富文本(如带格式的文字)等多种 MIME 类型,程序会根据目标场景自动选择合适的格式粘贴(如复制网页文字到记事本,会自动去除 HTML 格式,保留纯文本);
14    跨系统兼容:在 Linux 中通过 Clipboard 复制的内容,可在 Wine 运行的 Windows 程序中粘贴,反之亦然;Wayland 桌面(如 GNOME 40+、KDE Plasma 5+)也完全兼容 Clipboard 逻辑。

Wayland 完全保留了 Primary、Secondary、Clipboard 三种剪贴板的定义,行为与 X Window 一致。

简而言之,普通用户显式接触 Secondary 的机会不多,Clipboard 三种主流操作系统通用,Primary 为 Linux 特色。