How to copy the GNU Screen copy buffer to the clipboard?
You can use a CLI clipboard tool like xsel
or pbpaste
and the cat
utility to grab contents from STDIN. The steps on Linux with xsel
are as follows:
- Copy text from your screen session into GNU screen's copy buffer.
- Run this command within screen:
cat | xsel -b
- If
xsel
didn't report any error, now dump screen's copy buffer to STDIN:Ctrl+a+]
- Send an EOF to
cat
to terminate it:Ctrl+d
At this point, the contents of the screen copy buffer should be in your clipboard.
EDIT: As with all X programs, xsel
needs to know how to contact your X server in order to access the clipboard. You should have your DISPLAY
environment variable set appropriately.
This answer works for only a scenario where your end target is to paste the copied buffer contents immediately.
The simplest way to do this is by splitting your screen into two regions. You can do this by hitting CTRL+a then |'This is not an i. It is the PIPE sign on your keyboard'
Hit CTRL+a then TAB to switch to the second region, CTRL+a then c to create a new session in the second region.
If you want to copy from nano and paste in terminal, open up the file in nano on the left region, hit CTRL+a then ESC, scroll to the start point of your copy location and hit SPACE, select the text by scrolling to the end point and hit SPACE again to mark copy.
Now, all you have to do is hit CTRL+a then TAB to switch to the region on your right and hit CTRL+a then ].
Your text will be written out to the command line. Note that you can also check for hardcopy option if you want to write directly to file.