Linux mint не работает буфер обмена

Обновлено: 04.07.2024

Я пытаюсь использовать их, и это не работает. На одном конкретном компьютере с Ubuntu обычные команды копирования и вставки не работают: они не работают локально и не работают через удаленный сеанс.

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

Так что я вне догадок.

Как мне это включить? На зараженном компьютере работает Ubuntu MATE 16.04. Терминал является mate-Terminal, за исключением случаев, когда я вхожу через ssh, в этом случае это Bash. Каха - оконный менеджер.

«Я даже думал, что у компьютера с Ubuntu, который я использую, есть функциональная копия-вставка с терминала» . Я запутался - копирование-вставка работает или нет? То есть проблема касается только SSH? Как вы подключаете SSH? Баш не терминал. Это оболочка, которая работает внутри терминала. Caja не оконный менеджер - это файловый менеджер / браузер (по умолчанию MATE). Диспетчером окон по умолчанию на MATE является Marco (форк Metacity). Я использую MATE, и Ctrl + Shift + C / V работал хорошо для меня в mate-terminal течение всего моего времени, используя MATE (в 16.04, 16.10, 17.04). cc @ bodhi.zazen, так как вы спросили об этом :)

Есть разные способы пометить / скопировать и вставить в Linux. Один из них работает во всех известных мне эмуляторах терминала, в том числе xterm .

1. Метод отметки и вставки в Linux - «средний щелчок»

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

Переместите курсор мыши туда, куда вы хотите вставить текст.

Нажмите среднюю кнопку или колесо прокрутки (как если бы это была кнопка). Если нет средней кнопки, нажмите левую и правую кнопки одновременно.

В окне терминала текст будет вставлен в позицию курсора. Это работает в том же окне терминала, в другом окне терминала, а также в других программах, например Firefox и gedit.

2. Метод, который работает во многих, но не во всех окнах терминала

2.1 Через меню

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

Используйте выпадающее меню или щелкните правой кнопкой мыши меню и выберите «Копировать» (в буфер обмена).

Переместите курсор мыши туда, где вы хотите скопировать текст.

Используйте выпадающее меню или щелкните правой кнопкой мыши меню и выберите «Вставить»

2.2 комбинация горячих клавиш с ctrl

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

Нажмите shift + ctrl +, c чтобы «Копировать» (в буфер обмена).

Нажмите shift + ctrl +, v чтобы «вставить» в другое окно терминала.

Нажмите ctrl +, v чтобы «вставить» в обычную прикладную программу с графическим интерфейсом, например Firefox или Gedit.

Я обновился до Ubuntu 17.10, одна вещь - x-manager по умолчанию, измененный с Unity на Gnome. Теперь копирование при выборе больше не работает, когда я использую среднюю кнопку для вставки, он вставляет некоторый другой буфер буфера обмена. Я все еще ищу решения. @fchen, вставка с помощью среднего щелчка работает для меня в 17.10, даже с Wayland. Моя система только что установлена. Я знаю, что есть некоторые проблемы с системами 17.10, которые обновлены с предыдущих версий. Я переключился с Ubuntu Xorg на Unity, и теперь это работает. Из других поисков люди сообщали, что в течение определенного периода работали копии для выбора, а затем по какой-то причине не будут работать, пока вы не перезагрузитесь.

FWIW, я не делаю много резки и вставки в терминале. Просто печатать. Что вы делаете для того, чтобы резать так важно?

Копирование / вставка предоставляется программой терминала, если она вообще есть. Там нет общего ответа. Поскольку вы не сообщите нам, какой эмулятор терминала вы используете, мы не можем помочь. Если у терминала есть выпадающее меню (терминал gnome), вы можете получить подсказки. Я почти уверен, что нет Ctrl + V в xterm или rxvt.

ТАКЖЕ можно получить вырезать / вставить из программы, которую вы запускаете в терминале. Запустить emacs в терминале, вырезать Ctrl + W и вставить Ctrl + Y .

Единственная общая функция вставки будет исходить из базовой ОС Linux. Это работает и в виртуальном терминале ( Alt + Ctrl + F1 ). Используйте левую кнопку, чтобы выделить. Затем средний щелчок, чтобы вставить. Действие должно происходить без кликов между ними. Средний щелчок - это фокус и вставка за один шаг. Я использую это все время.

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

@wjandrea Используя интерфейс мыши общего назначения : Как я могу использовать мышь в виртуальном терминале?

Вы пробовали использовать Ctrl + Ins и Shift + Ins ? Я не уверен насчет копирования, но вставка работает нормально для меня. Попробуйте и отредактируйте свой вопрос, если он не работает.

Настройки, которые были отключены на моем компьютере, не позволяли вставлять клики по среднему щелчку, как обычно:

Вы можете редактировать это значение либо с помощью dconf-editor (UI), либо с помощью cli:

