How do you copy from tmux (copy mode) running on a

2019-05-11 18:53发布

问题:

I run linux via VirtualBox on OS X. I do this by running my VM in a headless state and then sshing to the linux machine using port forwarding. Right now whatever is copied to my clipboard on my virtual machine I am able to paste on my remote ssh session, but not vice versa (copying from tmux copy mode). I have tried using the following tmux configurations:

setw -g mode-keys vi
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "tmux save-buffer - | ssh host pbcopy"

Unfortunately this is not working... Manually copying using my mouse works but tmux copy mode is more convenient. Any ideas?

回答1:

This needs integrating tmux buffers with OSX clipboard. What you are trying to do with ssh host pbcopy is just that but I don't think your setup is correct.

host here should be your local OSX machine. And you should have password less key-based trust established between your OSX username and remote user where you are running tmux.

Step 1. Enable SSH on your OSX Goto System preferences -> Sharing and enable Remote Login. Also remove administrators from the list and add your username.

Step 2. Setup password less login.
These are the steps

Step 3. Replace your host with 192.x.x.x or whatever your OSX's ipaddress is which is reachable from your Virtualbox



回答2:

I know this question is answered, but just want to provide an alternative solution;

copy text in tmux copy mode from remote host to local system was always a pain for me, I use a windows laptop to SSH into remote system a lot, but apparently there was no good way to do the remote copy, specially when you have more than one screen of text to copy...

so I wrote a tool: rclip, which uses tmux's copy-pipe command to pipe copied text to rclip, and rclip will forward text over network to a rclip process running on local system, which will copy the received text to system clipboard; all communication is authenticated and encrypted via TLS; give it a try, I am quite happy with it