linux - файла - Как скопировать буфер копирования GNU Screen в буфер обмена?




вставить в линукс (4)

При использовании экрана GNU мы можем работать с буфером прокрутки, также известным как «режим копирования», используя команду Ctrl+a+[ .

Там мы можем скопировать текст в буфер копирования , нажав space выбрав текст и снова нажав space .

Есть ли способ скопировать этот текст из буферной копии экрана в буфер обмена X?

В моем случае я использую Ubuntu 12.04 с gnome и Xorg.


Вы можете использовать инструмент буфера обмена CLI, такой как xsel или pbpaste и утилиту cat для захвата содержимого из STDIN. Шаги по Linux с xsel заключаются в следующем:

  1. Скопируйте текст из сеанса экрана в буфер копирования экрана GNU.
  2. Запустите эту команду на экране: cat | xsel -b cat | xsel -b
  3. Если xsel не сообщила о какой-либо ошибке, теперь буфера копирования экрана дампа в STDIN: Ctrl+a+]
  4. Отправьте EOF cat чтобы ее прервать: Ctrl+d

На этом этапе содержимое буферной копии экрана должно находиться в вашем буфере обмена.

EDIT: Как и во всех X-программах, xsel должен знать, как связаться с вашим X-сервером, чтобы получить доступ к буферу. Должна быть установлена ​​соответствующая переменная среды DISPLAY .


Если это всего лишь небольшая информация, которую вы хотите скопировать, просто выделите ее мышью, а затем вставьте ее туда, где хотите.

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


Существует более простой и менее ручной способ сделать это. В вашем экране .rc-файл добавьте следующую строку:

bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/usr/bin/pbcopy < /tmp/screen-exchange"'

Как использовать функции копирования:

  1. screen -c path/to/screen/config.rc
  2. Нажмите Ctrl + A, затем Esc, чтобы перейти в режим копирования.
  3. Прокрутите текстовый буфер и найдите место, в котором вы хотите оставить маркер начала для копирования, а затем нажмите пробел.
  4. Прокрутите вниз и выберите текст, который вы хотите скопировать. Когда вы закончите, снова нажмите пробел.
  5. Текст теперь будет в вашем буфере обмена.

Этот ответ относится к OS X.

После копирования желаемого текста в буфер палитры экрана GNU с использованием режима копирования выполните следующие действия:

  1. В любом из ваших окон экрана введите pbcopy <enter> .
  2. Затем вставьте текст в терминал с помощью команды «Вставка экрана GNU» ( Ctrl-a ] если вы не изменили свой escape-ключ).
  3. Если текст не заканчивается в новой строке, нажмите <enter> чтобы вставить его.
  4. Наконец, нажмите Ctrl-d чтобы заставить pbcopy нажимать текст в системный буфер обмена.

Затем вы можете вставить текст в другом месте OS X, как обычно, с помощью Command-v или эквивалентного меню.







gnome-terminal