剪切板管理工具clipcat推薦
Linux下的剪切板管理工具我用過很多,CopyQ、clipman + wofi、diodon、xclip等,其中CopyQ是個崩潰王子,動不動就程序崩潰了(也有優勢,可配置刪除快捷鍵,比如類似vi的d刪除某條歷史記錄),Clipman + wofi用了很久,沒什麼大毛病,配置起來稍微複雜,剩下的幾個,總感覺差點意思。
前幾天發現clipcat這個rust寫的剪切板軟件,用起來還不錯,能直接和rofi聯動,自帶的命令行工具邏輯清晰(下文會提到)。
1. 安裝
筆者現在用Arch,直接一把梭,能進倉庫的都是有點東西的,基本值得信賴,每天能用到新版本軟件,很快樂。
畢竟世界總是變化的,上一篇文章寫到的AMDVLK Open,沒想到前些日子AMD想通了,不繼續自己玩啦,集中資源去和社區開發RADV,可喜可賀。
1sudo pacman -S clipcat
其它發行版我沒有測試,官方倉庫說支持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候選頁面,如下圖所示:
支持模糊過濾,刪除操作類似,懶得截圖了,也是支持編輯的,編輯的概率很低,忽略。
4. 其它
談到剪切板管理軟件,不得不提一下三種剪貼板(Primary、Secondary、Clipboard )的差異。
需求場景 | 推薦使用的剪貼板 | 操作方式 |
---|---|---|
臨時快速複製文本(如終端) | Primary | 選中文本 → 鼠標中鍵 / Shift+Insert 粘貼 |
跨程序通用複製(如文檔 / 圖片) | Clipboard | Ctrl+C 複製 → Ctrl+V 粘貼 |
專業軟件多剪貼板需求 | Secondary | 依賴軟件自定義操作(極少用) |
不想繼續往下看,看上面表格,有興趣和耐心,請繼續往下看,AI回答如下。
- 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 只存儲純文本,不支持圖片、文件等二進制數據。
- 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 幾乎成爲 “歷史遺產”。
- 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 特色。
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。
相關文章:
- 微信小程序開發記
- 解決Arch下VSCode無法輸入中文的問題
- 迷你主機組裝記
- greetd和regreet使用教程
- 我的工具箱
- Xray科學上網簡要
- Arch linux如何順暢連接藍牙設備
- Wayland 環境下gif錄屏
- Ubuntu安裝chrome的方法總結
- Linux安裝最新版本Python