Copying text from a terminal - ArchWiki

# Copying text from a terminal

From ArchWiki
Jump to navigation Jump to search

Most mature terminal emulators permit users to copy or save their contents.

## General approach

In graphical terminal emulators, contents are typically selectable by mouse, and can then be copied using the context menu, Edit menu or a key combination such as `Ctrl+Shift+C`.

### Terminals without CLIPBOARD selection

Some emulators do not support the CLIPBOARD selection natively, and copy data to the PRIMARY selection. For them xclip may be used:

    $ xclip -o | xclip -selection clipboard -i

The above command reads data from the PRIMARY selection and writes it to CLIPBOARD selection.

Other clipboard managers such as autocutsel provide automatic synchronization between selection buffers.

### Intercepting commands’s output

Use tee to intercept the output of a command.

    $ command 2>&1 | tee output-file

After the `command` is executed, `output-file` will contain its output.

### Accessing Linux terminal backlog

The backlog of a native terminal named `/dev/ttyN` may be accessed via `/dev/vcsN`. Hence, if one is working in `/dev/tty1`, the following snippet will let store the backlog in a file `output-file`:

    # cat /dev/vcs1 >output-file

## Comparison of common emulators

The factual accuracy of this article or section is disputed.

Reason: Some "No" entries in this table may be wrong. (Discuss in "No"_entries_factual_accuracy Talk:Copying text from a terminal#A cheatsheet for common emulators: "No" entries factual accuracy)

Unless the "Key combination" column states otherwise, the key combination is `Ctrl+Shift+c`.

Emulator | Select to PRIMARY | CLIPBOARD
--- | --- | ---
Key combination | Context menu | Window menu | Select
atermAUR | Yes | No | No | No | No
etermAUR | Yes | No | No | No | No
germinalAUR | Yes | Yes | Yes | No | No
Guake | Yes | Yes | Yes | No | No
konsole | Yes | Yes | Yes | Yes | Optional
lilyterm-gitAUR | Yes | Yes `Ctrl+Delete` | Yes | No | No
lxterminal | Yes | Yes | Yes | Yes | No
mate-terminal | Yes | Yes | Yes | Yes | No
mltermAUR | Yes | No | No | No | Yes
pantheon-terminal | Yes | Yes | Yes | No | No
PuTTY | Yes | No | No | No | No
qterminal | Yes | Yes | Yes | Yes | No
roxtermAUR | Yes | Yes | Yes | Yes | No
rxvtAUR | Yes | No | No | No | No
sakura | Yes | Yes | Yes | Yes | No
st | Yes | Yes | No | No | No
Terminator | Yes | Yes | Yes | No | No
terminology | Yes | Yes | Yes | No | No
Termite | Yes | Yes | No | No | No
Tilda | Yes | Yes | Yes | No | No
tinyterm-gitAUR | Yes | Yes | No | No | No
urxvt | Yes | Yes `Ctrl+Alt+c` | No | No | Optional
xfce4-terminal | Yes | Yes | Yes | Yes | No
xterm | Yes | Optional[1] | No | No | Yes
Yakuake | Yes | Yes | Yes | No | Optional

## Special cases

### putty

The xclip approach works for putty: one just has to remember that the xclip invocation should be done on the local computer (in another terminal), not on the remote machine to which putty is connected.

### urxvt

Selecting text to CLIPBOARD requires the `selection-to-clipboard` perl extension. See Rxvt-unicode#Cut and paste for details.

### xterm

Access to the CLIPBOARD selection in xterm requires additional steps.

Category:

- Terminal emulators

Hidden category:

- Pages or sections flagged with Template:Accuracy