问题标签 [xclip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 为通过程序的字符串创建快捷方式
很多时候,我必须从终端把东西放到剪贴板上。我这样做:
每次都这样做太蹩脚了,我想走捷径。我该怎么做?
bash - 如果进程产生了 xclip 的背景分支,则输出重定向挂起
我有一个调用xclip
内部的脚本。像这样的东西:
xclip
puts 将数据从它的标准输入放到剪贴板,生成一个后台线程来保存该缓冲区(这就是剪贴板在 X11 中的工作方式)并将其与 tty 分离。
如果我直接运行脚本,它会按预期工作:
但是,如果我尝试将其输出传递到管道中,它会挂起直到xclip
后台进程结束(基本上,直到其他人将数据放入剪贴板)。
我发现xclip
有一个-f
标志似乎可以解决这个问题。
从手册页:
当在输出级别设置为静默(默认值)的输入模式下调用 xclip 时,过滤器选项将导致 xclip 将通过管道传输到标准输入的文本打印回未修改的标准输出
但是,我试图理解为什么它会这样工作。
我创建了另一个行为相同的示例:
echo $(sleep 5 &)
另外,有人告诉我,在fish
我的示例中没有-f
标志。
所以,问题是:
1. 这是 shell ( bash
and zsh
) 的错误还是预期的行为?
2.-f
标志如何影响这种行为?从手册页来看,它似乎不是很相关。
3. 如何使其他脚本(例如)以使用标志sleep
的方式xclip
工作?-f
shell - 将非 PNG 图像复制到 X 剪贴板
关于将图像复制到 X 剪贴板的几个问题已经得到解答,答案总是这样使用xclip
:
这有效,但仅适用于 PNG 文件。您可能会认为将 更改为正确的 MIME 类型(-t image/png
例如JPEG 文件)可以轻松解决问题,但这根本行不通:image/jpg
image/jpeg
图像被复制到剪贴板,但其他应用程序无法将其识别为图像。在我的例子中,复制 JPEG 图像时,Discord 拒绝粘贴任何内容,而 Firefox 则将其粘贴为文本,从而产生一些随机 CJK 字符的高质量 Unicode 汤。
使用 将非 PNG 图像复制到 X 剪贴板的正确方法是什么xclip
?
linux - 当我通过 Git Bash 中的 ssh 在远程 Linux 机器上运行命令时,如何将文件的内容直接复制到我的 Windows 剪贴板中?
我使用的是 Windows 10。我打开 Git Bash,然后 ssh 进入 Ubuntu 服务器。我经常想复制一个大文本文件的全部内容。
有时我宁愿快速将内容复制到剪贴板,而不是使用 scp 将文件下载到我的 Windows 机器上。
使用cat
然后滚动数千行,然后手动复制到剪贴板是可能的,但不切实际。
我宁愿通过管道cat
将输出复制到我的 Windows 剪贴板的命令。或调用其他命令,例如xclip
.
https://unix.stackexchange.com/questions/211817/copy-the-contents-of-a-file-into-the-clipboard-without-displaying-its-contents以及如何直接复制命令的输出进入我的剪贴板?是类似的问题,但xclip
会导致此错误:
评论后更新:
https://stackoverflow.com/a/39556508/470749很有趣,但X11Forwarding yes
已经在我的服务器配置中,当我添加ForwardX11 yes
到~/.ssh/config
然后运行ssh -v -X -t -i ~/.ssh/id_rsa myuser@■■.■■■.■■■.■■
时,我仍然得到:
然后当我跑的时候xsel -b < /etc/php/7.4/cli/php.ini
:
也许是 Windows 上 Git Bash 中的 X 会话?将进一步帮助我。
terminal - Fish shell 函数在使用 $TERM -e 调用时表现不同
我有以下 fish 函数,它传递一个单词列表,fzf
一旦我选择一个,它会从末尾删除换行符并将其发送到剪贴板。
当我直接调用它时,这些函数运行良好,但我想做的是为它创建一个快捷方式。我正在使用$TERM -e fish -c spell_checker
, 打开终端,运行程序,然后立即关闭终端,但由于某种原因,当我调用该命令时,它无法按预期工作。它会打开终端,向我显示带有单词列表的 fzf,但不会将其发送到剪贴板。
关于可能导致这种行为的任何输入?
我尝试了一个简单版本的函数,它只是将一些东西发送到剪贴板,但它似乎也不起作用。我尝试使用终端st、alacritty和xterm,但它们的行为都相同。
svg - 使用 xclip 将 svg 图像复制并粘贴到 libreoffice writer
我习惯于将xclip
png 文件复制/粘贴到 libreoffice writer 中。
我使用的命令是:
现在,我想复制/粘贴 svg 图像,但我不知道什么是合适的“目标”选项。
我尝试了许多不同的 -t 参数,例如:
它几乎可以使用以下命令,但图像以光栅格式而不是 svg 格式粘贴:
我可以使用 ctrl+c/ctrl+v 将 svg 文件复制/粘贴到 libreoffice 写入,但我想通过命令行进行,最好使用xclip
. 有没有办法做到这一点?任何帮助表示赞赏。
顺便说一句,我在 Ubuntu 18.04 上,我使用的是 xclip 0.12 版。
bash - 在 Bash Shell(或更好的方法)中以编程方式执行剪贴板内容
我目前正在编写一个 bash 脚本,它将使用 webhook 将当前时间戳和系统的 IP(运行 Ubuntu 18.04 LTS)发送到 Slack 通道,如下所示:
这意味着在允许可变时间戳和 IP 的同时复制以下工作命令:curl -X POST -H 'Content-type: application/json' --data '{"text":"Tue Jul 14 15:26:50 EDT 2020 IP: XX.X.X.XX"}' https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
这会返回一连串错误(此帖子的 IP 主机名已手动更改为 X):
我能够确定替换"${command[@]}"
为echo "${command[@]}" | xclip -selection clipboard"
然后手动将其粘贴到终端(右键单击-> 粘贴)效果很好。不幸的是,我第一个使用的想法xclip -selection clipboard -o
似乎只是以相同的方式返回字符串echo "${command[@]}"
。
有没有办法以编程方式将剪贴板内容作为命令粘贴到 shell 中并执行它们,或者甚至可以调整初始"${command[@]}"
调用以执行字符串?如果存在我没有看到的明显更好的方法,请随时告诉我。
如果这对那些看到它的人来说是微不足道的,我提前道歉,但我对 Linux 系统和 bash 脚本都非常陌生。任何帮助将不胜感激。
python-3.x - xclip 和 xsel - FileNotFoundError: [Errno 2]
我有 kivy 1.10.1,python 3.8.2,我在 Ubuntu20.04 上编码。当我启动我的小程序时,我收到此错误:
请问我该如何解决?
python - xclip 没有从 pexpect 获取标准输入,或者 pexpect 没有发送?
这个
应该将字符串复制lol
到我的剪贴板中,以便我将它粘贴到Ctrl+周围v。
但是,相反,我得到了echo -n '' | xclip -selection clipboard
将空文件作为 STDIN 传递到xclip
.
为什么?
更新
这将打印lollxl
而不是仅打印lxl
:
linux - Docker 容器 - 使用 xclip 提取文本
我xclip
在 docker 容器中遇到了相关问题。
这引发了错误:Error: Can't open display: (null)
.
如何以编程方式将一些文本从容器中添加到主机的剪贴板(如果可能,以独立于操作系统的方式)?
先感谢您。
更新
DISPLAY
未设置环境变量。如何正确设置?