次のいずれかを実行すると、
printf 'a\0b' | xsel
printf 'a\0b' | xsel -b
printf 'a\0b' | xclip
printf 'a\0b' | xclip -selection c
次に、次のいずれかの対応する選択範囲 (プライマリまたはクリップボード) から貼り付けます。
- ブラウザのテキストエリア
- テキストエディタ
- パイプのように
xsel | hexdump
出力のみa
を取得します。
では、バイナリ データをクリップボードに保存して、後で貼り付けることは可能ですか? 方法は?
もともと、画像をクリップボードに保存するためにこれを実行したいと思っていましたが、これにより次の問題も解決されます。
答え1
クリップボードする完全な文字列を含む:
$ printf 'a\0b' | hexdump -c
0000000 a \0 b
0000003
$ printf 'a\0b' | xclip && xclip -out | hexdump -c
0000000 a \0 b
0000003
それでxclip -out
意思入力をそのまま、NUL文字も含めて出力します。おそらくデスクトップのクリップボード統合により、NUL文字で出力が停止します。NUL文字を貼り付ける際の明らかな問題は、ユーザーには見えないため、予期しない動作を引き起こす可能性があることです。一般的なソフトウェアはNUL文字を適切に処理できないことがある。