Se eu fizer um dos seguintes:
printf 'a\0b' | xsel
printf 'a\0b' | xsel -b
printf 'a\0b' | xclip
printf 'a\0b' | xclip -selection c
e cole a partir da seleção correspondente (PRIMARY ou CLIPBOARD) em um dos seguintes:
- áreas de texto do navegador
- editores de texto
- tubo como em
xsel | hexdump
só a
obtém saída.
Então, é possível armazenar dados binários na área de transferência e colá-los mais tarde? Como?
Originalmente, eu queria fazer isso para salvar imagens na área de transferência, o que também resolveria:
Responder1
A área de transferênciafazcontém a string completa:
$ printf 'a\0b' | hexdump -c
0000000 a \0 b
0000003
$ printf 'a\0b' | xclip && xclip -out | hexdump -c
0000000 a \0 b
0000003
Entãoxclip -out
vaiimprima a entrada literalmente, caracteres NUL e tudo. Provavelmente, a integração da área de transferência da área de trabalho interrompe a saída em caracteres NUL. Um problema óbvio ao colar caracteres NUL é que eles não seriam visíveis para o usuário e, como tal, provavelmente causariam um comportamento inesperado. Sem falar que mesmosoftware popular pode não conseguir lidar com caracteres NUL corretamente.