Copy and Paste

Исторически сложилось так, что в X Window System (X11, — оконная система для Linux, UNIX) существует два буфера обмена.

Один из них (clipboard) похож на буфер обмена в Windows — при нажатии на Ctrl+Insert или Ctrl+C выделенный фрагмент (текст, картинка, файл) копируется в буфер обмена, а при нажатии на Shift+Insert (или Ctrl+V) — вставляется из него. Следует заметить, что во многих программах эти сочетания зарезервированы для иных целей и приходится пользоваться другими — например, в терминале сочетание Ctrl+C используется для завершения процесса, а для работы с буфером обмена используются сочетания Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки.

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

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

Практика

Для решения проблемы утери данных из буфера обмена при закрытии программы существует сторонний софт. Например, Clipboard Daemon. Этот маленький демон держит содержимое буфера обмена в памяти независимо от того, было ли закрыто приложение, из которого скопированы данные.

    — многообещаюший менеджер буфера обмена на GTK — для Gnome — для KDE — для Window Maker
  • и куча других (в том числе для Windows, Mac OS и прочего).

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

К сожалению, официальная версия xclip у меня с кириллицей корректно не заработала, несмотря на то, что я собирал последнюю версию. Поэтому я предлагаю скачать и собрать версию xclip для дистрибутива Alt Linux.

Скрипты


Я предлагаю два скрипта, которые смогут облегчить вашу повседневную работу. Первый скрипт:

Update 2: по просьбе хабраюзера dimaka добавил скрипты для перевода:

Copy paste Linux

Хочу рассказать о некоторых особенностях буфера обмена в Linux. О буфере копирования и про буфер выбора (первичный буфер), а также про копирование и вставку текста в терминале.

Буфер копирования

Стандартно для копирования и вставки объектов в Linux используются сочетания клавиш Ctrl+C и Ctrl+V. При копировании текст (или любой другой объект) в таком случае попадает в обычный буфер копирования. Затем вы можете вставить этот текст в другом месте.

Буфер выбора (первичный буфер)

В Linux существует еще буфер выбора или первичный буфер. Текст, который вы выделяете в любой программе, автоматически попадает в буфер обмена! Это удобно, выделил текст, открыл другое окно и вставил этот кусок текста. Есть некоторые исключения, но они незначительны. Например, у меня в Ubuntu это не работает, если программа использует JVM (Java Virtual Machine).

Кстати, именно этим объясняется следующие поведение. Вы выделили текст в программе, затем открыли другую программу и выделили какой-нибудь текст в ней. После этого, выделение текста в первой программе автоматически снимется, а текст который вы выделили последним, попадет в буфер выбора.

Копирование и вставка в терминале

В терминале для копирования и вставки не работают стандартные сочетания Ctrl+V, Ctrl+C. Это связано с тем, что исторически Ctrl+C это сочетание клавиш для прерывания текущего процесса. Поэтому, для копирования и вставки при работе в терминале используются сочетания Ctrl+Insert и Shift+Insert соответственно. В Gnome терминале и, наверное, во многих других также работают сочетания Shift+Ctrl+C и Shift+Ctrl+V. Они же указаны в главном меню программы в разделе Правка.

Также в терминале работают сочетания клавиш Ctrl+U, чтобы вырезать текст; и Ctrl+Y для вставки текста. Сочетание Ctrl+U работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.

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

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

Лучшие менеджеры буфера обмена Linux

1. CopyQ

2. Diodon

Ti++9938D3buPF9lDurYAAAAASUVORK5CYII //pagead2.googlesyndication.com/pagead/js/adsbygoogle.js

Diodon - это более простой менеджер буфера обмена Linux. Он не поддерживает сохранение форматирования текста, но изображения сохраняются. После установки скорее всего потребуется перезагрузить компьютер. Без этого менеджер может не заработать.

Для установки Diodon используйте команду:

sudo apt install diodon

3. Clipman (XFCE)


Для оболочки XFCE вы можете установить менеджер буфера обмена Clipman. Текст сохраняется без форматирования. Есть возможность сохранять изображения.

У менеджера наблюдается серьёзная ошибка. Вместо того, чтобы показать полную историю, открывается меню настроек. Надеемся, что в скором времени этот недостаток будет устранён.

Для установки Clipman воспользуйтесь командой:

sudo apt install xfce4-clipman

4. Clipboard Indicator (GNOME)

Наиболее универсальным менеджером буфера обмена будет CopyQ. Он заработает на большинстве оболочек, при этом предоставит большой набор функций, превосходящий возможности других программ. Также вас может заинтересовать расширение для GNOME.

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

А пользуетесь ли вы менеджером буфера обмена? Какие лучшие менеджеры буфера обмена Linux вы знаете? Расскажите об том в комментариях.

Читайте также: