pengembangan-web-mp-pd.com

Bagaimana cara menyalin buffer layar GNU ke clipboard?

Saat menggunakan Layar GN kita dapat bekerja dengan buffer scrollback juga dikenal sebagai "mode salin" menggunakan Ctrl+a+[ perintah.

Di sana kita dapat menyalin teks ke copy buffer dengan menekan space memilih teks dan menekan space lagi.

Apakah ada cara untuk menyalin teks ini dari buffer salinan layar ke papan klip X?

Dalam kasus saya, saya menggunakan Ubuntu 12,04 dengan gnome dan Xorg.

63
Samuel G. P.

Anda dapat menggunakan alat clipboard CLI seperti xsel atau pbpaste dan utilitas cat untuk mengambil konten dari STDIN. Langkah-langkah di Linux dengan xsel adalah sebagai berikut:

  1. Salin teks dari sesi layar Anda ke GNU penyangga salinan layar.
  2. Jalankan perintah ini di dalam layar: cat | xsel -b
  3. Jika xsel tidak melaporkan kesalahan, sekarang buang buffer salinan layar ke STDIN: Ctrl+a+]
  4. Kirim EOF ke cat untuk menghentikannya: Ctrl+d

Pada titik ini, isi buffer salinan layar harus ada di clipboard Anda.

EDIT: Seperti halnya semua program X, xsel perlu tahu cara menghubungi server X Anda untuk mengakses clipboard. Anda harus mengatur variabel lingkungan DISPLAY Anda dengan tepat.

42
bonsaiviking

Ada cara yang lebih sederhana dan kurang manual untuk melakukan ini. Di file .rc layar Anda, tambahkan baris berikut:

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

Cara menggunakan fungsi salin:

  1. screen -c path/to/screen/config.rc
  2. Tekan Ctrl + A lalu Esc untuk masuk ke mode salin.
  3. Gulir ke atas penyangga teks dan temukan tempat yang Anda ingin tinggalkan untuk mulai menyalin, lalu tekan spasi.
  4. Gulir ke bawah dan pilih teks yang ingin Anda salin. Setelah selesai, tekan spasi lagi.
  5. Teks sekarang akan ada di clipboard Anda.
11
kungfuspider

Jawaban ini berlaku untuk OS X.

Setelah menyalin teks yang diinginkan ke GNU Buffer tempel layar menggunakan mode salin , lakukan hal berikut:

  1. Di salah satu jendela layar Anda, ketik pbcopy <enter>.
  2. Kemudian tempel teks Anda ke terminal menggunakan layar GNU perintah tempel (Ctrl-a ] kecuali Anda telah mengubah kunci pelarian Anda).
  3. Jika teks tidak berakhir di baris baru, tekan <enter> untuk menyisipkan satu.
  4. Akhirnya, tekan Ctrl-d menyebabkan pbcopy untuk mendorong teks ke clipboard sistem.

Kemudian Anda dapat menempelkan teks di tempat lain di OS X seperti biasa menggunakan Command-v atau opsi menu yang setara.

10
scottgwald

Jawaban ini hanya berfungsi untuk skenario di mana target akhir Anda akan segera menempel konten buffer yang disalin.

Cara paling sederhana untuk melakukan ini adalah dengan membagi layar Anda menjadi dua wilayah. Anda dapat melakukan ini dengan memukul CTRL+a kemudian |'Ini bukan i. Ini adalah tanda PIPE pada keyboard Anda'

Memukul CTRL+a kemudian TAB untuk beralih ke wilayah kedua, CTRL+a kemudian c untuk membuat sesi baru di wilayah kedua.

Jika Anda ingin menyalin dari nano dan menempel di terminal, buka file di nano di wilayah kiri, tekan CTRL+a kemudian ESC, gulir ke titik awal lokasi salin Anda dan tekan SPACE, pilih teks dengan menggulir ke titik akhir dan tekan SPACE lagi untuk menandai salinan.

Sekarang, yang harus Anda lakukan adalah memukul CTRL+a kemudian TAB untuk beralih ke wilayah di sebelah kanan Anda dan tekan CTRL+a kemudian ].

Teks Anda akan ditulis ke baris perintah. Perhatikan bahwa Anda juga dapat memeriksa opsi hardcopy jika Anda ingin menulis langsung ke file.

9
CoderX

Keluar dari sesi terminal ssh Anda, jika saat ini Anda terhubung ke server.

Jika Anda menggunakan XQuartz di Mac OS dan xsel di server. Anda harus memperbarui pengaturan papan tulis XQuartz dengan memilih Preferensi di menu aplikasi xQuartz.

Pengaturan XQuartz:

enter image description here

ssh ke mesin jarak jauh dan coba jalankan:

xsel -p <<<"THIS IS A TEST".

Tekan cmd + v dan "INI IS A TEST" harus menjadi output.

0
Ryan