クリップボードとペーストボードの違い:macOSの用語をやさしく解説
Macでは、「クリップボード」と「ペーストボード」は同じものを別のレイヤーから呼んでいるだけです。「クリップボード」はコピーしたデータの置き場を指す一般的な呼び方で、「ペーストボード」はAppleのフレームワーク、API、ターミナルのコマンド(NSPasteboard、pbcopy、pbpaste)が使う、システムサービスそのものの名前です。⌘Cを押すと、「ジェネラルペーストボード」にデータが書き込まれます。
先に結論
- クリップボードは、「コピーしたものが入っている場所」を指す、ユーザー向けでOSを問わない呼び方です。
- ペーストボードはAppleの開発者向けの用語です。複数のフォーマットのデータを同時に保持でき、名前の付いたインスタンスを複数持てるシステムサービスです。
- ジェネラルペーストボードは、⌘C・⌘X・⌘Vが使うペーストボードで、多くの人が「クリップボード」と呼んでいるものです。
- ペーストボード ≠ クリップボード履歴。macOSが保持するのは現在の内容だけです。履歴が必要なら、クリップボードマネージャ(Maccyなど)か、新しいmacOSのSpotlightのクリップボード履歴を使います。
なぜmacOSには同じものを指す言葉が2つあるのか
理由は歴史的な経緯で、ほとんど偶然の産物です。「クリップボード」は初期のGUIデスクトップの流れから来た言葉で、AppleのLisaやMacintoshでも、切り取り・コピーしたものを一時的に置いておく場所のメタファーとして使われていました。その後、WindowsやLinuxのデスクトップをはじめ、ほとんどのシステムがこの呼び方を採用しています。
「ペーストボード」は、1990年代後半にAppleが買収し、Mac OS Xの土台にしたNeXTSTEP経由でmacOSに入ってきました。NeXTのフレームワークは「貼り付け(paste)」のメタファーを使っており、それがCocoaになってもそのまま残ったわけです。クラス名がNSPasteboardなのも同じ理由で、先頭のNSはNeXTSTEPの名残です。
ユーザー向けの呼び方を統一し直すことはなかったため、AppleのUIやドキュメントでは、どのレイヤーの話かによって両方の言葉が使われています。
それぞれの用語はどこに出てくるのか
| レイヤー | 使われる用語 | 例 |
|---|---|---|
| 日常的な会話、チュートリアル、サードパーティ製アプリ | クリップボード | 「クリップボードにコピー」「クリップボードマネージャ」 |
| AppKit(macOS)のAPI | ペーストボード | NSPasteboard.general |
| UIKit(iOS/iPadOS)のAPI | ペーストボード | UIPasteboard.general |
| ターミナルのコマンド | ペーストボード | pbcopy、pbpaste(「pb」はpasteboardの略) |
| AppleScript | クリップボード | the clipboard、clipboard info |
| ショートカットアプリ | クリップボード | 「クリップボードを取得」アクション |
| Appleのプログラミングガイド | ペーストボード | 「Pasteboard Programming Guide」 |
コードやmanページを読むときは「ペーストボード」、一般ユーザー向けのハウツー記事なら「クリップボード」と書かれていると思っておけば間違いありません。どちらも指している仕組みは同じです。
ペーストボードとは、具体的に何なのか
ペーストボードは、アプリ同士がデータをやり取りするための、システム全体で共有されるデータストアです。コピー&ペーストのとき、アプリ同士が直接やり取りしているわけではありません。コピー元のアプリがペーストボードにデータを置き、貼り付け先のアプリがペーストしたタイミングでそれを読み出します。
テキスト以外も入る
1回のコピー操作で、同じアイテムの複数の表現(representation)をペーストボードに置くことができます。Webページから装飾付きの段落をコピーすると、プレーンテキスト、RTF、HTMLが同時に入っていることがあります。貼り付け先のアプリは、自分が理解できるフォーマットのうち最もリッチなものを選びます。プレーンテキストの入力欄に貼ると文字だけになり、リッチエディタに貼ると書式が残るのはこのためです。
データの型は、public.utf8-plain-text、public.html、public.pngといったUniform Type Identifier(UTI)で識別されます。Swiftでは.string、.html、.pngのような定数として現れます。
ペーストボードは1つではない
ジェネラルペーストボードは、名前付きペーストボードのうちの1つにすぎません。実用上、2つの言葉の最大の違いはここにあります。「クリップボード」は1つの枠を連想させますが、「ペーストボード」は複数の仲間からなるファミリーです。
| ペーストボード | 用途 |
|---|---|
| General | ⌘C / ⌘X / ⌘V。ほとんどの人にとっての「クリップボード」です。 |
| Find | アプリ間で現在の検索文字列を共有します(⌘E、「選択部分を検索に使用」)。 |
| Drag | ドラッグ&ドロップ中のデータを運びます。 |
| Font | フォントの属性を保持します。「スタイルをコピー」などで使われます。 |
| Ruler | 段落やルーラーの書式属性を保持します。 |
アプリは、自分専用のプライベートな名前付きペーストボードを作ることもできます。これらは、ユーザーが「クリップボード」として目にするものには一切影響しません。
変更カウンタ(changeCount)
各ペーストボードには整数のchangeCountがあり、内容が置き換えられるたびに増えていきます。macOSは、内容が変わったときに通知を送ってくれません。新しいコピーを知りたいアプリ(クリップボードマネージャも含む)は、このカウンタを定期的にチェックし、値が変わったら中身を読みにいく必要があります。クリップボードマネージャがどうやってコピーを「検知」しているのか不思議に思ったことがあるなら、答えはこの仕組みです。
ターミナルで試してみよう
違いを体感する一番手っ取り早い方法は、ペーストボードを直接扱えるコマンドラインツールを使うことです。
# ジェネラルペーストボードにテキストを置く echo "hello from the pasteboard" | pbcopy # 読み出す pbpaste # 最後にコピーしたものの単語数を数える pbpaste | wc -w # ファイルを開かずに中身をコピーする pbcopy < notes.txt 次は、名前付きペーストボードを試してみましょう。任意のアプリで単語を選択し、⌘Eを押してから、次のコマンドを実行します。
pbpaste -pboard find 選択した単語が返ってきますが、⌘Cでコピーした内容はそのままです。つまり、ジェネラルペーストボードとは独立した2つ目のペーストボードが動いているということです。-pboardオプションにはgeneral、find、font、rulerを指定できます。詳しくはman pbpasteを参照してください。
ジェネラルペーストボードに現在どんなフォーマットが入っているかを確認するには、AppleScriptを使います。こちらは「clipboard」という言葉を使います。
osascript -e 'clipboard info' 出力には、型コードとバイトサイズが並びます。ブラウザから装飾付きテキストをコピーすると、通常は複数のエントリが表示されます。正確なコードは、コピー元のアプリやmacOSのバージョンによって異なります。
ペーストボードはクリップボード履歴と同じもの?
いいえ、違います。ペーストボードが保持するのは、その時点で入っているものだけです。新しくコピーすれば、以前の内容は置き換えられます。システムサービス自体には、過去のアイテムを覚えておく機能はありません。
ただ、最近のmacOSでは、この境目が少しあいまいになってきました。macOS TahoeのSpotlightには、最近のアイテムを一定期間保持するクリップボード履歴機能が追加されました。それでも、専用のクリップボードマネージャのほうが一歩進んでいます。履歴を好きな期間だけ保存でき、検索、ピン留め、アプリごとの除外にも対応していて、Spotlightにも依存しません。
Maccyは専用マネージャ型のアプローチを取っています。ジェネラルペーストボードを監視し、新しいアイテムをMac上のローカルストレージに保存して、キーボードショートカット(デフォルトは⇧⌘C)で一覧を呼び出して検索できます。オープンソースで、データはローカルに保持されます。読み取るのはジェネラルペーストボードだけで、アプリのプライベートなペーストボードは読みません。
ユニバーサルクリップボードはどうなっている?
ユニバーサルクリップボードは、近くにあるAppleデバイス間で、片方でコピーしたものをもう片方でペーストできる「連係(Continuity)」機能です。両方のデバイスで同じApple IDを使い、Wi-Fi、Bluetooth、Handoffを有効にしておく必要があります。技術的には、ペーストボードの代わりになるものではありません。他のデバイスから届いたアイテムがローカルのジェネラルペーストボードに入り、その後は普通のコピーと同じように振る舞います。
プライバシーの観点で、この区別が大事な理由
ジェネラルペーストボードは共有されているため、読み取りを許可されたアプリであれば、パスワードマネージャからコピーしたばかりのパスワードも含め、コピーした内容を見ることができます。これに対して、次の2つの対策が育ってきました。
- マーカー型。パスワードマネージャなどの一部のアプリは、コピー時に
org.nspasteboard.ConcealedTypeやorg.nspasteboard.TransientTypeといった特別な型を付けます。これはnspasteboard.orgにまとめられているコミュニティの規約です。マナーを守るクリップボードマネージャは、これらのマーカーが付いたアイテムを記録しません。Maccyはデフォルトでこれに対応しており、無視する型やアプリを独自に追加することもできます(設定の「無視」関連の項目)。 - システムレベルのアクセス制御。Appleは、アプリがペーストボードをプログラムから読み取る際に、ユーザーへ通知または確認を求める方向に動いています。最初はmacOS 15.4の開発者向けプレビューとして導入されました。クリップボードマネージャが許可を求めてきたり、ペーストボードへのアクセスを確認するプロンプトが表示されたりするのは、このためです。
どちらの仕組みも、ペーストボードを設計上プライベートにするものではありません。共有ストアの上に重ねられた、規約と許可の仕組みです。
よくある疑問をまとめて解消
- 「ペーストボードは隠れた2つ目のクリップボードなの?」
- いいえ。ジェネラルペーストボードこそがクリップボードです。ほかの名前付きペーストボード(find、drag、font、ruler)は、特定の用途のための別チャンネルです。
- 「⌘Cすると、開けるファイルとしてどこかに保存されるの?」
- ユーザーが見られるファイルとしては保存されません。内容は、ペーストボードサービスが管理するメモリ上にあります。サイズの大きいものやファイルは、完全なコピーではなく、ファイルURLなどの参照として渡されることがよくあります。
- 「アプリによって貼り付けたときの書式が違うのはなぜ?」
- 複数の表現が入っているためです。どれを読むかは貼り付け先が決めます。対応しているアプリでは、⌥⇧⌘V(ペーストしてスタイルを合わせる)を使うと、書式を強制的に揃えられます。
- 「
pbcopyはクリップボード用?それともペーストボード用?」 - 「pb」はpasteboardの略ですが、デフォルトではジェネラルペーストボードに書き込むため、実質的にはクリップボードへのコピーです。
結局、どちらの言葉を使えばいい?
ユーザー向けに書くなら「クリップボード」、コードやmanページ、Appleの開発者向けドキュメントを書く・読むなら「ペーストボード」です。取り違えても実害はありません。混乱の元になるのは、両者を別物だと考えてしまうことや、macOSが単体で履歴を保持していると思い込むことです。
実際に動きを確かめたいなら、クリップボードマネージャを入れて、いろいろなアプリでコピーしながら何が記録されるか観察してみてください。複数フォーマットや変更カウントの挙動が、とても具体的に見えてきます。試してみるなら、Maccy appは無料のオープンソースです。次はどちらのターミナルテクニックを詳しく知りたいですか?pbcopyを使ったスクリプト連携か、特定のアプリがペーストボードに何を置いているかの調べ方か。
SEOパッケージ
1. タイトル案
- クリップボードとペーストボードの違い:macOS用語を解説(約28文字)
- クリップボード?ペーストボード?macOSでの本当の意味
- macOSのペーストボードとクリップボードは同じもの?
2. メタディスクリプション
Macではクリップボードとペーストボードは同じものを別のレイヤーから呼んだ言葉です。NSPasteboard、pbcopy、名前付きペーストボードの仕組みを、ターミナルの実例つきで解説します。(約90文字)
3. URLスラッグ
/clipboard-vs-pasteboard-macos-terminology-explained
4. キーワード
メイン:クリップボード ペーストボード 違い
サブ/関連語:macOS ペーストボード、NSPasteboard、pbcopy pbpaste、ジェネラルペーストボード、Macのペーストボードとは、ユニバーサルクリップボード、macOS クリップボード履歴、名前付きペーストボード、changeCount、Mac クリップボードマネージャ
試してみたい場合、maccy.at は macOS 向けの無料オープンソースのクリップボードマネージャーです。