Существует два инструмента командной строки (в двух разных пакетах) для доступа к буферу обмена X:
xclip
xsel
Я хотел бы знать разницу между этими двумя и услышать рекомендацию, какую использовать в каких случаях.
software-recommendation
xclip
xsel
Byte Commander
источник
источник
Ответы:
Оба
xclip
иxsel
могут хранить текст в 3 разных выделениях (по умолчанию это первичное выделение). По своему опыту я знаю, что основной выбор - это то, что вы выделяете и отпускаете средним щелчком мыши (что соответствует нажатию правой и левой клавиш сенсорной панели на ноутбуке). Буфер обмена является традиционным CtrlV.Однако, изучив
man
страницы для обоих, я обнаружил, чтоxclip
выигрывает в одном аспекте - чтение из входного файла:Конечно, вы можете использовать перенаправление оболочки,
xsel
чтобы обойти этоxclip
также выигрывает в том, что вы можете выводить содержимое буфера обмена в файл (что, возможно, полезно, если вы хотите перенаправить выбор PRIMARY, то есть выделение).xsel
предлагает только вывод на стандартный выводисточник
xsel
можно работать только через STDIN / STDOUT, аxclip
также использовать там реальные файлы? Как скучно! Ну, яxsel
недавно подружился и могу использовать перенаправление оболочки на файлы, так что я буду продолжать это использовать.xclip
сегодня и задавался вопросом, был ли это правильный выбор. Ваш ответ подтвердил, что это потому, что я создаю файл из буфера обмена для использования сdiff
командой. +1 Спасибо :)В дополнение к ответу @Serg , есть часть информации со страницы Tmux в Arch Wiki, которая может быть полезна в некоторых конкретных случаях :
источник
xclip
является серьезной проблемой, если вы столкнетесь с ней. Я потратил 2 часа на его отладку. Я наконец перешел наxsel -bi
иxsel -bo
.Что-то еще нужно иметь в виду,
xsel
имеет меньше зависимостей, чемxclip
:источник
Используйте
xclip
, потому чтоxsel
не может извлечь двоичные данные из буфера обмена, например, снимок экрана. Например, сохранить скриншот в буфер обмена:Затем сохраните в файл и сравните вывод:
источник
xclip
не всегда можно обрабатывать двоичные данные, например, при использовании кнопки «Копировать в буфер» из gnome-screenshot я ничего не получаю. При копировании изображения с помощью Ctrl + C, например, из документа LibreOffice, оно работает только в том случае, если я вручную указываю целевой тип, напримерxclip -o -t image/png -selection clipboard
.gnome-screenshot
вообще, но это другая проблема - gitlab.gnome.org/GNOME/gnome-screenshot/issues/14Есть еще одна причина использовать xclip поверх xsel - xclip может манипулировать буфером обрезки 0, передавая
-selection buffer-cut
, чего не может сделать xsel.Относительно легко позволить ему манипулировать и другими буферами вырезания; Вот мой патч, хотя он не проверен и не дает никаких гарантий.
источник