Доступ до буфера обміну Unix


16

У нас є сервер Linux, і на цьому сервері є кілька користувачів (таким чином, кілька облікових записів). Тож логічно, для різних користувачів існували б різні буфери обміну.

Моє запитання: як і в Windows, ми можемо мати переглядач буфера обміну, як я можу бачити вміст буфера обміну в Unix?


3
Я не впевнений, що ви просите? Чи користуються ваші користувачі X? Якщо ні, то вони користуються, sshвони не мають буфера обміну.
Ульріх Дангель

Відповіді:


16

Ваші міркування є здоровими, але ви почали з неправильної передумови. У Linux насправді немає «буферів обміну», це поняття просто не є частиною операційної системи. Натомість система вікон, майже завжди X11, реалізує буфер обміну . Сервер X11, який управляє та запускає дисплей, робить буфер обміну. Таким чином, буфер обміну є властивістю програми на рівні користувача, а не операційної системи, і, крім того, є один набір буферів обміну для кожного дисплея (який є більш-менш кожним монітором чи екраном, але не завжди).

Однак, буфер обміну X11 трохи дивний .

Щодо перегляду вмісту, я завжди захоплювався xcb , але це, мабуть, вважається досить незрозумілим в наші дні. Можливо, вам подобається парцеліт , але огляньте, здається, що існує багато менеджерів буфера обміну X11 та програм взаємодії.


12

Буфер обміну - це не що інше, а лише детальна інформація про реалізацію для деяких програм, наприклад X, Emacs, Vim та інших програм, мають реалізацію, яку можна назвати як "буфер обміну".

Коли ви говорите про сервер, я припускаю, що ваші користувачі входять у систему через ssh. Це означає, що для цих користувачів немає буфера обміну. Цим займається їх хост-система terminal.

Якщо ви хочете отримати доступ до Xбуфера обміну, існує декілька рішень, наприклад:

  • xclip - інтерфейс командного рядка для буфера обміну
  • clipit - менеджер буфера обміну без залежностей від інших середовищ робочого столу

Якщо ви хочете отримати доступ до Xвмісту буфера обміну для іншого користувача, ви маєте доступ до Xсеансу для цього користувача.

Є багато інших речей, на які можна звернути увагу, наприклад, автокрутка , інтеграція між буфером обміну X та Emacs тощо.


1

У emacs вивчіть

clipboard-kill-region
clipboard-kill-ring-save
clipboard-yank

Я написав це, щоб скопіювати весь буфер до буфера обміну:

(defun copy-all ()
  "copy buffer to clipboard"
  (interactive)
  (clipboard-kill-ring-save (point-min) (point-max))
  (message "Copy done.") )

Крім того , я зробив корисний псевдонім під назвою хс, як це: xclip -selection clipboard. Потім,echo $(pwd) | xc (наприклад) надішле ваше дерево каталогів у буфер обміну.

І я випадково помітив, що можу пасти urxvt, натиснувши кнопку миші. Мені зовсім не подобається користуватися мишкою, тому, якщо ви знаєте, як прив’язати це до комбінації клавіш, будь ласка, скажіть мені.

Редагувати: Я десь на цьому веб-сайті виявив, що відповідь на останнє (моє) питання - це вже зроблено, а саме Shift-Insert.


Ви можете опублікувати комбінацію клавіш "прив’язати до клавіатури" як запитання - ви отримаєте кращу допомогу таким чином.
Брюс Едігер

@BruceEdiger: Правильно, але все інше в публікації, включаючи те, як вставити термінал (принаймні один із способів зробити це), корисно, оскільки я зрозумів питання - ви бачите, куди я потрапляю? - просто ігноруйте останнє речення, якщо воно вас клопоче :)
Емануель Берг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.