xsel — управление текстовым буфером

xsel -p -o ## primary, получить выделенный текст

xsel -b -o ## clipboard, получить скопированный текст

xsel -b -i ## copy to clipboard

Как и xclip эта утилита не работает с изображениями!

Параметры

Опции ввода:
  -i, --input     Записать данные в xsel
  -a, --append    Вставить после существующих данных в выбранном потоке (вместе с "i")
  -f, --follow    Добавить выбор как стандартный ввод / Append to selection as standard input grows (вместе с "i")
  -o, --output    Вывести данные (по умолчанию в консольный вывод)

Опции действия:
  -c, --clear      Очистить данные
  -d, --delete     Request that the selection be cleared and that the application owning it delete its contents
  -x, --exchange   Переключиться между PRIMARY / SECONDARY
  -t               Задержка выполнения операции в ms

Опции выбора:
  -p, --primary    Последняя выделенная область (по умолчанию).  
                   Если выделить что-то, а потом снять выделение - то предыдущая выделенная область запоминается в Primary.
  -s, --secondary  Вторичный буфер
  -b, --clipboard  Буфер обмена (clipboard), то что мы явно скопировали.

  -k, --keep       Do not modify the selections, but make the PRIMARY and SECONDARY selections persist even after the programs they were selected in exit.

X options:
  --display displayname    Specify the connection to the X server

  -l, --logfile     Файл логирования ошибок
  -n, --nodetach    Do not detach from the controlling terminal. Without this option, xsel will fork to become a background process in input, exchange and keep modes.
echo -n "Записать строку в буфер обмена" | xsel -b -i

Добавить текст в буфер после существующего:

echo -n "Текст будет добавлен в буфер" | xsel -b -i -a

Копировать выделенный текст в буфер обмена:

xsel | xsel -b -i

Сохранить текст из первичного буфера (последний выделенный текст) в файл:

xsel -p > ~/clip.txt

Прочитать буфер обмена в переменную:

clipboard="$(xsel -b)"

Вывести буфер обмена в консоль:

xsel | xsel -b -o