невозможно вставить с помощью xclip вне терминала

41

Я пытаюсь скопировать с терминала xclip и вставить его в среду рабочего стола Unity в текстовый редактор Gedit. Я могу скопировать и вставить с помощью xclip в терминале:

$ cat line-size.c | xclip
xclip -o > input5.txt
cat input5.txt
#include <stdio.h>
...

Однако, когда я нажимаю control + v для вставки в gedit, он вставляет только последнюю вещь, которую я скопировал в рабочий стол Unity, например что-то из браузера Firefox.

Как я могу вставить в приложения GUI то, что я скопировал из терминала?

JohnMerlino
источник

Ответы:

72

Я думаю, что это просто вопрос понимания различных буферов выбора, используемых xclipутилитой

   -selection
          specify  which X selection to use, options are "primary" to use
          XA_PRIMARY (default), "secondary" for  XA_SECONDARY  or  "clip‐
          board" for XA_CLIPBOARD

Когда вы cat line-size.c | xclipиспользуете стандартное поведение - копировать в основной буфер выбора X - чтобы вставить из этого буфера, вам нужно использовать средний щелчок мыши вместо комбинации Ctrl+ v.

Вместо этого, чтобы скопировать в буфер обмена, чтобы вы могли вставить с Ctrl+ v, вам нужно сделать

cat line-size.c | xclip -selection clipboard
steeldriver
источник
1
Это также легко вставить, отправив по трубопроводу в xclip без дополнительных аргументов. Вместо Ctrl + v, просто используйте средний щелчок мыши.
TheBicentennialMan
Это можно изменить наxclip < line-size.c -selection clipboard
JamesTheAwesomeDude
@SubhamoySengupta см. Мое редактирование
kbtzr
5
Инструкция cat line-size.c | xclip -sel clipимеет тот же результат, что иcat line-size.c | xclip -selection clipboard
Geison Santos
Я не могу представить себе вариант использования по умолчанию для xclipвзаимодействия с чем-то, кроме буфера обмена пользователя.
аааааа
6

На всякий случай, если кто-то ищет самую короткую версию без использования псевдонимов. Используя something|xclip -se cвместо голого, something|xclipвы можете нажать Ctrl + V / Ctrl + Shift + V и увидеть желаемый результат. Где something — cat somefile.txtнапример.

даго
источник