在 Windows 10 上的 Linux 子系统上使用 xclip 时会出现错误,例如:
cat some/file.txt | xclip
Error: Can't open display: (null)
没有桌面(UI),所以当然没有可用的剪贴板。有没有办法让它与 Windows 剪贴板兼容?
答案1
看WSL 问题 #1069有两种解决方法:
cat filePath | clip.exe
只是为了向任何偶然发现这个线程的人澄清一下,在命令提示符中使用类型 。
-JetStarBlues 于 2 月 8 日发表评论
或者:
我可以确认运行 Xming 并配置
DISPLAY
环境变量足以让某些内容进入 Windows 剪贴板:$ export DISPLAY=:0 $ echo 'some text' | xclip -selection clipboard
这很好用。显然使用主剪贴板也很好用,所以我猜 Xming 会将两者都重定向到 Windows 剪贴板
。-mateusmedeiros 于 2016 年 9 月 9 日发表评论
答案2
clip.exe < ~/.ssh/id_rsa
我将我的 ssh 密钥复制到 WSL2 上的 github。
答案3
我一直在使用 temux,将其添加到我的 .tmux.conf 中使我无需安装 X 服务器即可复制和粘贴:)
#to be able to use mouse buttons and scroll:
set -g mouse on
#to copy to Windows clipboard by marking text
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel clip.exe
#to be able to paste by right clicking (like in default Windows Terminal)
unbind-key MouseDown3Pane
bind-key -n MouseDown3Pane run "tmux set-buffer \"$(powershell.exe -command Get-Clipboard | tr -s '\r\n' ' ')\"; tmux paste-buffer"
答案4
我一直在查看大量有关在 WSL Ubuntu 终端中复制到剪贴板和从剪贴板粘贴的帖子。
在 WSL 中使用剪贴板
复制到剪贴板的最佳方法是:
echo 'something' | clip.exe
最佳粘贴方式:
powershell.exe Get-Clipboard
使用别名简化
您甚至可以在 .bashrc 或 .bash_aliases 中放置别名,使其类似于 Mac bash 终端:
alias pbcopy='clip.exe'
alias pbpaste='powershell.exe Get-Clipboard'
然后从管道复制的命令将是:
echo "hello" | pbcopy
粘贴到文件如下:
pbpaste > pasted.txt