Как copy-paste работает с xterm?


59

Щелчок левой кнопкой мыши в xterms запускает выбор чего-либо для вставки копии.

Двойной щелчок левой кнопкой мыши выбирает слово.

Тройной левый щелчок выбирает линию.

Все это работает при единстве в 11.04. Однако нет способа скопировать и вставить этот выбор в другое место: контекстное меню показывает, что вставка отключена, а нажатие средней кнопкой мыши на копирование-вставку не работает.

Итак, как я могу скопировать выделение из xterm в другое место? Я счастлив с любым методом, чтобы выполнить это.

(Я использую установку по умолчанию без специальной конфигурации до сих пор)

Изменить: та же проблема с xedit


1
Это полностью зависит от вашего DE и терминала.
— RobotHumans

@AbrahamVanHelpsing: я использую установку по умолчанию, должен был сказать это ...
— false

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

1
Вы используете XTerm? (программное обеспечение) или вы называете Gnome Terminal XTerm ?.
— Ури Эррера

@ vasa1: Но после выбора левой кнопкой мыши вставка правой кнопкой мыши по-прежнему отключена!
— ложно

Ответы:


44

Используйте средний щелчок или Shift + Вставить

см. выбор X Window


2
Средний щелчок не работал, также как и Shift-Insert (о которой я никогда не слышал, но я пытался). Например, я пытаюсь скопировать и вставить что-то в текстовое поле, которое я просто пишу ...
— false

2
У X есть два буфера обмена, если вы выберете что-то в xterm, он перейдет в буферы обрезки, и в этом случае вы можете вставить с помощью среднего щелчка или Shift + Insert. что не то же самое, что копировать пасту.
— Струны

Я добавил ссылку, чтобы помочь объяснить процесс выбора X 11.
— Струны

Спасибо. Но как мне теперь объединить текст из xterm в другое приложение? Ранее (я использовал karmic), я просто использовал средний щелчок, как вы предлагаете. Но сейчас под единым или 11.04; ни средний щелчок, ни сдвиг-вставка не работают.
— ложь

1
если shift + insert тоже работает, то мы можем исключить вашу мышь. Вы используете какой-нибудь менеджер буфера обмена? xsel или что-то в этом роде?
— Струны

28

Xterm использует обрезанные буферы, а не стандартный выбор буфера обмена X11, используемый для стандартной операции копирования-вставки, которую сейчас использует gnome-терминал и большинство других программ Linux.

Но если вы запустите xterm так:

xterm -ls -xrm 'XTerm*selectToClipboard: true'&

затем выбор доступен через стандартный буфер обмена.

Узнайте больше на Копирование и вставка в Xterm | База знаний StarNet - ПК X, X Windows, X 11 и более - StarNet

xcbПрограмма также предоставляет доступ к командной строке для срезанных буферов.

Например, в Trusty Tahr 12.04 с запущенным оконным менеджером lxde я могу трижды щелкнуть строку текста в xterm, которая выделяет ее и помещает в обрезанный буфер 0. Затем я могу запустить xcb -p 0, которая выводит строку на стандартный вывод.

По какой-то причине у меня не получилось нажать обе кнопки (имитирующие средний щелчок) в xterm, но shift-insert сработал в xterm.


4
+1 - решено за меня. Поскольку этот вопрос возникает при поиске таких вопросов, как «Как копировать в xTerm», стоит добавить, что если у вас настроен файл .Xresources (или аналогичный), вы можете добавить xterm*selectToClipboard: trueтуда строку, чтобы сделать изменение постоянным :)
— Эшли Дэвис

Ответ Стефана объясняет, как убедиться, что настройки в ответе Эшли прочитаны (работал для меня на Fedora 29 - я не пробовал это без лишнего шага Стефана xrdb, но он также упоминает, что вам нужно перезапустить xterm, хотя это может быть очевидно для большинства человек)
— пойкилось

Обратите внимание, что если вы используете -class ${CLASS}для запуска xtermсоответствующий флаг, становится -xrm ${CLASS}.*.selectToClipboard:trueтаковым, если у вас есть отдельные классы окна xterm, настройки отслеживаются отдельно.
— стевеслива

11

Подобная проблема обсуждается здесь . В качестве «струн» указано:

У X есть два буфера обмена, если вы выберете что-то в xterm, он перейдет в буферы обрезки, и в этом случае вы можете вставить с помощью среднего щелчка или Shift + Insert. что не то же самое, что копировать пасту.

Копирование / вставка в xterm работала у меня, но не в приложении снаружи, пример gedit. По ссылке выше, я установил parcellite, и это решило проблему,

sudo apt-get install parcellite

Обновление: если «вставить» не работает с «shift-insert», то используйте среднюю кнопку мыши или, если у вас нет одного щелчка левой и правой кнопок одновременно, чтобы вставить.


1
Для большей ясности, после установки parcellite, запустите его. Он сидит в системном трее. Щелкните правой кнопкой мыши> «Настройки», затем выберите «Использовать основной» и «Синхронизировать буфер обмена». Теперь выберите что-то в Xterm, и затем вы можете нажать Ctrl-V в другом месте.
— Ян Гиббс

спасибо, что это сработало, но как только вы установили paracellite, перезапустите ваш терминал
— user889030

10

Копировать между xterm и другими программами / документами / ...

Добавить в файл ~/.Xresources(или создать):

XTerm*selectToClipboard: true

Затем выполните команду:

xrdb -merge ~/.Xresources

Перезапустите xterm.



4

Это не совсем отвечает на ваш вопрос, но это помогло мне, поэтому я помещу это здесь, поскольку это может помочь кому-то еще:

  1. Скопируйте то, что вы хотите от xterm, выбрав свой текст
  2. Откройте вторую копию xterm и ваш любимый текстовый редактор (я использую vim)
  3. Используйте Shift + Insert (или средний щелчок), чтобы вставить в ваш текстовый редактор
  4. Сохраните файл.
  5. При необходимости откройте файл с помощью графического текстового редактора (например, gedit).
  6. Скопируйте текст и вставьте его в приложение, которое вы хотите.

3

Чтобы скопировать текст в Xterm, сначала выделите текст, а затем нажмите shift+ PrtScr. Чтобы вставить текст в Xterm, используйте shift+ Insert.


Не работает в Linux Mint Xfce, 64-битная.
— Адриан Кейстер,

2

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

Чтобы вставить из вырезанного буфера в ваш xterm, щелкните средней кнопкой мыши. Чтобы вставить из буфера обмена в свой xterm, нажмите среднюю кнопку мыши.


1

Смотрите здесь для объяснения проблем вставки с xterms и современными приложениями / оконными менеджерами: http://www.davidsimmons.com/soft/xtermhacks/#copynpaste


Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
— Эрик Карвалью

1

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

xsel -op | xsel -ib

Для этого я определил Meta-c во Fluxbox для этого.

Mod4 c :Exec xsel -op | xsel -ib

Это удобно для программ Windows, которые поддерживают только один буфер обмена (например, VirtualBox).


0

В остальном у меня есть полезный менеджер буфера обмена Glipper, работающий на 12.04.
Если я выберу xterm символы, они появятся в новой записи Glipper.
Если я выберу эту запись (кнопку) среди этой последовательности, из нее придет следующая вставка и вставит эти символы в любое приложение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.