おすすめのクリップボード管理ツール:Clipcat
Linuxでは、CopyQ、Clipman + Wofi、Diodon、Xclipなど、多くのクリップボード管理ツールを使ってきました。CopyQはクラッシュします。 kingは頻繁にプログラムをクラッシュさせます(viのように履歴エントリを削除する「d」など、設定可能な削除ショートカットなどの利点もあります)。Clipman + WoFiは長年大きな問題もなく使用していますが、設定が少し複雑です。他のツールは思ったほど良くないようです。
数日前、Rustで書かれたクリップボードソフトウェアのclipcatを発見しました。これは非常に優れており、rofiと直接連携し、組み込みのコマンドラインツールは明確なロジックを備えています(これについては後述します)。
1. インストール
私は現在Archを使用しており、かなり実践的です。リポジトリにあるものはどれも概ね信頼性が高く、本格的な機能を備えています。毎日新しいバージョンを使用できるのは嬉しいです。
結局のところ、世界は常に変化しています。前回の記事で触れたAMDVLK Openに関しては、AMDがしばらく前に正気を取り戻し、開発を中止してRADVの開発にリソースを集中させるとは思っていませんでした。コミュニティの皆様、これは素晴らしいニュースです。
1sudo pacman -S clipcat```
2他のディストリビューションはテストしていません。公式リポジトリにはmacOSをサポートしていると記載されていますが、どの程度動作するかは不明です。Windowsはおそらくサポートしていないでしょう。
3
4私は毎日Linuxを使っていますが、OSを変更する気はありません。
5
6### 2. 設定
7パッケージをインストールすると、4つのコマンドラインツールが提供されます。
8
9- clipcatctl (clipcatクライアント制御プログラム)
10- clipcatd (clipcatサーバー)
11- clipcat-menu (内蔵または外部ファインダーとの連携)
12- clipcat-notify (クリップボード監視ツール)
13
14ロジックは明確で標準的であり、作者がLinuxを理解していることは明らかです。クリップボードツールに4つのサブコマンドがあるのは複雑すぎると思う人もいるかもしれません。しかし、実際にはそうではありません。必要な設定は非常にシンプルで、各サブコマンドはそれぞれ独自の機能を実行します。
15
16デフォルト設定を生成するファイル:
17
18```shell
19mkdir -p $XDG_CONFIG_HOME/clipcat
20clipcatd default-config > $XDG_CONFIG_HOME/clipcat/clipcatd.toml
21clipcatctl default-config > $XDG_CONFIG_HOME/clipcat/clipcatctl.toml
22clipcat-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# 注: `clipcatd` が `/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# 通知を有効にします。通常、GNOME/KDE アプリケーションの通知は
25# org.freedesktop.Notifications D-Bus API を使用しますそして、次のようなクライアントが必要です。
これは、systemd の設定ファイルを使用し、labwc の自動起動機能を使って起動することを意味します。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行)
983dc07228086d2b1: ➜ ~ grep -A1 -B1 clipcat .config/labwc/rc.xml\n <keybind key="C-semicolon">\n <ac...(7行)
104ddec13ce4e41226: 、Use\n
11a7590a35e18f9812: ➜ ~ grep -A3 -B3 clipcat .config/labwc/autostart\n# clipman\n# wl-paste -t text --watch ...(9行)
125086cda61d3968d0: ➜ ~ cat ~/.config/systemd/user/clipcat.service\n[Unit]\nDescription=Clipcat Daemon for l...(15行)
1398b78567ca66783a: しない場合はset
1410ae2a59320ab394: $XDG_CONFIG_HOME
テキストを選択またはコピーするには、Ctrl + ;
を押します。以下のように、rofi 候補ページがポップアップ表示されます。
ぼかしフィルタをサポートしており、削除操作も同様です。スクリーンショットを撮るのが面倒なので省略します。編集機能もサポートされていますが、編集する可能性は非常に低いため、ここでは省略します。
4. その他
クリップボード管理ソフトウェアについて議論する際には、3種類のクリップボード(プライマリ、セカンダリ、クリップボード)の違いについて触れることが重要です。
要件シナリオ | 推奨クリップボード | 操作方法 |
---|---|---|
テキストの一時的なクイックコピー(例:ターミナル) | プライマリ | テキストを選択 → 中ボタン / Shift+Insert で貼り付け |
アプリケーション間でのユニバーサルコピー(例:ドキュメント/画像) | クリップボード | Ctrl+C でコピー → Ctrl+V で貼り付け |
業務用ソフトウェアの複数のクリップボード要件 | セカンダリ | カスタムソフトウェア操作への依存(ほとんど使用されない) |
これ以上読みたくない場合は、上記の表を参照してください。興味があり、忍耐強く読み進めたい場合は、読み進めてください。AIによる回答は以下の通りです。
- プライマリクリップボード:Linux独自の「インスタントクリップボード」
プライマリは、X Window System向けに設計された最も初期のクリップボードの1つです。その主な目的は「瞬時に一時的なテキスト交換」です。効率性を重視して構築されているため、LinuxとWindows/macOSのクリップボードロジックの最も異なる部分でもあります。
1コアロジック:
2
3テキスト(ターミナル内のコマンドやエディタ内のコードなど)をドラッグして選択すると、システムは選択したコンテンツを自動的にプライマリに保存します。これにより、「コピー」ショートカット(Ctrl+C など)を押す必要がなくなります。
4
5貼り付けるには、目的の場所でマウスの中ボタンをクリックする(または Shift+Insert キーを押す)だけで、プライマリのコンテンツを貼り付けることができます。
6
7一般的なシナリオ:
8
9ターミナルでコマンドを選択し、マウスの中ボタンをクリックして別のターミナルウィンドウに貼り付けます。Ctrl+C または Ctrl+V を押す必要はありません。
10
11テキストエディタでテキストを選択し、ブラウザのアドレスバーやチャットウィンドウにすばやく貼り付けます。
12
13少量のコンテンツ(ファイル名や変数名など)を一時的にコピーします。以前にコピーしたコンテンツが上書きされる心配はありません。
14
15注:
16プライマリデータは「上書き」されます。新しく選択したテキストは、プライマリの既存のコンテンツを直接置き換えます。
17
18データは永続的ではありません:プライマリコンテンツを保存しているプログラムを閉じると(選択したテキストを含むターミナルを閉じるなど)、プライマリクリップボードのデータが消去される可能性があります。
19
20テキストのみ:ほとんどの場合、プライマリクリップボードにはプレーンテキストのみが保存され、画像やファイルなどのバイナリデータはサポートされません。
- セカンダリクリップボード:「ニッチなバックアップクリップボード」
セカンダリクリップボードもX Window Systemで定義されていますが、「プログラム固有のバックアップスワップ領域」として位置付けられています。当初の設計は、業務用ソフトウェアに「複数のクリップボードを並列に使用」することを目的としていましたが、実用性は比較的低く、徐々に無視されるようになりました。
1コアロジック:
2セカンダリクリップボードは「選択テキストの自動補完」をサポートしておらず、プログラムから明示的に呼び出す必要があります。セカンダリクリップボードへのデータの書き込みは、システムインターフェースを介してのみ可能です(例えば、一部の業務用テキストエディタでは「セカンダリクリップボードにコピー」オプションが提供されています)。
3貼り付けを行うには、プログラムがセカンダリデータを明示的に読み取る必要があります。統一されたシステムレベルのショートカット キーはありません (Ctrl + Shift を使用するなど、ソフトウェアのカスタマイズが必要です)。
4(セカンダリファイルの内容を貼り付けるには、Shift+V キーを押します)。
5一般的なシナリオ:
6
7一部の特殊なツールでのみ使用されます。例:
8
9一部のCADソフトウェアは、プライマリファイルの「メインコンテンツ」とは別に「補助的な注釈テキスト」をセカンダリファイルに保存します。
10
11初期のテキストエディタ(Emacsなど)は、プライマリファイルの上書きを防ぐため、セカンダリファイルに「バックアップフラグメント」を一時的に保存することをサポートしていました。
12
13注記:
14
15サポート状況は非常に低い:最近のLinuxプログラム(ブラウザ、オフィスソフト、端末など)の90%以上はセカンダリファイルを全くサポートしておらず、セカンダリファイルへのデータの書き込みや読み取りはできません。
16
17機能:複数のクリップボードを使用する必要性は、クリップボード管理ツール(clipcatやCopyQなど)の「履歴」機能によって解消されたため、セカンダリファイルはほぼ「歴史的遺物」となっています。
- クリップボード(標準クリップボード):システム間で互換性のある「ユニバーサルクリップボード」
クリップボードは、Windows などのシステムのクリップボードロジックと互換性があるように設計されています。その中核は、アプリケーション間でのユニバーサルで永続的なデータ交換 です。また、多くのユーザーが最も使い慣れているクリップボードでもあります(一般に「Ctrl+C/Ctrl+V クリップボード」として知られています)。
1コアロジック:
2データの書き込みは、「コピー」操作をアクティブにトリガーすることによってのみ可能です。例えば、Ctrl+C を押す、右クリックメニューから「コピー」を選択する、メニュー内の「コピー」ボタンをクリックするなどです。
3貼り付けには、アクティブな「貼り付け」操作が必要です。例えば、Ctrl+V を押す、右クリックメニューから「貼り付け」を選択する、または Ctrl+Shift+V(一部の端末)を押すなどです。一般的なシナリオ:
4
5ブラウザから Web コンテンツをコピーし、Word/LibreOffice ドキュメントに貼り付ける。
6画像(スクリーンショットやローカル画像など)をコピーしてチャットアプリや画像エディタに貼り付ける。
7ファイルをコピーして(ファイルマネージャーでファイルを選択し、Ctrl+C を押すなど)、別のフォルダに貼り付ける(基本的にファイルパスを転送する)。
8
9注意点:
10
11データの永続性:クリップボード内のデータは、新たに「コピー」操作(元のデータを上書き)を実行するまで保持され、ソースプログラムを閉じても保持されます(例えば、ブラウザでテキストをコピーしてブラウザを閉じた場合でも、貼り付けは可能です)。
12
13複数のデータタイプのサポート:プレーンテキストに加えて、画像、HTML、ファイルパス、リッチテキスト(書式付きテキストなど)など、複数の MIME タイプを保存できます。プログラムは、貼り付けるシナリオに基づいて適切な形式を自動的に選択します(例えば、Web ページからメモ帳にテキストをコピーすると、HTML の書式設定は自動的に削除され、プレーンテキストが残ります)。
14
15システム間の互換性:Linux でクリップボード経由でコピーしたコンテンツは、Wine で実行されている Windows プログラムに貼り付けることができ、その逆も可能です。Wayland デスクトップ(GNOME 40 以降や KDE Plasma 5 以降など)もクリップボードのロジックと完全に互換性があります。
Wayland は、プライマリ、セカンダリ、クリップボードの 3 つのクリップボードタイプの定義を完全に保持し、それらの動作は X Window の動作と一致しています。
つまり、一般ユーザーがセカンダリを明示的に操作する機会はほとんどありません。クリップボードは 3 つの主要オペレーティングシステムで共通ですが、プライマリは Linux の機能です。
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。
このシリーズの投稿:
- Arch で VSCode が中国語入力できない問題の解決
- greetd と regreet の使い方チュートリアル
- 私のツールボックス
- Arch LinuxでBluetoothデバイスにスムーズに接続する方法
- Linux 用の Python の最新バージョンをインストールする
- Rofi トライアル
- 上海中古住宅取引データモニタリング
- OpenLDAP モニタリング
- ヒステリーサイエンスインターネットブリーフ