В xclip руководстве говорится, что существует три места хранения, названные основными (XA_PRIMARY), вторичный (XA_SECONDARY) и буфер обмена (XA_CLIPBOARD). Я скопировал (Ctrl+c) некоторый текст со своего браузера и исследовал содержание этих трех мест, упомянутых выше в терминале:
xclip -s primary -o
xclip -s secondary -o
xclip -s clipboard -o
Все три содержат тот же текст.
Если я теперь ввожу
date | xclip -selection XA_PRIMARY
Только XA_PRIMARY должен содержать текст даты. Но на самом деле другие два т.е. XA_SECONDARY и XA_CLIPBOARD также содержат тот же текст (информация о дате). Таким образом, эти три являются одними и теми же? И раз так какой смысл?
Что экранировало меня еще больше, Ctrl+Shift+v (все еще в терминальном режиме) вставляет orgiginal текст, который я скопировал с браузера! который предполагает, что собственный буфер обмена оболочки в действии также.
У кого-то есть пример, что demonstarates, что эти три места могут содержать различные значения одновременно и как они касаются регулярного буфера обмена?
К сожалению, xclip
тихо игнорирует недопустимые параметры командной строки:
Существует нет -s
опция как оба -selection
и -silent
запустите с -s
. Необходимо использовать, по крайней мере, -se
.
Как xclip
просто игнорирует Ваш -s
опция команды
xclip -s primary -o
xclip -s secondary -o
xclip -s clipboard -o
xclip -s asdfghj -o
все просто используют выбор по умолчанию (primary
).
Поскольку имя выбора только первый символ на самом деле используется, и если это совсем не s
или c
значение по умолчанию используется.
date | xclip -selection XA_PRIMARY
date | xclip -selection XA_SECONDARY
date | xclip -selection XA_CLIPBOARD
все использование основной выбор.
Используйте что-то как
date | xclip -se p # write to primary selection
xclip -se c -o # read from clipboard
Я обращусь к недостающей точке, которая является "почему 3 различных буфера обмена".
xclip
и xsel
работа над XA_PRIMARY по умолчанию, начиная с большей части X-работы-приложений этот путь: при выделении текста он выбран и поэтому приземляется в ОСНОВНОМ буфере ВЫБОРА.
Если Вы хотите вставить ОСНОВНОЙ, используйте среднюю кнопку мыши или Shift+Insert. Или передача, это - содержание к БУФЕРУ ОБМЕНА и просто вставляет xclip -o | xclip -se c
.
Превосходное чтение: https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt