oio11: (Default)
[personal profile] oio11

Буфер обмена в Linux

Часто можно услышать вопросы пользователей альтернативных операционных систем: а буфер обмена в Linux есть? Конечно, есть. Даже два! И для них есть менеджеры буфера обмена: намного удобней иметь возможность вставить из буфера кусок кода, который часто используется, чем по сто раз его копировать из другого текста. Вот о них в этом посте и поговорим.


Буферы обмена в Linux
Итак, в Linux буфер обмена есть, и даже не один. В графической оболочке X.org их целых два.

Первый буфер обмена (clipboard) работает так же, как и буфер обмена в Windows: выделяем картинку или текст и нажимаем Ctrl+Insert или Ctrl+C для копирования в буфер обмена. Вставка происходит после нажатия комбинации Shift+Insert или Ctrl+V.


Второй буфер обмена (primary) в Linux работает иначе. Если вы выделяете текст мышью, выделенный текст сразу попадает в буфер primary. Чтобы вставить скопированный текст, достаточно нажать среднюю кнопку мышки (колёсико). Если трёхкнопочной мыши у вас нет или вы работаете на ноутбуке с тачпадом, для вставки текста можно одновременно нажать левую и правую кнопки мыши.


Эти буферы обмена не связаны друг с другом, и хранящиеся в них данные не влияют друг на друга. Однако если вы скопируете другой кусок текста или картинку, новое содержимое затрёт собой предыдущее, и вы потеряете данные в буфере обмена.


Менеджеры буферов обмена в Linux
Для комфортной работы с буфером обмена в Linux есть много программ, как консольных, так и графических, что облегчает управление данными в буферах обмена. Эти программы позволяют хранить историю содержимого буферов обмена, что позволяет вернуться к любому из предыдущих состояний.

Буфер обмена в консоли
Даже если вы работаете в Linux в голой консоли, буфер обмена у вас всё равно будет. Достаточно установить пакет gpm (general purpose mouse) и вы сможете копировать и вставлять текст выделением и колёсиком мыши.

Для управления содержимым буфера обмена есть консольная программа xclip. Копирование и вставка текста в xclip выполняется простыми командами, что позволяет использовать её в скриптах, примеры которых можно посмотреть в этом посте.
При возникновении проблем с копированием файлов в KDE, вместо xclip можно использовать xsel.

Буфер обмена в графической среде
Среди программ для управления содержимым буфера обмена можно выделить две:

  • Parcellite -- менеджер буфера обмена на GTK для среды GNOME
  • klipper -- менеджер буфера обмена для среды KDE
Несколько слов о Parcellite и Klipper далее.


Менеджер буфера обмена Parcellite
На смену уже не подающему признаки жизни glipper приходит parcellite, который довольно активно развивается, может работать как демон и поддерживает действия с буфером обмена. Надо отметить, что Parcellite замечательно работает и в IceWM.

Установка parcellite проста:
aptitude install parcellite
занимает очень мало места (меньше мегабайта). После запуска командой parcellite в трее появится иконка:
Всё очень просто и скромно: нажав на правой кнопкой мыши по значку в трее, можно настроить параметры, а нажав левой - редатировать или очистить содержимое буфера обмена (показано полупрозрачным).

Настраиваемых параметров вполне достаточно: так, например, можно задать число хранимых состояний буфера обмена (25 в данном примере) или хранение только гиперссылок.
Parcellite так же поддерживает задание регулярных выражений (regular expressions) - это вкладка Actions:

В общем, вполне функциональный и простой в использовании менеджер буфера обмена в Linux, который понравится не только гномоводам.



Менеджер буфера обмена Klipper
Для среды KDE есть свой менеджер буфера обмена, который называется Klipper. Доступный в любом современном дистрибутиве, Klipper устанавливается просто:
aptitude install klipper
пакет занимает чуть менее 1Мб, так что не жадничаем и ставим. Работать будет не только в KDE, но и в IceWM, на радость многим лихачам, оный использующим.

После запуска в трее появляется значок Klipper, нажатие на который выдаёт меню с настройками:
А настроек тут хватает:
Перечислю только основные:
  • Save clipboard contents on exit -- сохраняем содержимое буфера обмена Linux при выходе из Klipper.
  • Remove whitespace when executing actions -- удалять пробелы перед или после содержимого буфера обмена, что полезно, если вы ввели URL в буфер обмена с пробелами.
  • Clipboard selection behavior -- игнорировать выделение, то есть не смешивать буфер обмена clipboard и primary.
Ну и конечно, можно настроить размер истории буфера обмена (Clipboard history size). Можно так же задавать регулярные выражения (regular expressions) и связывать их с Klipper:
Относительно Actions, настройка которых показана выше: вообще весьма удобная фукнция. Вот, например, вы выделяете в текстовом редакторе кусочек текста, который является веб-ссылкой. Если включены Actions в Klipper, то вылезет симпатичное всплывающее окошко, которое может сразу вставить эту ссылку в ваш любимый броузер. На скриншоте подсвечен процесс работы Actions:


Ну и настроить горячие клавиши на всё, что только можно:


Заключение
Есть и другие утилиты управления содержимым буфера обмена в Linux, но для начала стоит посмотреть на xclip, xsel, klipper и parcellite. Для среды XFce есть плагин под названием Clipman. Утилиты буфера обмена существенно облегчают жизнь при работе с буфером обмена. И теперь вы уж точно ничего не потеряете!
http://mydebianblog.blogspot.com/2011/01/linux.html
(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

October 2025

S M T W T F S
   1234
567891011
12131415161718
19202122 232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 7th, 2026 01:26 pm
Powered by Dreamwidth Studios