Intereting Posts
синтаксис синтаксиса bash и ;; терминаторы Возврат значения из функции bash Принтер Samsung CLP-31x не работает Partclone: ​​ошибка при попытке копирования разделенных блоков-блоков Странное поведение в $ (dirname `readlink -f $ 0`) Сбой сценария: Ошибка синтаксиса: «(« неожиданно Что такое «Допустимые диски» в установке Cent 6.4 Deadbeef не появляется в звуковом апплете Cinnamon OpenBSD pf: отключить доступ к сети для данного пользователя, кроме ssh. NFS экспортирует all_squash, anonuid, anongid, сопоставляя все клиенты клиентов с владельцем на сервере (работающем), все еще нуждающимся в возможностях для чтения на сервере? Странные строки в папке / var / log / message машины Centos использование регулярных выражений в exim-фильтрации ag: поиск игнорируемых файлов, но не двоичных файлов 200 мс между TCP send и tcpdump только с большими сообщениями Что означают слова раковины и источника в pulseaudio?

Доступ к буферу Unix

Я новичок в Linux. В моей компании у нас есть сервер Linux, и на этом сервере есть несколько пользователей (таким образом, несколько учетных записей). Таким образом, логически, для разных пользователей будут разные буфера обмена.

Мой вопрос: так же, как в Windows, мы можем иметь просмотрщик буфера обмена, как я могу увидеть содержимое буфера обмена в Unix?

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

Тем не менее, буфер обмена X11 немного странный .

Что касается содержания, я всегда любил xcb , но в наши дни это, по-видимому, считается довольно неясным. Вам может понравиться парселлит , но посмотрите вокруг, похоже, что существует много менеджеров буфера обмена X11 и программ взаимодействия.

Буфер обмена не является чем-то особенным и просто деталью реализации некоторых программ, например, X , emacs , vim и другие программы имеют реализации, которые вы могли бы назвать clipboards .

Поскольку вы говорите о сервере, я предполагаю, что ваши пользователи войдут в систему через ssh что означает, что для этих пользователей нет буфера обмена, который обрабатывается их хост-системой и terminal .

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

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

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

Есть много других вещей, которые вы можете изучить, например, autocutsel , интеграция между X clipboard и emacs и т. Д.

В 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.") ) 

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

И, случайно, я заметил, что могу вставить urrevt, нажав кнопку мыши. Мне не нравится использовать мышь, поэтому, если вы знаете, как связать это с ярлыком на клавиатуре, пожалуйста, скажите мне.

Изменить: я нашел (где-то на этом сайте), что ответ на окончательный (мой) вопрос – это уже сделано, а именно Shift-Insert.