Як працює copy-paste з xterm?


59

Клацання лівою кнопкою миші в xterms починає вибір те, що потрібно вставити копію.

Подвійне клацання лівою кнопкою миші вибирає слово.

Потрійне ліве клацання вибирає рядок.

Все це працює в єдності 11.04. Однак немає можливості скопіювати цей вибір у інше місце: меню правою кнопкою миші показує вставку вимкнено, а середнє клацання для копіювання-вставки не працює.

Тож як я можу скопіювати виділення з xterm в інше місце? Я задоволений будь-яким методом для цього.

(Я використовую встановлення за замовчуванням, поки що немає спеціальної конфігурації)

Редагувати: та ж проблема з xedit


1
Це повністю залежить від вашого DE та терміналу.
RobotHumans

@AbrahamVanHelpsing: Я використовую встановлення за замовчуванням, мав це сказати ...
false

1
Після вибору потрібно скопіювати, тоді можна лише вставити. Просто згадуючи про це, тому що, як написано запитання, схоже, ви хочете перейти прямо від вибору до вставки. Іншими словами, виберіть лівою кнопкою миші, скопіюйте з меню правою кнопкою миші та вставте з меню правої кнопки миші.

1
Ви використовуєте XTerm? (програмне забезпечення) або ви посилаєтесь на термінал Gnome як XTerm ?.
Урі Еррера

@ vasa1: Але після вибору лівою кнопкою миші вставити праву клавішу все ще вимкнено!
помилково

Відповіді:


44

Використовуйте середнє клацання або зсув + вставка

див. Вибір вікна X


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

2
У X є два буфера обміну, якщо ви виберете щось у xterm, він перейде до розрізаних буферів, і в цьому випадку ви можете вставити їх середнім клацанням або зсувом + вставкою. що не те саме поняття, як копія пасти.
рядки

Я додав посилання, щоб допомогти пояснити процес вибору X 11.
рядки

Дякую. Але як мені тепер отримати під єдністю текст з xterm в інший додаток. Раніше (я використовував кармічний), я просто використовував середній клік, як ви пропонуєте. Але зараз під єдністю, або 11.04; ні середній клік, ні вставка shift не працюють.
помилково

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, який виводить рядок у stdout.

Чомусь мені не вдалося натиснути обидві кнопки (імітуючи середній клацання) у xterm, але вставка shift змінила роботу в xterm.


4
+1 - вирішено для мене. Оскільки це запитання виникає при пошуку таких запитань, як "Як скопіювати в xTerm", варто додати, що якщо у вас налаштований файл .Xresources (або подібний), ви можете додати xterm*selectToClipboard: trueтуди рядок, щоб зміни стали стійкими :)
Ешлі Девіс

Відповідь Стефана пояснює, як забезпечити, щоб налаштування у відповіді Ешлі було прочитано (працював для мене на Fedora 29 - я не пробував цього без додаткового кроку Стефана xrdb, але він також зазначає, що ви повинні перезапустити xterm, хоча це може бути очевидним для більшості люди)
poikilos

Зауважте, що якщо ви використовуєте -class ${CLASS}для запуску xtermвідповідний прапор стає -xrm ${CLASS}.*.selectToClipboard:trueтаким, якщо у вас є окремі класи вікон xterm, налаштування відстежуються окремо.
stevesliva

11

Подібне питання обговорюється тут . Як "рядки" вказували:

У X є два буфера обміну, якщо ви виберете щось у xterm, він перейде до розрізаних буферів, і в цьому випадку ви можете вставити їх середнім клацанням або зсувом + вставкою. що не те саме поняття, як копія пасти.

Копіювати / вставляти в xterm працював для мене, але не для додатка зовні, наприклад gedit. Відповідно до посилання вище, я встановив парцеліт, і це вирішило проблему,

sudo apt-get install parcellite

Оновлення: Якщо "вставити" не працює зі "shift-insert", тоді використовуйте середню кнопку миші, або якщо у вас немає одного клацання одночасно лівою та правою кнопками, щоб вставити.


1
Для більшої ясності, встановивши парцеліт, запустіть його. Він знаходиться в системному лотку. Клацніть правою кнопкою миші> Налаштування, потім встановіть прапорець "Використовувати первинний" та "Синхронізувати буфер". Тепер виберіть щось у Xterm, а потім можете Ctrl-V в іншому місці.
Ян Гіббс

дякую, це спрацювало, але як тільки ви встановите парацеліт, перезавантажте свій термінал
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

Коли ви вибираєте текст, він автоматично розміщується у вирізаному буфері (як буфер обміну). Коли ви користуєтеся Copy, з меню або зі скороченням клавіатури, вона переходить у основний буфер обміну.

Щоб вставити з вирізаного буфера у ваш xterm, клацніть середнім клацанням. Щоб вставити з буфера обміну в xterm, перемістіть середній клік.


1

Ознайомтеся з проблемами вставлення проблем із xterms та сучасними програмами / менеджерами вікон тут: http://www.davidsimmons.com/soft/xtermhacks/#copynpaste


Ласкаво просимо до Ask 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.