I'm using Windows 10. I open Git Bash and then ssh into an Ubuntu server. Often I want to copy the whole contents of a large text file.
Rather than using scp to download the file to my Windows machine, I sometimes would rather quickly copy the contents to my clipboard.
Using cat
and then scrolling thousands of lines and then manually copying to clipboard is possible but isn't practical.
I'd rather pipe cat
to a command that copies the output to my Windows clipboard. Or call some other command like xclip
.
https://unix.stackexchange.com/questions/211817/copy-the-contents-of-a-file-into-the-clipboard-without-displaying-its-contents and How can I copy the output of a command directly into my clipboard? are similar questions, but xclip
causes this error:
xclip -sel c < /etc/php/7.4/cli/php.ini
Error: Can't open display: (null)
Update after comment:
https://stackoverflow.com/a/39556508/470749 was interesting, but X11Forwarding yes
is already in my server config, and when I prepended ForwardX11 yes
to ~/.ssh/config
and then ran ssh -v -X -t -i ~/.ssh/id_rsa myuser@■■.■■■.■■■.■■
, I still got:
debug1: No xauth program.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
and then when I ran xsel -b < /etc/php/7.4/cli/php.ini
:
xsel: Can't open display: (null)
: Inappropriate ioctl for device
Maybe X session in Git Bash on Windows? will help me further.
You need and X server on your Windows host and X-tunnelling in your ssh connection.
xclip
will send the clipboard to your X server, and the server will provide it to Windows.export DISPLAY=localhost:0.0
/etc/ssh/sshd.config
on the remote node has lineX11Forwarding yes
-Y
flag tossh
:ssh -Y <server_address>
While there are some recipies on Stack Overflow already, there is one glitch. Note
DISPLAY=localhost:0.0
. If you omitlocalhost
, that isexport DISPLAY=:0.0
, thenxclip
will fail on the remote node :connect /tmp/.X11-unix/X0: No such file or directory xterm: Xt error: Can't open display: localhost:10.0