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