lon*_*nix 5 bash ssh ubuntu tmux clipboard
我通过 ssh 进入我的 VPS 并运行 tmux。我可以从远程复制/粘贴到本地,从本地复制/粘贴到远程 - 使用鼠标和 shift。
但我不知道如何复制大量文本。
如果我在本地工作,我可以这样做:cat somefile.txt | xsel -b
或者cat somefile | xclip -selection clipboard
复制到剪贴板。(我当然不能这样做,因为远程服务器不运行 x,即便如此,剪贴板也不匹配 tmux 中使用的那个。)
那么,如何在 tmux 会话中复制文本,并通过网络将其复制到本地系统的剪贴板?
更新:
实际上,即使没有 tmux,这也适用 - 如何在远程和本地 shell 之间复制粘贴大缓冲区。
要拥有双向剪贴板(更多信息请参见此处):
\n运行ssh
with-X
以启用 X11 转发。
安装xsel
(操作 X 选择)。
sudo apt install xsel\n
Run Code Online (Sandbox Code Playgroud)\n就是这样。现在,要在远程主机上测试远程 \xe2\x86\x92 本地运行:
\nsudo apt install xsel\n
Run Code Online (Sandbox Code Playgroud)\n在本地主机上:
\necho "Time on server is $(xsel -b)"\n
Run Code Online (Sandbox Code Playgroud)\ntime
将显示该命令将文本复制到剪贴板花费了多长时间。
您还可以使用主缓冲区来代替:
\n\n\n选择选项
\n\n
-p
,--primary
:对 PRIMARY 选择进行操作(默认)。
\n-b
,--clipboard
: 对剪贴板选择进行操作。
tmux
在某些情况下,缓冲区堆栈可能就足够了。
-X
可能需要xauth
在服务器上。
xsel
取决于 libx11-6 和 libc6 ( apt depends xsel
)。
如果你得到xsel: Can\'t open display: (null)
检查这个答案。