「クリップボード」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://sourceforge.net/」を「https://sourceforge.net/」に置換) |
(→セレクション: 翻訳を修正) |
||
(4人の利用者による、間の33版が非表示) | |||
1行目: | 1行目: | ||
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
+ | [[Category:ソフトウェア一覧]] |
||
[[en:Clipboard]] |
[[en:Clipboard]] |
||
+ | [[es:Clipboard]] |
||
[[fr:Copier coller]] |
[[fr:Copier coller]] |
||
+ | {{Related articles start}} |
||
− | [[Wikipedia:ja:クリップボード]] より: |
||
+ | {{Related|ターミナルからテキストをコピー}} |
||
+ | {{Related|Firefox#Middle-click behavior}} |
||
+ | {{Related|GTK#マウス中ボタンでのペーストを無効化}} |
||
+ | {{Related|Vim#クリップボード}} |
||
+ | {{Related articles end}} |
||
+ | [[Wikipedia:ja:クリップボード|クリップボード]] より: |
||
:クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、[[Wikipedia:ja:コピー・アンド・ペースト|コピーアンドペースト]]操作による文章やアプリケーション間のデータの移動に使われる。 |
:クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、[[Wikipedia:ja:コピー・アンド・ペースト|コピーアンドペースト]]操作による文章やアプリケーション間のデータの移動に使われる。 |
||
9行目: | 17行目: | ||
"カットバッファ"が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
"カットバッファ"が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。 |
||
− | == |
+ | == セレクション == |
+ | [[Freedesktop.org]] は二つの主な''セレクション''を次のように説明しています。[https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt] |
||
− | [http://tronche.com/gui/x/icccm/ ICCCM] (Inter-Client Communication Conventions Manual) は3つの"セレクション"を定義しています: PRIMARY, SECONDARY, CLIPBOARD。その名前とは異なり、この3つはどれも基本的には"クリップボード"です。旧"カットバッファ"システムでは任意のアプリケーションがカットバッファに保存されているデータに手を出すことができましたが、セレクションをコントロールまたは"所有"することができるアプリケーションは一度に一つのアプリケーションだけです。これによってセレクションを操作するときに整合性が破れるのを防ぎます。ただし、仮想マシンの Windows とクリップボードを共有している (単一のクリップボードシステムを使っている) 場合など、おかしな結果になることもあります。 |
||
+ | ;PRIMARY: 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。 |
||
− | 3つのセレクションのうち、ユーザーが気にする必要があるのは PRIMARY と CLIPBOARD だけです。SECONDARY はときどき PRIMARY の代わりとして使われることがあるにすぎません。アプリケーションによって PRIMARY と CLIPBOARD の扱い方は様々ですが、ある程度の決まり事が存在します。CLIPBOARD は Windows のようなクリップボードとして使用され、PRIMARY はマウスやキーボードでテキストを選択して、中マウスボタンで貼り付けるような、"即座"の使われ方をします。PRIMARY は混乱を生じさせることがあり、場合によっては、悪いアプリケーションによって予期しない結果を生むことがあります。 |
||
+ | ;CLIPBOARD: キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windowsのシングルクリップボードシステムと同じように動作する。PRIMARYとは異なり、[https://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats 複数のデータ形式]を扱うこともできます。 |
||
+ | [[Qt]] や [[GTK]] のアプリケーションを含む [[Xorg]] 用のプログラムの大半はこの動作に従います。[https://tronche.com/gui/x/icccm/ ICCCM] は SECONDARY セレクションも定義していますが、これには合意された目的はありません。名前に反して、3 つのセレクションは基本的に 「クリップボード」 です。カットバッファに格納されたデータを任意のアプリケーションが変更できる旧来の「カットバッファ」システムとは異なり、一度に1つのアプリケーションのみが選択項目を制御または「所有」することができます。これにより、セレクションの操作に矛盾が生じることを防いでいます。 |
||
− | == クリップボードマネージャの一覧 == |
||
+ | 多くのプログラムのデフォルトのショートカット一覧を [[キーボードショートカット]] のページで参照してください。 |
||
− | クリップボードマネージャはユーザーがクリップボードを操作できるようにするアプリケーションです。クリップボードマネージャの多くは以前に使用したクリップボードを同期することもできます。 |
||
+ | |||
+ | 選択プロトコルに従って、[https://unix.stackexchange.com/questions/213840/how-to-toggle-or-turn-off-text-selection-being-sent-to-the-clipboard/213843#213843 貼り付けられる] までは何もコピーされないことを理解することが重要です。例えば、ターミナルウィンドウで単語を選択し、ターミナルウィンドウを閉じてからどこかに貼り付けようとすると、ターミナルが消えていてテキストがどこにもコピーされていないため、うまくいきません。ターミナルウィンドウを閉じた後も単語を保存しておきたい場合は、[[クリップボードマネージャ]] のインストールを検討してください。 |
||
+ | |||
+ | {{Note|[[クリップボードマネージャ]] はユーザーエクスペリエンスを大きく変えることができます。例えば、PRIMARY と CLIPBOARD の選択を同期させ、シングルクリップボードシステムをエミュレートすることができます。}} |
||
+ | |||
+ | == ツール == |
||
+ | |||
+ | この章では、クリップボードを操作するためのコマンドラインツールを紹介します。 |
||
+ | |||
+ | * {{App|sselp|シンプルな X セレクションプリンター。 X 選択を stdout に出力します。|https://tools.suckless.org/x/sselp|{{AUR|sselp}}}} |
||
+ | * {{App|Xclip|軽量な、コマンドラインベースのクリップボードインターフェイス。|https://github.com/astrand/xclip|{{Pkg|xclip}}}} |
||
+ | * {{App|xsel|X セレクションの中身を取得・設定するためのコマンドラインプログラム。|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}} |
||
+ | * {{App|wl-clipboard|Wayland コンポジタ用のシンプルなコピー/ペーストツール|https://github.com/bugaevc/wl-clipboard|{{Pkg|wl-clipboard}}}} |
||
+ | |||
+ | {{Tip|Wayland 上のクリップボードは {{Pkg|wl-clipboard}} で {{ic|wl-paste -pw wl-copy}} を使って同期させることができます。}} |
||
+ | |||
+ | == クリップボードマネージャ == |
||
+ | |||
+ | この章では、クリップボード履歴や同期などの追加機能を提供するクリップボードマネージャの一覧を示します。 |
||
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
* {{App|Anamnesis|全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}} |
||
− | * {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。| |
+ | * {{App|Autocutsel|PRIMARY, {{Ic|CLIPBOARD}} とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。|https://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}} |
* {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}} |
* {{App|Clipboard Indicator|GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。|https://extensions.gnome.org/extension/779/clipboard-indicator/|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator}} |
||
+ | * {{App|Clipcat|Rust で書かれたクリップボードマネージャー|https://github.com/xrelkd/clipcat|{{AUR|clipcat}}}} |
||
* {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|https://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}} |
* {{App|ClipIt|Parcellite に機能の追加とバグフィックスをしたフォーク。|https://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}} |
||
− | * {{App|Clipman|Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。| |
+ | * {{App|Clipman|Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。|https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin|{{Pkg|xfce4-clipman-plugin}}}} |
− | * {{App| |
+ | * {{App|ClipManager|Python と Qt で書かれたクロスプラットフォームのクリップボードマネージャ。|https://github.com/scottwernervt/clipmanager|{{AUR|clipmanager}}}} |
+ | * {{App|[[Clipmenu]]|Dmenu ベースのクリップボードマネージャ。|https://github.com/cdown/clipmenu/|{{Pkg|clipmenu}}}} |
||
* {{App|Clipster|軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。|https://github.com/mrichar1/clipster|{{AUR|clipster-git}}}} |
* {{App|Clipster|軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。|https://github.com/mrichar1/clipster|{{AUR|clipster-git}}}} |
||
− | * {{App|CopyQ|検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。|https://github.com/hluk/CopyQ|{{ |
+ | * {{App|CopyQ|検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。|https://github.com/hluk/CopyQ|{{Pkg|copyq}}}} |
* {{App|[[Wikipedia:Glipper|Glipper]]|プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。|https://launchpad.net/glipper|{{AUR|glipper}}}} |
* {{App|[[Wikipedia:Glipper|Glipper]]|プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。|https://launchpad.net/glipper|{{AUR|glipper}}}} |
||
* {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}} |
* {{App|GPaste|次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}} |
||
− | * {{App| |
+ | * {{App|[[Greenclip]]|rofi ベースのシンプルなクリップボードマネージャ|https://github.com/erebe/greenclip|{{AUR|rofi-greenclip}}}} |
* {{App|[[Wikipedia:ja:Klipper|Klipper]]|KDE デスクトップ向けのフル機能のクリップボードマネージャ。|http://userbase.kde.org/Klipper|{{Pkg|plasma-workspace}}}} |
* {{App|[[Wikipedia:ja:Klipper|Klipper]]|KDE デスクトップ向けのフル機能のクリップボードマネージャ。|http://userbase.kde.org/Klipper|{{Pkg|plasma-workspace}}}} |
||
* {{App|Parcellite|軽量かつ高機能なクリップボードマネージャ。|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}} |
* {{App|Parcellite|軽量かつ高機能なクリップボードマネージャ。|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}} |
||
* {{App|Pasteall|シンプルで機能的なクリップボードモニタ。|https://github.com/LaraCraft93/Pasteall|{{AUR|pasteall}}}} |
* {{App|Pasteall|シンプルで機能的なクリップボードモニタ。|https://github.com/LaraCraft93/Pasteall|{{AUR|pasteall}}}} |
||
* {{App|Qlipper|軽量なクロスプラットフォームのクリップボード履歴アプレット。Qt ベース。|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}} |
* {{App|Qlipper|軽量なクロスプラットフォームのクリップボード履歴アプレット。Qt ベース。|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}} |
||
− | * {{App| |
+ | * {{App|xclipboard|公式の X クリップボードコマンドラインクライアント。|https://www.x.org/releases/X11R7.5/doc/man/man1/xclipboard.1.html|{{Pkg|xorg-xclipboard}}}} |
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
* {{App|xcmenu|ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。|https://github.com/Cloudef/xcmenu|{{AUR|xcmenu-git}}}} |
||
− | * {{App|xsel|X セレクションの中身を取得・設定するためのコマンドラインプログラム。|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}} |
||
− | |||
− | == ヒントとテクニック == |
||
− | |||
− | === アプリケーション別のヒント === |
||
− | |||
− | ==== Konsole ターミナル ==== |
||
− | {{Pkg|konsole}} ターミナルではテキストのコピーとコマンドの停止の両方が {{ic|ctl+c}} ショートカットで行えます。テキストが選択されているかどうかで挙動が変化します。 |
||
− | |||
− | ==== Gvim の CLIPBOARD ==== |
||
− | [[Vim#クリップボード]]を見てください。 |
||
− | |||
− | === 中マウスボタンによる貼り付けの無効化 === |
||
− | |||
− | 現在のところ、全てのアプリケーションで中マウスボタンによる貼り付けを無効化する方法は中マウスボタン自体を無効化するしかありません。しかしながらタブを閉じる機能なども使えなくなります。以下のアプリケーションでは個別に無効化できる設定が存在します。 |
||
− | |||
− | ==== Firefox ==== |
||
− | Firefox で中マウスクリックによる貼り付けを止めるには {{ic|about:config}} で以下のオプションを設定してください: |
||
− | {{hc|about:config| |
||
− | middlemouse.contentLoadURL false |
||
− | middlemouse.paste false |
||
− | }} |
||
− | |||
− | ==== GTK ==== |
||
− | {{hc|.config/gtk-3.0|<nowiki> |
||
− | gtk-enable-primary-paste=false |
||
− | </nowiki>}} |
||
== 参照 == |
== 参照 == |
||
− | * [ |
+ | * [https://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt Cut-and-paste in X] |
* [http://www.jwz.org/doc/x-cut-and-paste.html X Selections, Cut Buffers, and Kill Rings.] |
* [http://www.jwz.org/doc/x-cut-and-paste.html X Selections, Cut Buffers, and Kill Rings.] |
||
+ | * [https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html X11: How does “the” clipboard work?] |
||
+ | |||
+ | {{TranslationStatus|Clipboard|2021/12/18|703970}} |
2022年7月1日 (金) 00:05時点における版
クリップボード より:
- クリップボードは、一時的にデータを保存できる共有のメモリ領域のことで、コピーアンドペースト操作による文章やアプリケーション間のデータの移動に使われる。
歴史
"カットバッファ"が導入されたのは X10 でした。カットバッファは任意のテキストを保存する制限付きのバッファで、様々なアプリケーションによって使われました。しかしながら、カットバッファは使い物にならず実装も統一されてなかったので、セレクションが導入されました。久しくカットバッファは非推奨となっていますが、(xterm など) アプリケーションによってはカットバッファのサポートがまだされていることがあります。あまり好ましいことではないので、カットバッファもそれをサポートしているアプリケーションもどちらも推奨されません。
セレクション
Freedesktop.org は二つの主なセレクションを次のように説明しています。[1]
- PRIMARY
- 現在選択されているテキストを明示的にコピーしていない場合でも、マウスを中クリックして貼り付けるときに使用します。キーボードショートカットを使用して貼り付けることもできます。
- CLIPBOARD
- キーボードショートカットやメニュー項目を含む明示的なコピー&ペーストのコマンドに使用されます。従って、Windowsのシングルクリップボードシステムと同じように動作する。PRIMARYとは異なり、複数のデータ形式を扱うこともできます。
Qt や GTK のアプリケーションを含む Xorg 用のプログラムの大半はこの動作に従います。ICCCM は SECONDARY セレクションも定義していますが、これには合意された目的はありません。名前に反して、3 つのセレクションは基本的に 「クリップボード」 です。カットバッファに格納されたデータを任意のアプリケーションが変更できる旧来の「カットバッファ」システムとは異なり、一度に1つのアプリケーションのみが選択項目を制御または「所有」することができます。これにより、セレクションの操作に矛盾が生じることを防いでいます。
多くのプログラムのデフォルトのショートカット一覧を キーボードショートカット のページで参照してください。
選択プロトコルに従って、貼り付けられる までは何もコピーされないことを理解することが重要です。例えば、ターミナルウィンドウで単語を選択し、ターミナルウィンドウを閉じてからどこかに貼り付けようとすると、ターミナルが消えていてテキストがどこにもコピーされていないため、うまくいきません。ターミナルウィンドウを閉じた後も単語を保存しておきたい場合は、クリップボードマネージャ のインストールを検討してください。
ツール
この章では、クリップボードを操作するためのコマンドラインツールを紹介します。
- sselp — シンプルな X セレクションプリンター。 X 選択を stdout に出力します。
- Xclip — 軽量な、コマンドラインベースのクリップボードインターフェイス。
- xsel — X セレクションの中身を取得・設定するためのコマンドラインプログラム。
- wl-clipboard — Wayland コンポジタ用のシンプルなコピー/ペーストツール
クリップボードマネージャ
この章では、クリップボード履歴や同期などの追加機能を提供するクリップボードマネージャの一覧を示します。
- Anamnesis — 全てのクリップボード履歴を保存しフルテキスト検索のインターフェースを備えたクリップボードマネージャ。コマンドライン、GUI 両方で使用可能。
- Autocutsel — PRIMARY,
CLIPBOARD
とカットバッファの選択を同期するコマンドラインとデーモンのインターフェイス。
- Clipboard Indicator — GNOME Shell のクリップボードマネージャ拡張。トップパネルにクリップボードのインジケータを追加して、クリップボードの履歴をキャッシュします。
- https://extensions.gnome.org/extension/779/clipboard-indicator/ || https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator
- Clipcat — Rust で書かれたクリップボードマネージャー
- ClipIt — Parcellite に機能の追加とバグフィックスをしたフォーク。
- Clipman — Xfce のクリップボードマネージャ。通常は中身が失われてしまうアプリケーションの終了をしてもクリップボードの中身を保持し続けます。テキストと画像を処理することができ、正規表現にマッチさせて特定のテキストを選択したときにアクションを実行する機能があります。
- ClipManager — Python と Qt で書かれたクロスプラットフォームのクリップボードマネージャ。
- Clipmenu — Dmenu ベースのクリップボードマネージャ。
- Clipster — 軽量でコマンドラインによって操作できるクリップボードマネージャ。Python で書かれています。
- CopyQ — 検索・編集できる履歴や、カスタムアクション、コマンドラインサポートのある賢いクリップボードマネージャ。
- Glipper — プラグインをサポートする高機能な GNOME 向けクリップボードマネージャ。
- GPaste — 次世代の Parcellite になることを目指しているクリップボード管理システム。モジュール構造を取っており複数のライブラリとデーモンに分割されています。GNOME Shell 拡張と CLI インターフェイスを提供。
- Greenclip — rofi ベースのシンプルなクリップボードマネージャ
- Klipper — KDE デスクトップ向けのフル機能のクリップボードマネージャ。
- Parcellite — 軽量かつ高機能なクリップボードマネージャ。
- Pasteall — シンプルで機能的なクリップボードモニタ。
- Qlipper — 軽量なクロスプラットフォームのクリップボード履歴アプレット。Qt ベース。
- xclipboard — 公式の X クリップボードコマンドラインクライアント。
- xcmenu — ウィンドウマネージャのユーザーのために開発されたクリップボードシンクロナイザー。