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

Я пытаюсь скопировать с терминала 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 то, что я скопировал из терминала?

2 ответа

Решение

Я думаю, что это просто вопрос понимания различных буферов выбора, используемых 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

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

Другие вопросы по тегам