8

Все мы знаем поговорку: в Linux все является файлом.

Мой вопрос: как обрабатывается буфер обмена в Linux? Это доступный и определенный файл? Можно ли, например, читать это с помощью кошки или писать с перенаправлением? (Если у вас есть достаточные привилегии)

Если моё предположение верно, где оно находится, и зависит ли оно от реализации?

1 ответ1

5

Нет. Если у вас нет сторонней программы, которая копирует содержимое буфера обмена в какой-либо файл.

Вот основной ответ от Askubuntu: Где хранится содержимое буфера обмена?:

Похоже, вам не хватает понимания буфера обмена в Linux. Есть 3 обычно доступных для пользователей.

Эти буфера обмена называются "Выборы"

Есть:

  • PRIMARY - обычно используется для средней кнопки мыши = копировать / вставить
  • ВТОРИЧНЫЙ - Обычно не используется многими, но он существует. Как правило, в приложении для копирования и вставки.
  • CLIPBOARD - обычно копируют и вставляют в стиле Ctrl+c и Ctrl+v .

Все они по умолчанию хранятся в памяти управляющего приложения (обычно Xorg, но не всегда). И каждое дочернее приложение имеет к нему доступ.

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


Вот еще немного интересной информации из вики archlinux в буфере обмена

история

В X10 были введены срезанные буферы. Это были ограниченные буферы, которые хранили произвольный текст и использовались большинством приложений. Тем не менее, они были неэффективными, и их реализация различалась, поэтому выбор был введен. Вырезанные буферы давно устарели, и хотя некоторые приложения (например, xterm) могут иметь устаревшую поддержку для них, маловероятно и не рекомендуется их использовать.

Выбор

Freedesktop.org описывает два основных выбора следующим образом: [1]

  • ПЕРВИЧНЫЙ

    Используется для текущего выделенного текста, даже если он явно не скопирован, и для вставки щелчком средней мыши. В некоторых случаях вставка также возможна с помощью сочетания клавиш.

  • CLIPBOARD

    Используется для явных команд копирования / вставки, включающих сочетания клавиш или элементы меню. Следовательно, он ведет себя как система с одним буфером обмена в Windows. В отличие от PRIMARY, он также может обрабатывать несколько форматов данных.

Такое поведение выполняется в большинстве программ для Xorg, включая приложения Qt и GTK+. В то время как ICCCM также определяет ВТОРИЧНЫЙ отбор, он не имеет единодушно согласованной цели. Несмотря на названия, все три выбора в основном являются "буфером обмена". Вместо старой системы "обрезанных буферов", в которой произвольные приложения могли изменять данные, хранящиеся в обрезанных буферах, только одно приложение может контролировать или "владеть" выбором за один раз. Это предотвращает несоответствия в работе выборов.

См. Страницу « Сочетания клавиш», на которой перечислены сочетания клавиш по умолчанию во многих программах.

Также важно понимать, что в соответствии с протоколами выбора, ничего не копируется, пока не будет вставлено. Например, если вы выберете какое-либо слово в окне терминала, закроете терминал и затем захотите вставить его в другое место, оно не будет работать, потому что терминал пропал и текст нигде не был скопирован. Если вы хотите, чтобы слово было сохранено после закрытия окна терминала, рассмотрите возможность установки менеджера буфера обмена.

Примечание . Менеджеры буфера обмена могут значительно изменить взаимодействие с пользователем, например, они могут синхронизировать выбор PRIMARY и CLIPBOARD для эмуляции системы с одним буфером обмена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .